JOTM初接触- -
创建一个Jotm对象,用这个对象就可以创建UserTransaction和TransactionManager。然后把UserTransaction加到JNDI树上,于是所有应用程序都可以访问到同一个事务。
Jotm jotm = new Jotm(true, false);
InitialContext ictx = new InitialContext();
ictx.rebind(USER_TRANSACTION_JNDI_NAME, jotm.getUserTransaction());
数据源要用XADataSource,这是可以用外接事务管理器来管理分布式事务的数据源对象。把JOTM的事务管理器接上去:
StandardXADataSource xads = new StandardXADataSource();
xads.setDriverName(props.getProperty("driver"));
xads.setUrl(props.getProperty("url"));
xads.setTransactionManager(jotm.getTransactionManager());
XAConnection xaconn = xads.getXAConnection(login, password);
return xaconn.getConnection();
需要用事务管理的客户代码就从JNDI树上取到UserTransaction来用,还是满简单的:
UserTransaction utc = (UserTransaction)ictx.lookup(USER_TRANSACTION_JNDI_NAME);
utc.begin();
...
utc.commit();
写了一天文档,差点被郁闷死。什么TMD可行性分析报告,纯粹扯淡蒙事。还是写写程序比较舒服。