请教!jboss是否支持servlet中的分布式事务?

06-06-21 yourfriendyan
最近用了jboss 4.0.3sp1+jbossTS 4.2做服务器,打算利用jboss的分布式事务管理器,遇到了不小的麻烦。

我用的是struts结构,web容器是jboss自带的tomcat5

数据源配置 szxmgl-xa-ds.xml,szjdcdb-xa-ds.xml是从jboss的jca目录中拷贝修改的,

我用的是informix数据库,JDBC是Type-4

配置的数据源在不使用JTA时没有问题的,用到JTA时程序就会一直运行下去,并且锁表,不过没有报错。具体代码如下,请指点

String ls_sql=null;

Context ctx=null;

UserTransaction ut=null;

Connection conn=null;

Connection conn1=null;

try{

ctx = new InitialContext();

ut=(UserTransaction)ctx.lookup("java:/comp/UserTransaction");

ut.begin();

DataSource ds = (DataSource) ctx.lookup("java:/comp/env/jdbc/szjdcdb");

ls_sql=" update y_user set username='yzs' where usercode='001'";

conn=ds.getConnection();

Statement stmt=conn.createStatement();

stmt.execute(ls_sql);

stmt.close();

DataSource ds1 = (DataSource) ctx.lookup("java:/comp/env/jdbc/szxmgl");

ls_sql=" update y_user set username='yzs' where usercode='001'";

conn1=ds.getConnection();

Statement stmt1=conn.createStatement();

stmt1.execute(ls_sql);

stmt1.close();

request.setAttribute("sql","ok");

ut.commit();

}catch(Exception e){

ut.rollback();

request.setAttribute("error",e.toString());

request.setAttribute("sql",ls_sql);

return mapping.findForward("failed");

}finally{

conn.close();

conn1.close();

}

yourfriendyan
2006-06-22 11:43
请高手指点,已经搞了一个月,还没有头绪,着急呀。

我又用jboss4.0.4试了一下,还是不行

难道servlet中的分布式事务还有别的要配置的?

谢谢!

猜你喜欢