五、ActiveMQ添加了mysql的持久化後,發了訊息,但是MSGS表中沒有記錄.
在 producer 生產者 中需要設定
producer.setDeliveryMode(DeliveryMode.PERSISTENT);// producer.setTimeToLive(10); // 傳送 producer.send(textMessage); // producer.send(textMessage, DeliveryMode.PERSISTENT, 1, 60 * 60 * 24);
在consumer 消費者中 新增 注意 設定客戶端id 需要在開啟連結 前面 //設定客戶端id
//設定客戶端id connection.setClientID("client-1"); connection.start();
// final MessageConsumer messageConsumer = session.createConsumer(topic);//普通訂閱 MessageConsumer messageConsumer = session.createDurableSubscriber(topic,"bb"); //持久訂閱
程式碼:
import org.apache.activemq.ActiveMQConnection;import org.apache.activemq.ActiveMQConnectionFactory; import javax.jms.*; /** * @author Yang * @create 2018-04-19 17:11 * 描述: 生產者 */ public class TopicProducer { /** * 使用者名稱 */ private static final String userName = ActiveMQConnection.DEFAULT_USER; /** * 密碼 */ private static final String passWord = ActiveMQConnection.DEFAULT_PASSWORD; /** * url */ private static final String brokerUrl = ActiveMQConnection.DEFAULT_BROKER_URL; public void send(String message) { try { ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(userName, passWord, brokerUrl); final Connection connection = connectionFactory.createConnection(); connection.start(); Session session = connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE); //建立佇列 final Topic topic = session.createTopic("topic"); final MessageProducer producer = session.createProducer(topic); TextMessage textMessage = session.createTextMessage(message); producer.setDeliveryMode(DeliveryMode.PERSISTENT); // producer.setTimeToLive(10); // 傳送 producer.send(textMessage); // producer.send(textMessage, DeliveryMode.PERSISTENT, 1, 60 * 60 * 24); // session.commit(); producer.close();
session.close(); connection.close(); } catch (JMSException e) { e.printStackTrace(); } } public static void main(String[] args) { TopicProducer producer = new TopicProducer(); producer.send("hello world"); } }
import org.apache.activemq.ActiveMQConnection; import org.apache.activemq.ActiveMQConnectionFactory; import javax.jms.*; /** * @author Yang * @create 2018-04-19 17:10 * 描述: 消費者 */ public class TopicConsumer { /** * 使用者名稱 */ private static final String userName = ActiveMQConnection.DEFAULT_USER; /** * 密碼 */ private static final String passWord = ActiveMQConnection.DEFAULT_PASSWORD; /** * url */ private static final String brokerUrl = ActiveMQConnection.DEFAULT_BROKER_URL; public void receive() { try { ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(userName, passWord, brokerUrl); final Connection connection = connectionFactory.createConnection(); //設定客戶端id connection.setClientID("client-1"); connection.start(); Session session = connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE); //建立佇列 final Topic topic = session.createTopic("topic"); // final MessageConsumer messageConsumer = session.createConsumer(topic);//普通訂閱 MessageConsumer messageConsumer = session.createDurableSubscriber(topic,"bb"); //持久訂閱 messageConsumer.setMessageListener(n -> { try { TextMessage msg = (TextMessage) n; final String text = msg.getText(); if (text.equalsIgnoreCase("hello world")) { System.out.println(" 接受資訊: " + msg.getText()); } else { System.out.println(" 測試重發次數 "); int i = 1 / 0; } } catch (JMSException e) { // e.printStackTrace(); } }); } catch (JMSException e) { // e.printStackTrace(); } } public static void main(String[] args) { TopicConsumer consumer = new TopicConsumer(); consumer.receive(); } }
相關推薦
五、ActiveMQ添加了mysql的持久化後,發了訊息,但是MSGS表中沒有記錄.
1.持久化以後 activemq資料庫 會建立3張表<bean id="derby-ds" class="org.apache.commons.dbcp2.BasicDataSource" de
JPA中自動使用@Table(name = "userTab")後自動將表名、列名添加了下劃線的問題
hang auto server nic dialect rac serve com generate 一、問題 JPA中自動使用@Table(name = "userTab")後自動將表名、列名添加了下劃線的問題,如下圖: 二、解決 在app
SQL Server 2005中的分區表(五):添加一個分區
eat 查詢 sch 另一個 rom 原創 查看 copyto art 所謂天下大事,分久必合,合久必分,對於分區表而言也一樣。前面我們介紹過如何刪除(合並)分區表中的一個分區,下面我們介紹一下如何為分區表添加一個分區。 為分區表添加一個分區,這種情況是時常會
兩個Listbox添加、刪除、全部添加、全部刪除
.cn 刪除 alt flag cti -1 move tex .com function moveOption(e1,e2,flag){ if(flag==false){ for(var i=0;i&
3、主頁添加script代碼
else tab spa selected bsp exist get ebo tex 為Home控制器下的Index添加Scrip代碼,手動敲入script,按Tab鍵,頁面自動補齊<script></script> 1 <scrip
DOM練習 選擇框、表格添加、變色
inf ble 技術分享 刪除行 屬性 bsp 點擊 round ack 多個選擇框,三個按鈕,顯示:全選、反選、不選 html部分,建立五個多選框,三個按鈕 <input type="checkbox"> <input type="checkbox"&
除了信號觸發線程與接收者線程相同的情況能直接調用到slot,其它情況都依賴事件機制(解決上面代碼收不到信號的問題其實很簡單,在線程的run();函數中添加一個事件循環就可以了,即加入一句exec();)
使用 usleep tle 結果 線程 方法 params str signal MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) {
【17】有關python面向對象編程的提高【多繼承、多態、類屬性、動態添加與限制添加屬性與方法、@property】
爸爸 mce turn object get 寫法 pri import sel 一、多繼承 案例1:小孩繼承自爸爸,媽媽。在程序入口模塊再創建實例調用執行 #father模塊 class Father(object): def __init__(self,mon
如何在Eclipse中 編輯、 自動添加註釋(轉,有部分修改)
如果你用的是eclipse3.2,方法如下,其他版本方法類似。 通過選單 Window->Preference 開啟引數設定面板,然後選擇:Java -> Code Style -> Code Templates 在右側選擇Comments,將其中的Files項,然後選右邊
七、eclipse添加離線約束,使不聯網也能有一些代碼的提示,例如dubbo
ati height type pre 目錄 提示 dubbo oca enc eclipse添加離線約束,使不聯網也能有一些代碼的提示,例如dubbo 1、將dubbo.xsd文件放到一個無中文目錄下 2、eclipse->windows->prefere
Linux下添加自定義腳本到開機自啟動,標準rpm,舉例:設置Apache自啟動
不同 config desc 完全 def chkconfig mod etc chm 寫一個腳本,名字為:autostart.sh,放在/etc/init.d/目錄下,賦予權限chmod +x /etc/init.d/autostart.sh 代碼如下 #!/bin/sh
OAF 供應商門戶添加功能標簽後獲取當前供應商VendorId的方法
管理 method cin ppi ray 方法 user number text 一種是參考管理頁面 /oracle/apps/pos/supplier/webui/SuppDtPG 在目標頁面的AM中添加VO實例,oracle.apps.pos.supplier.ser
FastAdmin 添加新字段後,不顯示,可以直接去修改對應的js
bsp info fas bubuko min 添加 圖片 http 分享 FastAdmin 添加新字段後,不顯示,可以直接去修改對應的js
解決CentOS添加新網卡後找不到網卡配置文件
圖片 ifcfg ifconf 沒有 net entos src info 虛擬 使用VMware Workstation虛擬機安裝好CentOS6.5以後,電腦的IP總是會變,在網上找的方法都是改電腦網卡的配置文件,但是網卡是由IP的,查找過後發現沒有對應網卡的配置文
mysql 匯入excel資料成功,但資料表中80%資料都變成了2147483647解決方案
在網上搜索了一下原因:被插入的mysql資料表的欄位型別為int(11),問題就是欄位型別長度不過,導致插入錯誤。 解決方案:(1)把欄位的型別int改為varchar(255) (如果允許的情況),這是我自己當時的做法 (2
php+mysql模擬隊列發送郵件,能不能見網友就靠這封郵件了
丟失 模式 base64 郵件隊列 一致性 缺少 出現 外部程序 功能 郵件發送原理 telnet命令模擬郵件發送:1、cmd命令下telnet連接上QQ的smtp服務器telnet smtp.163.com 25遇到問題以及解決辦法: telnet命令錯誤 控制面板下wi
面試官你好,我已經掌握了MySQL主從配置和讀寫分離,你看我還有機會嗎?
> 我是風箏,公眾號「古時的風箏」,一個簡單的程式設計師鼓勵師。 文章會收錄在 [JavaNewBee](https://github.com/huzhicheng/JavaNewBee) 中,更有 Java 後端知識圖譜,從小白到大牛要走的路都在裡面。 面試官:我看你簡歷上寫的你們公司資料庫是 MySQL
MYSQL操作數據表中的記錄
mysql操作數據表中的記錄1 把選中的列數名到最前面ALTER TABCE 表名 MODIFY 列數名以及列數名的類型 FIRST;2 修改列數名類型ALTERTABCE 表名 MODIFY 列數名新列數名;3 修改數據表名第一種 ALTERTABCE 原表名 RENAME 新表名;第二種 RENAME
MySQL--操作數據表中的記錄小結
log mage 分組 技術 rom ges sql alt image 最常用,最復雜的語句: 每一項的: 表的參照 From 條件 WHERE 進行記錄的分組 GROUP BY 分組的時候對分組的條件進行設定 HAVING 對結果進行排序 ORD
簡單按日期查詢mysql某張表中的記錄數
unsigned 計劃 表結構 記錄 create sig 站點 signed using 測試表表結構:mysql> show create table dr_stats\G 1. row Table: dr_stats Create Table: