Posted on 2010-11-27 16:58
alex_zheng 閱讀(1256)
評論(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