В этом разделе описываются опции, которые вы можете установить в JAWS. Стандартные значения этих установок хранятся в файле standardjaws.xml:
create-table: этa опция сообщает JAWS должен ли он попробовать создать таблицу для ваших бинов во время развертывания (at deployment time). Этот параметр в стандартном положении включен. Если таблица уже существует, JAWS сообщит Вам об этом и продолжит свою работу.
remove-table: этот параметр сообщает JAWS должен ли он удалить (drop) таблицу Вашего бина во время "свертывания" [at undeployment time]. Этот параметр в стандартном положении выключен. Возможно Вам понадобится его включить если Вы захотите очистить базу данных. Имейте в виду, что если Вы измените CMP-поле бина, Вам наверное будет нужно удалить таблицу и создать ее заново, так как схема изменится (Прим.пер.: схема - логическая структура базы данных, в данном случае таблицы ).
tuned-updates: если эта опция включена (стандартно она выключена) JAWS изменит в базе данных лишь те поля Вашего бина, которые были на самом деле изменены.
read-only: определяет должен ли JAWS позволять клиенту изменять состояние Ваших бинов. Стандартное положение false. Если опция определена как true, JAWS не будет производить INSERT/UPDATE.
time-out: эта опция используется лишь в том случае, если параметр read-only определен как true. В этом случае JAWS не будет обновлять состояние Ваших бинов из базы данных чаще чем один раз за каждые “time-out” миллисекунд.
select-for-update: если этот параметр включен, JAWS будет производить SQL "SELECT ... FOR UPDATE" при загрузке entity бина блокируя ряд в хранилище данных [creating a row lock in the datastore]. Это очень практично для синхронизации разных экземпляров JBoss работающих с одним и тем же хранилищем данных [datastore]. Стандартным значением параметра select-for-update является false, и также false если бин доступен только для чтения.
debug: если эта опция включена (стандартно она выключена), JAWS протоколирует все SQL запросы на отладочном уровне. Это может пригодиться при отладке конфигурации CMP и проблемах с производительностью базы данных.
pk-constraint: если этот параметр включен (стандартно он выключен) JAWS будет создавать ограничение для всех полей первичного ключа : CREATE TABLE xxx (pk INTEGER,a VARCHAR(256),b VARCHAR(256),CONSTRAINT pkxxx PRIMARY KEY (pk)))
Каждый из этих параметров настройки может быть установлен либо в общем смысле (в этом случае это затронет JAWS всего Вашего приложения ), либо для каждого бина, либо и для того и другого. JAWS всегда сначала будет считывать Ваши стандартные настройки из standardjaws.xml, затем переопределять те из них которые будут определены в jaws.xml, и в заключение переопределять те, которые будут внесены в специфическую конфигурацию каждого бина.
Общие настройки : для того чтобы определить параметр в общем смысле, Вы должны декларировать его в тэге <default-entity> в файле jaws.xml. Вот часть кода из standardjaws.xml, возможно Вам захочется изменить кое-что (или все) в нем :
<jaws> <default-entity> <create-table>true</create-table> <remove-table>false</remove-table> <tuned-updates>false</tuned-updates> <read-only>false</read-only> <time-out>300</time-out> <select-for-update>false</select-for-update> </default-entity> ... <jaws>
Настройки для бина: для того что бы определить настройки отдельного бина, сделайте это в соответствующем <entity> разделе. Например если Вы хотите удалить при помощи JAWS таблицу только Вашего бина ClassBean, Ваш xml файл должен содержать примерно следующее:
<jaws> ... <enterprise-beans> <entity> <ejb-name>ClassBean</ejb-name> <remove-table>true</remove-table> </entity> </enterprise-beans> ... <jaws>
Обратите внимание на то, что тэг <ejb-name> должен соответствовать декларированному в файле ejb-jar.xml.
Наши друзья |