Posted on 2010-11-27 16:58
alex_zheng 阅读(1252)
评论(0) 编辑 收藏 所属分类:
java
主要记录下jboss5下配置mysql。
1.将mysql的JDBC驱动放到的JBOSS_HOME\server\default\lib 下
2.把JBOSS_HOME\docs\examples\jca\mysql-ds.xml复制到JBOSS_HOME\server\default\deploy目录下。修改mysql- ds.xml文件
<local-tx-datasource>
<jndi-name>mysql</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>alex</user-name>
<password>alex</password>
<use-java-context>false</use-java-context>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
<!--pooling parameters-->
<min-pool-size>5</min-pool-size>
<max-pool-size>100</max-pool-size>
<blocking-timeout-millis>5000</blocking-timeout-millis>
<idle-timeout-minutes>15</idle-timeout-minutes>
<set-tx-query-timeout/>
<query-timeout>60</query-timeout> <!-- maximum of 1 minutes for queries -->
<!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
<metadata>
<type-mapping>mySQL</type-mapping>
</metadata>
3.spring配置文件中
<!--在mysql-ds.xml中设置use-java-context为false后,注意没有前缀java:-->
<jee:jndi-lookup id="dataSource" jndi-name="mysql" />
<bean id="txManager"
class="org.springframework.transaction.jta.JtaTransactionManager">
<!--手动注入,否则会报transactionmanager not bound-->
<property name="transactionManagerName" value="java:/TransactionManager"/>
</bean>
至此,spring3使用jboss的jta事务管理已经配置完毕。
遗留问题:
如果使用默认设置use-java-context为true,然后使用jndi name为java:mysql,提示mysql not bound,很奇怪,在jboss启动的时候可以看到将mysql绑定
到命名空间java:mysql