配置了一个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>
然后在Spring的配置文件加入:
<bean id="dataSourceForMysql" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:/MySqlXADS</value>
</property>
</bean>
结果在初始化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
在Jboss启动的时候就已经有:
[ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=MySqlXADS' to JNDI name 'java:MySqlXADS'
说明已经绑定住了呀,怎么又提示没有绑定呢,我的mysql的服务也一直都是开着的,刚开始是可以访问的,但后来不知为何就不行了,不知道大家有没有类似的经历?
其实我就是想用jboss+spring来配置两个数据源,然后在一个全局事务里进行一个原子操作,里面有些细节不是太清楚,如果有谁知道怎么做请帮帮我.谢谢!