日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

jms mysql_JMS学习九(ActiveMQ的消息持久化到Mysql数据库)

發(fā)布時(shí)間:2023/12/10 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jms mysql_JMS学习九(ActiveMQ的消息持久化到Mysql数据库) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、將連接Mysql數(shù)據(jù)庫的jar文件,放到ActiveMQ的lib目錄下

2、修改ActiveMQ的conf目錄下的active.xml文件,修改數(shù)據(jù)持久化的方式

2.1 ?修改原來的kshadb的持久化數(shù)據(jù)的方式

2.2 ?連接Mysql的配置(注意配置文件放置的位置)

3、將數(shù)據(jù)持久化Mysql的運(yùn)行截圖

3.1 ?重新啟動(dòng)ActiveMQ,并運(yùn)行程序,放入持久化數(shù)據(jù),查看Mysql的active數(shù)據(jù)庫

4、放入持久化數(shù)據(jù)的代碼

importjavax.jms.Connection;importjavax.jms.ConnectionFactory;importjavax.jms.DeliveryMode;importjavax.jms.Destination;importjavax.jms.MessageProducer;importjavax.jms.Session;importjavax.jms.TextMessage;importorg.apache.activemq.ActiveMQConnectionFactory;public classSender {public static void main(String[] args) throwsException {//1、建立ConnectionFactory工廠對(duì)象,需要填入用戶名,密碼,以及連接的地址//僅使用默認(rèn)。端口號(hào)為"tcp://localhost:61616"

ConnectionFactory connectionFactory = newActiveMQConnectionFactory("zhangsan",//ActiveMQConnectionFactory.DEFAULT_USER,

"123",//ActiveMQConnectionFactory.DEFAULT_PASSWORD,

"tcp://localhost:61616");//2、通過ConnectionFactory工廠對(duì)象創(chuàng)建一個(gè)Connection連接//并且調(diào)用Connection的start方法開啟連接,Connection默認(rèn)是不開啟的

Connection connection =connectionFactory.createConnection();

connection.start();//3、通過Connection對(duì)象創(chuàng)建Session會(huì)話(上下文環(huán)境對(duì)象),//參數(shù)一,表示是否開啟事務(wù)//參數(shù)二,表示的是簽收模式,一般使用的有自動(dòng)簽收和客戶端自己確認(rèn)簽收//第一個(gè)參數(shù)設(shè)置為true,表示開啟事務(wù)//開啟事務(wù)后,記得要手動(dòng)提交事務(wù)

Session session=connection.createSession(Boolean.TRUE,

Session.CLIENT_ACKNOWLEDGE);//4、通過Session創(chuàng)建Destination對(duì)象,指的是一個(gè)客戶端用來指定生產(chǎn)消息目標(biāo)和消費(fèi)消息來源的對(duì)象。//在PTP模式中,Destination指的是Queue//在發(fā)布訂閱模式中,Destination指的是Topic

Destination destination = session.createQueue("queue1");//5、使用Session來創(chuàng)建消息對(duì)象的生產(chǎn)者或者消費(fèi)者

MessageProducer messageProducer =session.createProducer(destination);//6、如果是,生產(chǎn)者,使用MessageProducer的setDeliverMode方法設(shè)置,消息的持久化和非持久化

messageProducer.setDeliveryMode(DeliveryMode.PERSISTENT);//7、最后使用JMS規(guī)范的TextMessage形式創(chuàng)建數(shù)據(jù)(通過Session對(duì)象)//并利用MessageProducer的send方法發(fā)送數(shù)據(jù)

for (int i = 0; i < 5; i++) {

TextMessage textMessage=session.createTextMessage();

textMessage.setText("我是消息" +i);

messageProducer.send(textMessage);

}//手動(dòng)提交開啟的事務(wù)

session.commit();//釋放連接

if (connection != null) {

connection.close();

}

}

}

總結(jié)

以上是生活随笔為你收集整理的jms mysql_JMS学习九(ActiveMQ的消息持久化到Mysql数据库)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。