Статьи

Выпущен JBoss AS 7.1.0. Вышел финал «Гром» — сертифицирован полный профиль Java EE 6!

После почти года разработки на JBoss AS7 мы выпустили 7.1.0. Финал «Гром» ! Скачать можно в обычном месте здесь . Это действительно большое достижение для команды JBoss AS7, и мы очень гордимся этим релизом.

Этот выпуск содержит многочисленные исправления ошибок из 7.1.0.CR1b, который был выпущен несколько месяцев назад. Но самой большой новостью об этом выпуске является то, что JBoss AS 7.1.0.Final сертифицирован Java EE 6 Full Profile ! Я уверен, что многие наши пользователи будут очень довольны этой новостью. AS 7.0.x был сертифицирован как Web Profile, но я видел на форумах, что многие из вас ждали, когда пройдет сертификация Full Profile. Так что вот очень хорошая причина начать использовать JBoss AS7, если вы еще этого не сделали.

Помимо сертификации Full Profile, AS 7.1.0.Final содержит множество исправлений ошибок и других исправленных проблем JIRA. Полные примечания к выпуску можно найти здесь .

Как и в некоторых моих предыдущих постах о выпуске AS7, в этом посте я расскажу хотя бы об одной новой функции этого релиза. Многие из вас знают, что JBoss AS7 сильно отличается от предыдущих версий JBoss AS, по разным причинам. Одно существенное отличие состоит в том, что у нас больше нет многочисленных файлов XML в дистрибутиве, которые настраивают различные сервисы. Вместо этого у нас есть * один * единственный файл конфигурации, который управляет всем сервером. Кроме того, в отличие от предыдущих версий JBoss AS, JBoss AS7 (до 7.1.0.Final) не позволял * развертывать * файлы XML для настройки источников данных и очередей JMS. Однако члены сообщества неоднократно запрашивали эту функцию, и JBoss AS 7.1.0.Final теперь позволяет развертывать источники данных и JMS-очереди через специфичные для приложения XML-файлы (в дополнение к их централизованной настройке в файле конфигурации домена / отдельного файла). Итак, давайте кратко рассмотрим, как это делается в 7.1.0.Final.

Развертывание источника данных через файлы -ds.xml в JBoss AS 7.1.0.

Ожидается, что файл источника данных будет заканчиваться суффиксом -ds.xml, как и в предыдущих выпусках JBoss AS. Вы можете поместить файл * -ds.xml в папку JBOSS_HOME / standalone / deployments или даже упаковать его в приложение в папке META-INF приложения. Если это приложение .war, то ожидается, что * -ds.xml будет находиться прямо в папке WEB-INF .war.

Ожидается, что * -ds.xml будет соответствовать xsd jboss-as-datasources, который выглядит следующим образом (этот xsd можно найти в папке JBOSS_HOME / docs / schema вашей установки). Таким образом, у вас есть элемент источников данных, в котором вы можете определить несколько элементов источника данных. В этом примере мы попытаемся создать источник данных MySQL и развернуть его как mysql-ds.xml.

Перед созданием источника данных нам сначала нужно установить драйвер базы данных. AS7 позволяет установить драйвер базы данных либо в качестве развертывания, либо в качестве модуля JBoss . Подробнее об этом см. В этой статье . В этом посте мы развернем драйвер как модуль JBoss.

Создать и установить драйвер базы данных

В качестве первого шага нам потребуется файл jar драйвера MySQL. Я скачал jar драйвера с сайта загрузки MySQL здесь . Шаг для создания модуля JBoss для этого драйвера включает в себя создание module.xml, который выглядит так и называется module.xml:

01
02
03
04
05
06
07
08
09
10
<module xmlns="urn:jboss:module:1.1" name="mysql"
    
   <resources
     <resource-root path="mysql-connector-java-5.1.18-bin.jar"/> 
   </resources
   <dependencies
     <module name="javax.api"/> 
     <module name="javax.transaction.api"/> 
   </dependencies
 </module

Мы помещаем mysql-connector-java-5.1.18-bin.jar и этот файл module.xml в папку JBOSS_HOME / modules / mysql / main (вам нужно создать папку mysql / main). Это завершает создание модуля JBoss для драйвера MySQL. Теперь давайте установим этот драйвер, чтобы он регистрировался в автономных / доменных конфигурациях. В этом примере мы будем использовать автономный сервер. Итак, давайте запустим сервер, используя:

1
./standalone.sh 

