请教大侠们关于:jboss3.0 分布式事务的一个问题
在MBEAN的一个方法里代码如下:
try{
Context jndiContext = null;
UserTransaction utx = null;
jndiContext = new InitialContext();
utx = (UserTransaction)jndiContext.lookup("UserTransaction");
utx.begin();
// 设置数据库连接的自动提交为FALSE
// 执行数据库1操作
// 执行数据库2操作
utx.commit();
}
catch(Exception e){
}
但是数据库的数据没有变化,如果把
utx.commit();
替换为
conn1.commit();
conn2.commit();
则结果正确,但这种方式不能保证事务完整性
在EJB里调用UserTransaction结果是正确的,
只是utx = (UserTransaction)jndiContext.lookup("UserTransaction")需要
替换成:utx = (UserTransaction)jndiContext.lookup("java:comp/UserTransaction")
是不是
MBEAN里或一般JAVA类里不能使用UserTransaction?
请各位大侠提供援助,小弟不胜感激
问题点数:0、回复次数:0Top




