JTA 四(JMS)
JTA 四(JMS)
独行侠 发表于2年前
JTA 四(JMS)
  • 发表于 2年前
  • 阅读 5
  • 收藏 1
  • 点赞 1
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

摘要: 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接口


共有 人打赏支持
粉丝 1
博文 19
码字总数 9797
×
独行侠
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: