myeclipse+jboss+mysql的DataSource配置

因爲自己在做J2EE項目時遇到這方面的問題,所以將自己的配置過程與大家分享,希望給大家帶來好處。

版本:

jboss-4.2.2 GA

myeclipse-6.0

mysql-5.0 圖形界面前端SQLyog.

一、我們在mysql裏面建立一個我們自己的數據庫,並在裏面建立幾張我們需要的表格。爲了方便數據庫操作,我使用了SQLyog數據庫圖形前端。我們建立的數據庫名爲j2ee.用戶名爲root,密碼爲123.其中有一張表格student.

myeclipse+jboss+mysql的DataSource配置

我們己經在student表格裏面插入了三行數據。

二、我們在myeclipse裏面添加jboss服務器,

myeclipse+jboss+mysql的DataSource配置

只需要將Jboss home directory設置到JBOSS主文件夾下就行了。

三、下載JDBC

下載mysql-connector-java-3.1.12-bin.jar(有許多種版本,都可以),並將它複製到%jboss_home%/server/default/lib文件夾下。

四、配置數據源

將%JBOSS_home%/docs/examples/jca/文件夾中的mysql-ds.xml複製到%JBOSS_HOME%/server/default/deploy/文件夾中,並修改至如下:


<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>DefaultMySqlDS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/J2EE</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root</user-name>
<password>123</password>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter
</exception-sorter-class-name>
<metadata>
<type-mapping>mySQL</type-mapping>
</metadata>
</local-tx-datasource>
</datasources> 

上面紅色標出的地方就是需要修改的地方。

MySqlDS這裏面放的是這個數據源在JNDI裏面的名字。以後有的操作都是通過JNDI裏的這個名字找到這個數據庫。我在這裏將他改爲DefaultMySqlDS.

jdbc:mysql://mysql-hostname:3306/jbossdb紅色地方是放數據庫的名字,所以我們應該將jbossdb改爲j2ee。

jdbc:mysql://mysql-hostname:3306/j2ee

x用戶名
y密碼

改爲

root
123
保存後退出,再打開%JBOSS_HOME%/server/default/conf/文件夾中的login-config.xml文件進行修改。

找到這一部分修改成下面的樣子:

 <!--MySQL Data-Source Settings-->
    <application-policy name = "MySqlDbRealm">
                <authentication>
                <login-module code =
                "org.jboss.resource.security.ConfiguredIdentityLoginModule"
                flag = "required">
                <module-option name="dsJndiName">DefaultMySqlDS</module-option>
                <module-option name ="principal">DefaultMySqlDS</module-option>
                <module-option name ="userName">root</module-option>
                <module-option name ="password">123</module-option>
                <module-option name ="managedConnectionFactoryName">
                jboss.jca:service=LocalTxCM,name=MySqlDS
                </module-option>
                </login-module>
                </authentication>
        </application-policy>
 

沒有的可以自己添加。沒什麼關係。保存後退出。

再打開%JBOSS_HOME%/server/default/conf/文件夾中的standardjbosscmp-jdbc.xml

將最開始的部分做些修改。

 <defaults>
      <datasource>java:/DefaultMySqlDS</datasource>
      <!-- optional since 4.0 <datasource-mapping>Hypersonic SQL</datasource-mapping> -->
 

重新啓動JBOSS,我們就可以在JNDI裏面看到數據源了。下面我們就可以直接調用了。

查看JNDI的步驟:

JMX-console---->service=JNDIView -->

List of MBean operations:

java.lang.String list()

Output JNDI info as text

點擊invoke().

可以看到下面這部分:

java: Namespace

 +- XAConnectionFactory (class: org.jboss.mq.SpyXAConnectionFactory) +- DefaultDS (class: org.jboss.resource.adapter.jdbc.WrapperDataSource) +- SecurityProxyFactory (class: org.jboss.security.SubjectSecurityProxyFactory) +- DefaultMySqlDS (class: org.jboss.resource.adapter.jdbc.WrapperDataSource) +- DefaultJMSProvider (class: org.jboss.jms.jndi.JNDIProviderAdapter) +- comp (class: javax.naming.Context) +- JmsXA (class: org.jboss.resource.adapter.jms.JmsConnectionFactoryImpl) +- ConnectionFactory (class: org.jboss.mq.SpyConnectionFactory)

說明我們配置成功了,以後我們想要調用這樣數據源直接查找java:/DefaultMySqlDS就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章