JTA的配置问题

06-04-11 zj
我准备在Spring+Jboss配置两个数据源的全局事务操作,做了如下尝试(配置了一个数据源后测试就出现了问题):

配置了一个mysql的XA数据源(mysql的版本是5.0):

<?xml version="1.0" encoding="UTF-8"?>
<datasources>
  <xa-datasource>
    <jndi-name>MySqlXADS</jndi-name>
    <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
    <xa-datasource-property name="Url">jdbc:mysql://127.0.0.1:3306/testdb</xa-datasource-property>
    <xa-datasource-property name="User">root</xa-datasource-property>
    <xa-datasource-property name="Password">root</xa-datasource-property>
  <user-name>root</user-name>
    <password>root</password>
  <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
    <metadata>
       <type-mapping>mySQL</type-mapping>
    </metadata>
  </xa-datasource>
</datasources>
<p>

然后在Spring的配置文件加入:

<bean id="dataSourceForMysql" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName">
      <value>java:/MySqlXADS</value>
    </property>
</bean>
<p>

结果在初始化Spring的时候报以下错误:

Error creating bean with name 'dataSourceForMysql' defined in file [E:\jboss-4.0.4RC1\server\default\deploy\zjtest.war\WEB-INF\classes\spring-jta.xml]: Initialization of bean failed; nested exception is javax.naming.NameNotFoundException: MySqlXADS not bound
<p>

在Jboss启动的时候就已经有:

<p>[ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=MySqlXADS' to JNDI name 'java:MySqlXADS'
<p>

说明已经绑定住了呀,怎么又提示没有绑定呢,我的mysql的服务也一直都是开着的,刚开始是可以访问的,但后来不知为何就不行了,不知道大家有没有类似的经历?

请大家帮帮我出现这种情况可能的原因是什么? 还有就是能不能大概的说一下或者用简单的代码描述一下配置一个JTA的流程,我被这个问题迷惑很久了,谢谢!!

猜你喜欢