发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 大数据 扩展性 并发编程 事件驱动 分布式 SOA

Jboss下使用JTA的疑惑

2004-12-23 13:48
赞助商链接

使用MSSQLserver2000, 配置了XA-datasourc,然后写了个servlet测试事务异常回滚,却发现transaction回滚并没有起作用。是我配置的问题还是使用上哪里有问题?请指教。
-------------------------------------------------
XA-datasource数据源配置:

<datasources>
<xa-datasource>
<jndi-name>MSSQLXADS</jndi-name>
<track-connection-by-tx/>
<isSameRM-override-value>false</isSameRM-override-value>
<xa-datasource-class>com.microsoft.jdbcx.sqlserver.SQLServerDataSource</xa-datasource-class>
<xa-datasource-property name="ServerName">localhost</xa-datasource-property>
<xa-datasource-property name=
"DatabaseName">test</xa-datasource-property>
<xa-datasource-property name=
"SelectMethod">cursor</xa-datasource-property>
<!-- not sure if these should be here-->
<user-name>sa</user-name>
<password>pass</password>

<!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
<metadata>
<type-mapping>MS SQLSERVER2000</type-mapping>
</metadata>
</xa-datasource>

</datasources>


-------------------------------------------------------
测试代码:


Context initCtx = new InitialContext();
Context initCtx2 = new InitialContext();
Object obj=initCtx.lookup("UserTransaction");
DataSource ds=(DataSource)initCtx2.lookup(
"java:/MSSQLXADS");
Connection conn=ds.getConnection();

UserTransaction transaction =(UserTransaction)obj;

try{
transaction.begin();
PreparedStatement pstm= conn.prepareStatement(
"insert into dstest values (?)");
pstm.setString(1,
"mssqlxads");
pstm.executeUpdate();
int i=0/0;
// raise a runtimeExc here!
pstm.setString(1,
"mssqlxads2");
pstm.executeUpdate();
transaction.commit();
}catch(Exception e){

System.out.println(
" Exception! rollbacking! ");

try{
transaction.rollback();

}catch(SystemException se){
se.printStackTrace();
}
throw new Exception(
"事务回滚:" + e.getMessage());
}

2004-12-27 15:50

需要参考JBoss关于MSSQLserver配置说明,google搜索一下

2004-12-29 23:13

问题解决了,不是数据源配置的问题,而是需要把连接的建立放在事务开始以后jta才可以管理这个连接:)

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com