我准备在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的流程,我被这个问题迷惑很久了,谢谢!!