這個版本包含了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現在允許通過應用程序特定的XML文件部署數據源和JMS隊列(除了在域/獨立配置文件中進行集中配置外)。 因此,讓我們快速看一下7.1.0.Final中的完成情況。
通過JBoss AS 7.1.0.Final中的-ds.xml文件部署數據源
像以前的JBoss AS發行版一樣,數據源文件應以-ds.xml后綴結尾。 您可以將* -ds.xml文件放在JBOSS_HOME / standalone / deployments文件夾中,甚至將其打包在應用程序的META-INF文件夾下。 如果它是.war應用程序,則* -ds.xml應該位于.war的WEB-INF文件夾下。
在* -ds.xml有望跟隨的jboss-AS-數據源XSD看起來像這樣 (你可以找到此XSD在JBOSS_HOME /文檔/模式安裝的文件夾太)。 因此,您有一個datasources元素,可以在其下定義多個數據源元素。 在此示例中,我們將嘗試創建一個MySQL數據源并將其部署為mysql-ds.xml。
在創建數據源之前,我們首先必須安裝數據庫驅動程序。 AS7允許您將數據庫驅動程序安裝為部署或JBoss模塊 。 有關此的更多詳細信息,請參見本文 。 在本文中,我們將驅動程序部署為JBoss模塊。
創建并安裝數據庫驅動程序
第一步,我們需要MySQL驅動程序jar文件。 我從此處的MySQL下載站點下載了驅動程序jar。 為此驅動程序創建JBoss模塊的步驟包括創建一個看起來像這樣的module.xml并命名為module.xml:
<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文件夾)。 這樣就完成了MySQL驅動程序的JBoss模塊創建。 現在,我們安裝該驅動程序,以便在獨立/域配置中注冊該驅動程序。 在此示例中,我們將使用獨立服務器。 因此,讓我們使用以下命令啟動服務器:
./standalone.sh
服務器啟動后,讓我們打開AS7附帶的命令行界面(CLI)實用程序。 CLI啟動腳本位于JBOSS_HOME / bin文件夾中,可以按以下方式啟動(有關CLI的更多詳細信息,請參見此處 )。
./jboss-cli.sh --connect
成功連接后,我們將使用以下命令添加jdbc-driver:
/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。
成功執行該命令會將輸出顯示為成功:
[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,這是安裝驅動程序后的樣子:
<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 。 在我們的案例中,文件的外觀如下:
<?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 /名稱空間中會很好)。 “ enabled = true”表示應該在部署數據源后啟用它。 “ use-java-context”屬性用于指示JNDI名稱應綁定在java:名稱空間下。 “ connection-url”是用于連接到MySQL數據庫的URL(有關連接URL的更多詳細信息,請參見MySQL文檔)。 “驅動程序”元素指向我們在上一步中創建的已安裝的JDBC驅動程序。 在我們的示例中,我們將其命名為mysql-5-driver,這就是我們在此處使用的名稱。 最后,“安全性”部分包含用于連接數據庫的用戶名和密碼信息。 確保為所有這些配置使用適當的值。
因此,現在讓我們將此mysql-ds.xml放在JBOSS_HOME / standalone / deployments文件夾中,并查看JBoss AS7熱部署它(如果服務器已經在運行)。 成功部署后,日志將顯示以下內容:
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]
就是這樣了! 我們已經通過7.1.0.Final中的-ds.xml文件成功部署了MySQL數據源!
因此,請下載此新版本并開始部署應用程序并開始使用這些功能。 在接下來的幾天里(在AS7開發人員獲得一些急需的睡眠后:)),我們將在博客中發布有關此版本功能的更多信息。 因此,請關注jboss.org博客 。 如果您遇到AS7的任何問題,請隨時訪問我們的用戶論壇并尋求幫助。
參考: JBoss AS 7.1.0.Final“ Thunder”發布-Java EE 6 Full Profile認證! 來自我們的JCG合作伙伴 ? Jaikiran My Wiki博客上的Jaikiran Pai。
翻譯自: https://www.javacodegeeks.com/2012/02/jboss-as-710final-thunder-released-java.html