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接口
下面将对另一个常见的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接口
相关文章推荐
- JTA 五(XADisk java io Transaction 文件读写操作事务)
- linux安装redis
- Java HTML文档模版 字符串表达式
- Java 线程
- Java Junit
- Java Junit
- SQL 连接
- zabbix 3.0部署JMX监控方法
- 泛型(一)
- nodejs中下载文件回调问题
- 十个python程序小技巧
- redis与spring的集成(七)
- baidu实习日志(入职篇)
- 2016年4月13日
- 20135302魏静静——课本第4章学习笔记
- android checkbox 扩大点击区域
- PHP加密解密函数
- Android端Intent传值
- 每天一个linux命令(22):find 命令的参数详解
- The server does not support version 3.0 of the J2E