Как только сервер будет запущен, давайте откроем утилиту интерфейса командной строки (CLI), которая поставляется в AS7. Сценарий запуска CLI находится в папке JBOSS_HOME / bin и может быть запущен следующим образом (более подробную информацию о CLI можно найти здесь )

1
./jboss-cli.sh --connect 

После успешного подключения мы добавим jdbc-драйвер с помощью следующей команды:

1
/subsystem=datasources/jdbc-driver=mysql-5-driver:add(driver-name=mysql-5-driver, driver-class-name=com.mysql.jdbc.Driver, driver-module-name=mysql) 

Поэтому здесь мы называем драйвер «mysql-5-driver» (вы можете назвать его как угодно). Driver-module-name указывает на «mysql» модуль JBoss, который мы создали на предыдущем шаге. Driver-class-name — это полное имя класса драйвера MySQL. В данном случае это com.mysql.jdbc.Driver.

Успешное выполнение этой команды покажет вывод как успешный:

1
2
[standalone@localhost:9999 /] /subsystem=datasources/jdbc-driver=mysql-5-driver:add(driver-name=mysql-5-driver, driver-class-name=com.mysql.jdbc.Driver, driver-module-name=mysql) 
 {"outcome" => "success"

Установка будет сохранена в файле конфигурации, который использовался для запуска сервера. В данном случае это standalone.xml, и вот так он выглядит после установки драйвера:

01
02
03
04
05
06
07
08
09
10
<subsystem xmlns="urn:jboss:domain:datasources:1.0"
      ... 
           <drivers
                ... 
                <driver name="mysql-5-driver" module="mysql"
                     <driver-class>com.mysql.jdbc.Driver</driver-class
                </driver
           </drivers
      </datasources
 </subsystem

Теперь мы закончили установку драйвера. Теперь давайте перейдем к созданию файла mysql-ds.xml.

Создайте файл mysql-ds.xml

Как упоминалось ранее, mysql-ds.xml должен следовать за jboss-as-datasources xsd . Вот как выглядит файл в нашем случае:

01
02
03
04
05
06
07
08
09
10
11
12
<?xml version="1.0" encoding="UTF-8"?> 
 <datasources
   <datasource jndi-name="java:jboss/datasources/MySQLDS" enabled="true" use-java-context="true" 
         pool-name="MySQLDS"
     <connection-url>jdbc:mysql://localhost:3306/test</connection-url
     <driver>mysql-5-driver</driver
     <security
       <user-name>foo</user-name
       <password>bar</password
     </security
   </datasource
 </datasources

Давайте посмотрим, что содержит этот XML-файл. «Jndi-name» — это имя, к которому будет привязан источник данных (вы можете использовать любое имя по вашему выбору. В идеале было бы хорошо связать их в java: jboss / datasources / namespace). «Enabled = true» указывает, что источник данных должен быть включен после развертывания. Атрибут «use-java-context» используется для указания того, что имя JNDI должно быть связано с пространством имен java :. «URL-адрес соединения» — это URL-адрес, который будет использоваться для подключения к базе данных MySQL (см. Документацию MySQL для получения более подробной информации о URL-адресе соединения). Элемент «driver» указывает на установленный драйвер JDBC, который мы создали на предыдущем шаге. В нашем примере мы назвали его mysql-5-driver, и это то, что мы используем здесь. Наконец, раздел «безопасность» содержит информацию об имени пользователя и пароле для подключения к базе данных. Убедитесь, что вы используете соответствующие значения для всех этих конфигураций.

Итак, теперь давайте поместим этот mysql-ds.xml в папку JBOSS_HOME / standalone / deployments и увидим, как JBoss AS7 выполняет горячее развертывание (если сервер уже запущен). В журналах будет показано следующее при успешном развертывании:

1
2
14:05:55,829 INFO [org.jboss.as.server.deployment] (MSC service thread 1-3) JBAS015876: Starting deployment of "mysql-ds.xml" 
 14:05:55,847 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-2) JBAS010400: Bound data source [jboss/datasources/MySQLDS

Ну это все! Мы успешно развернули источник данных MySQL через файл -ds.xml в 7.1.0.Final!

Поэтому загрузите эту новую версию и начните развертывать свои приложения и начните использовать эти функции. В следующих выпусках мы будем больше рассказывать о возможностях этого релиза (после того, как разработчики AS7 получат столь необходимый сон :)). Так что следите за блогами jboss.org . Если у вас возникнут какие-либо проблемы с AS7, не стесняйтесь посетить наш пользовательский форум и обратиться за помощью.

Справка: JBoss AS 7.1.0. Вышел финал «Гром» — сертифицирован полный профиль Java EE 6! от нашего партнера JCG