Конфигурация по умолчанию для JBoss расположена в директории conf/default.
JBoss позволяет администратору настроить более одного настроечного набора. Всё, что нужно для этого сделать - скопировать все файлы из директории default в новую поддиректорию в директории conf.
Для примера, вы можете создать новую конфигурацию "myjboss" создав директорию myjboss и скопировав все файлы из директории conf/default в директорию conf/myjboss. После возможных правок в новых настроечных файлах, вы можете запустить JBoss с новой конфигурацией, выполнив платформо-независимый скрипт и передав название конфигурации в качестве параметра:
run.bat myjboss
В JBoss есть несколько конфигурационных файлов. Описание для каждого дано ниже:
Этот файл в формате Java Properties, который загружается в системные настройки (System properties) при запуске JBoss. Системные свойства (System properties), которые нужны только для запуска сервера могут быть указаны здесь.
Конфигурационный файл jboss.conf обычно содержит только те сервисные MBeans, которые необходимы для запуска JBoss, такие как расширитель classpath, показанный на Рисунке 2.2, служба логирования, служба конфигураций, управление сервисами и т.д.
Рисунок 2.2. Отрывок из файла jboss.conf
<MLET CODE="org.jboss.util.ClassPathExtension" ARCHIVE="jboss.jar" CODEBASE="../../lib/ext/"> <ARG TYPE="java.lang.String" VALUE="../../log/"> </MLET>Этот файл загружается экземпляром класса javax.management.loading.MLet и написан в соответствии со стандартным синтаксом MLet для JMX MBeans (обратитесь к спецификации JMX для получения более полной информации). Любой стандартный JMX MBean может быть помещен в файл jboss.conf, конечно если он не зависит от других сервисов JBoss таких как сервис имен (naming). MBean которые зависят от сервисных MBeans должны быть сконфигурированы в файле jboss.jcml, так что порядком их загрузки можно управлять.
Обычно, вы никогда не будете изменять этот файл.
Этот файл содержит все JMX service MBeans, которые должны быть включены в рабочий экземпляр JBoss. Заметьте, что в отличии от MLet-синтакса, этот файл - хорошо оформленный (well formed) XML.
Необходимость отклонения от MLet-синтаксиса основана на том, что MLet не позволяет применять именованые параметры, только пары ТИП-ЗНАЧЕНИЕ (TYPE-VALUE). Такой порядок легко приводит к проблемам неправильного определения параметров MBean.
Синтакс файла jboss.jcml позволяет использовать именованные параметры в директивах для MBean и он гораздо проще в использовании. Для примера, Рисунок 2.3 показывает элемент MBean использованный для создания и включения в JBoss сервиса MailService.
Рисунок 2.3. Отрывок из файла jboss.jcml
<mbean code="org.jboss.mail.MailService" name="DefaultDomain:service=Mail"> <attribute name="JNDIName">Mail</attribute> <attribute name="ConfigurationFile">mail.properties</attribute> <attribute name="User">user_id</attribute> <attribute name="Password">password</attribute> </mbean>
Вкратце:
Атрибут code элемента MBean определяет какой класс загружать.
Атрибут name элемента MBean определяет уникальное имя для MBean в определенном JMX-домене.
Дочерние атрибуты элемента MBean определяют связанные атрибуты для экземпляра MBean. Значениями атрибутов могут быть любые примитивы Java или String-объекты.
Файл jboss.jcml закружен с помощью сервиса org.jboss.configuration.ConfigurationService MBean. Этот сервис больше выступает в роли стандартного класса JMX MLet, который запускает и конфигурирует сервисы MBean. Зависимости между сервисами MBean управляются с помощью org.jboss.util.ServiceControl MBean. ServiceControl MBean слушает JMX-сообщения REGISTRATION_NOTIFICATION и UNREGISTRATION_NOTIFICATION для определения доступных MBean-сервисов. Порядок регистрации определяет порядок инициализации и запуска. ServiceControl ожидает от сервисов MBeans необходимости в управлении зависимостями и соответствует интерфейсу org.jboss.util.Service. Этот интерфейс позволяет упорядоченную инициализацию, запуск, остановку и уничтожение MBean. Последовательность основана на порядке, в котором сервисы MBean определены в файле jboss.jcml. Посмотрите раздел Как интегрировать произвольные сервисы с помощью MBean для более подробного описания процесса создания MBean, который зависит от других MBean.
По причинам упрощения и облегчения конфигурации, менеджер управления зависимостями DependencyManager был упразднён в версии 2.1, так что этот файл больше не используется.
Теперь все MBean-сервисы перечисленные в jboss.jcml имеют вертикальную зависимость от друг-друга. Для примера, провайдер JNDI необходим для сервисов DataSource, потому что DataSource нуждается в сохранении собственной ссылки в JNDI; поэтому MBean провайдера JNDI должен быть указан перед DataSource. Смотрите раздел Как интегрировать произвольные сервисы с помощью MBean для подробностей о механизме зависимостей.
JBoss имеет очень мощную возможность записи снимка всех запущенных MBean, включая их атрибуты, для последующего воспроизводства этого снимка в другом экземпляре JBoss.
Когда снимается такой снимок, он записывается в XML-формате в файле jboss-auto.jcml.
Представьте следующий сценарий:
Администратор запустил экземпляр JBoss, добавил несколько MBean, изменил атрибуты других MBean, сохранил конфигурацию и в конце успешно остановил JBoss.
В следующий раз, когда JBoss будет запущен, все динамически добавленные при предыдущем запуске Mbean будут пересозданы и их атрибуты будут установлены. JBoss также переустановит любые другие измененные атрибуты, независимо от того были MBean добавлены динамически (во время работы) или статически (с помощью jboss.jcml).
Кроме того, у вас есть возможность не делать такие снимки; для того чтобы сделать это просто удалите файл jboss-auto.jcml перед запуском JBoss, в этом случае JBoss не будет записывать никаких изменений, произведенных с MBeans во время работы.
Зависимости между jboss.jcml и jboss-auto.jcml
Если вы используете такие снимки настроек, и вам необходимо удалить MBean перечисленный в jboss.jcml, вам также придется удалить его из файла jboss-auto.jcml, если он там перечислен. Не удаляйте файл jboss-auto.jcml целиком, пока вы не захотите прекратить использовать возможность использования снимков настроек; для удаления всех MBean, создайте функционально пустой файл jboss-auto.jcml, по примеру этого:
<?xml version="1.0" encoding="UTF-8"?> <server> </server>
Следуя спецификации EJB, JBoss предоставляет доступ к почтовым ресурсам(mail resource) с помощью стандартных JavaMail API. Этот файл определяет свойства почтового провайдера, такие как настройки SMTP и POP серверов, и прочие связанные с почтой настройки.
Заметим, что вы можете определить несколько наборов конфигураций создав несколько файлов mail.properties. Все что вам нужно для этого это определить дополнительные сервисы MailService MBean с различными настройками атрибута ConfigurationFile в файле jboss.jcml. Смотрите раздел Использование JavaMail в JBoss для дополнительных сведений.
jnp.properties и jndi.properties
Эти два файла связаны с JNDI. Первый содержит свойства JNP, имплементации JNDI-провайдера в JBoss, второй определяет свойства для клиентов JNDI.
Клиенты JNDI могут читать свойства перечисленные в файле jndi.properties пока он доступен внутри их путей классов (classpath). Это позволяет клиентским программам быть переносимыми, потому что они написаны для работы в произвольной конфигурации. Заметим, что вам придется изменить свойство java.naming.provider.url=localhost если вы используете клиентов на компьютерах отличных от того, на котором запушен сервер JBoss.
Представляет собой стандартный конфигурационный файл для механизма JBoss CMP. Он содержит в себе JNDI-имя источника данных (DataSource), используемого по умолчанию; карту соответствия JDBC Объект-SQL для каждой базы данных, настройки для CMP entity bean используемые по умолчанию, и т.д. Смотрите Главу 4 для дополнительной информации.
Это конфигурационный файл для модуля JAAS login module, поддерживаемого стандартной имлементацией javax.security.auth.login.Configuration. Он содержит пример серверной конфигурации, которая применима при использовании безопасности, основанной на JAAS. Смотрите Главу 7 для дополнителного описания инфраструктуры безопасности JBoss.
Полис безопасности Java2 для сервера JBoss. Сейчас, он установлен в конфигурацию "все открыто", но он не используется, так как сервер JBoss по умолчанию запускается без менеджера безопасности (security manager). Посмотрите Главу 7 для дополнителного описания инфраструктуры безопасности JBoss.
Этот файл предоставляет стандартную конфигурацию контейнера. Использование этого файла отдельно описано в Главе 5.
Наши друзья |