Java

       

Небольшое отступление...


Мне кажется не все знают, что JBoss "умеет" запускаться с "разными конфигурациями". Создание конфигурации в JBoss означает, что в каждой конфигурации, можно выполнить настройки так, чтобы загружать разное количество сервисов. Какими-то сервисами вы иногда наверняка не пользуетесь, например JMS, и поэтому можете исключить определенные сервисы из запуска в определенной конфигурации.

Например, в каталоге JBoss после его установки, по умолчанию имеются 3 конфигурации сервера:

...\jboss\server\all\ ...\jboss\server\default\ ...\jboss\server\minimal\

Если вы запускаете сервер простым стартом файла ...\jboss\bin\run.bat , то запускается "default" конфигурация. Но кроме этого всегда есть возможность создать, например на ее основе, СВОЮ конфигурацию и запускать ее "отдельным номером".

Я обычно предпочитаю взять "default" конфигурацию и скопировать все ее содержимое со всеми подкаталогами в "новую конфигурацию", с которой потом и работаю, ну например так:

...\jboss\server\my_configuration\...

При "обычном" запуске JBoss сервера с помощью "стандартного батника" ...\jboss\bin\run.bat , по умолчанию запускается "default" конфигурация, а чтобы запустить "свою конфигурацию", достаточно в этом же каталоге написать любой другой my_configation.bat файл, который содержит единственную строку запуска с параметром:

run.bat -c=my_configuration

или в последних версиях через пробел

run.bat -c my_configuration

где в "run.bat" передается дополнительный параметр -C со значением равным "названию конфигурации" =my_configuration , что приведет к запуску JBoss-а с указанной вами конфигурацией. Вот так все просто...

Продолжим дальше с настройкой пула. ...\jboss\docs\examples\jca\ - содержит образцы файлов "пула соединений" для всех самых распространенных СУБД. Для меня это был - firebird-service.xml (или firebird-ds.xml, для более свежих версии JBoss). По причине того, что файлы "пула соединений" от версии к версии JBoss-а немного отличаются, то я опишу только "ключевые" параметры, которые необходимо отредактировать.


Для версий JBoss 3.0.x firebird-service.xm обычно выглядит так:

....... <mbean code = "org.jboss.resource.connectionmanager.
RARDeployment" name = "jboss.jca:service=XaTxDS,name=FirebirdDS" > ................. <depends optional-attribute-name="
ManagedConnectionFactoryName"> <mbean code="org.jboss.resource.connectionmanager.
RARDeployment" name="jboss.jca:service=XaTxDS,name=
FirebirdDS" > .............. <config-property> <config-property-
name>Database</config-property-name> <config-property-type>java.lang.String<
/config-property-type> <config-property-value>localhost/3050:С:/DataBase/test.gdb</
config-property-value> </config-property> <config-property> <config-property-name>UserName<
/config-property-name> <config-property-type>java.lang.String<
/config-property-type> <config-property-value>sysdba<
/config-property-value> </config-property> <config-property> <config-property-name>Password<
/config-property-name> <config-property-type>java.lang.String<
/config-property-type> <config-property-value>masterkey<
/config-property-value> <config-property> <config-property-name>Encoding<
/config-property-name> <config-property-type>java.lang.String<
/config-property-type> <config-property-value>WIN1251<
/config-property-value>................

FirebirdDS - это JNDI имя вашего пула, это то как оно будет "привязываться" (binding - байндиться) в JNDI (Java Naming Directory Interface) сервера, и под каким именем (в виде - java:/FirebirdDS) вы его будете искать внутри кода. Во всех местах XML файла крайне желательно иметь это имя ОДИНАКОВЫМ, чтобы избежать лишних проблем. Лично я предпочитаю переименовать его с указанием "подветки", например так: jdbc/FirebirdDS (или по другому ), тогда java-код его поиска в JNDI будет осуществляться по имени - java:/jdbc/FirebirdDS. Почему пул соединений помещен "в подветку" с именем jdbc - объяснять не буду.


Содержание раздела