您的位置:首页 > 其它

JTA 四(JMS)

2016-04-14 00:00 239 查看
摘要: JTA 四(JMS)

下面将对另一个常见的XA资源进行代码示例(使用的activemq5.7)

1) 下载activemq并启动服务。

2)创建Connection,Queue,Session,Destination,Message

public static void main(String[] args) throws Exception {

try{
String user="system";
String password="manager";
String url="tcp://localhost:61616";

ActiveMQXAConnectionFactory connectionFactory = new ActiveMQXAConnectionFactory(user,password,url);//创建connectionfactory
XAConnection xaConnection = connectionFactory.createXAConnection();//创建connection
XASession xaSession=xaConnection.createXASession();//创建session
XAResource xaResource=xaSession.getXAResource();//获得与session相关的XAResource

Destination destination=xaSession.createQueue("TestQueue");//创建一个Queue
MessageProducer producer=xaSession.createProducer(destination);//创建一个Destination

Jotm jotm=new Jotm(true,false);
TransactionManager transactionManager=jotm.getTransactionManager();

transactionManager.begin();//事务开始
Transaction transaction=transactionManager.getTransaction();
transaction.enlistResource(xaResource);//将相关的XAResource纳入事务的管理列表
TextMessage textMessage=xaSession.createTextMessage();//创建TextMessage
textMessage.setText(String.valueOf(System.currentTimeMillis()));//设置消息内容(偷懒,将当前时间转为字符串,做为消息内容了)
producer.send(textMessage);//发送消息

try{
transaction.commit();//事务提交
}catch(Exception e){

transaction.rollback();//事务rollback

}
jotm.stop();
}finally{
System.exit(0);
}

}

以上就是jms的JTA操作,当然了,前提是要实现了xa接口
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: