1. 程式人生 > >ActiveMQ 即時通訊服務 淺析

ActiveMQ 即時通訊服務 淺析

package com.hoo.mq.topic;
import javax.jms.DeliveryMode;
import javax.jms.MapMessage;
import javax.jms.Session;
import javax.jms.Topic;
import javax.jms.TopicConnection;
import javax.jms.TopicConnectionFactory;
import javax.jms.TopicPublisher;
import javax.jms.TopicSession;
import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory;
/**
 * <b>function:</b> Queue 方式訊息傳送者
 * @author hoojo
 * @createDate 2013-6-19 下午04:34:36
 * @file QueueSender.java
 * @package com.hoo.mq.topic
 * @project ActiveMQ-5.8
 * @blog http://blog.csdn.net/IBM_hoojo
 * @email [email protected]
 * @version 1.0
 */
public class TopicSender {
    // 傳送次數
    public static final int SEND_NUM = 5;
    // tcp 地址
    public static final String BROKER_URL = "tcp://localhost:61616";
    // 目標,在ActiveMQ管理員控制檯建立 http://localhost:8161/admin/queues.jsp
    public static final String DESTINATION = "hoo.mq.topic"
;
    /**
     * <b>function:</b> 傳送訊息
     * @author hoojo
     * @createDate 2013-6-19 下午12:05:42
     * @param session 會話
     * @param publisher 釋出者
     * @throws Exception
     */    
    public static void sendMessage(TopicSession session, TopicPublisher publisher) throws Exception {
        for (int i = 0; i < SEND_NUM; i++) {
            String message = "傳送訊息第" + (i + 1) + "條";
            MapMessage map = session.createMapMessage();
            map.setString("text", message);
            map.setLong("time", System.currentTimeMillis());
            System.out.println(map);
            publisher.send(map);
        }
    }
    public static void run() throws Exception {
        TopicConnection connection = null;
        TopicSession session = null;
        try {
            // 建立連結工廠
            TopicConnectionFactory factory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER, ActiveMQConnection.DEFAULT_PASSWORD, BROKER_URL);
            // 通過工廠建立一個連線
            connection = factory.createTopicConnection();
            // 啟動連線
            connection.start();
            // 建立一個session會話
            session = connection.createTopicSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);
            // 建立一個訊息佇列
            Topic topic = session.createTopic(DESTINATION);
            // 建立訊息傳送者
            TopicPublisher publisher = session.createPublisher(topic);
            // 設定持久化模式
            publisher.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
            sendMessage(session, publisher);
            // 提交會話
            session.commit();
        } catch (Exception e) {
            throw e;
        } finally {
            // 關閉釋放資源
            if (session != null) {
                session.close();
            }
            if (connection != null) {
                connection.close();
            }
        }
    }
    public static void main(String[] args) throws Exception {
        TopicSender.run();
    }
}

相關推薦

ActiveMQ 即時通訊服務 淺析

package com.hoo.mq.topic; import javax.jms.DeliveryMode; import javax.jms.MapMessage; import javax.jms.Session; import javax.jms.Topic; import jav

Openfire即時通訊服務搭建與Smack訪問

Openfire 是開源的、基於可拓展通訊和表示協議(XMPP)、採用Java程式語言開發的實時協作伺服器。 Openfire安裝和使用都非常簡單,並利用Web進行管理。單臺伺服器可支援上萬併發使用者。 首先到openfire官網上去下載Openfire的伺服器包與Smac

融雲IM即時通訊服務端Server開發獲取token報錯簽名錯誤,請檢查

公司業務需要,開發即時通訊系統,在融雲基礎上進行開發,在server搭建的時候還是蠻逗比的,真的是各種不會,不過還好都會解決掉!今天遇到的問題就是獲取token的問題,不停的報錯:“getToken:

Golang 在電商即時通訊服務建設中的實踐

馬蜂窩技術原創文章,更多幹貨請搜尋公眾號:mfwtech ​即時通訊(IM)功能對於電商平臺來說非常重要,特別是旅遊電商。 從商品複雜性來看,一個旅遊商品可能會包括使用者在未來一段時間的衣、食、住、行等方方面面;從消費金額來看,往往單次消費額度較大;對目的地的陌生、在行程中可能的問題,這些因素使使用者在購

高性能服務器開發基礎系列 (七)——開源一款即時通訊軟件的源碼

c++ 服務器 在我的《高性能服務器開發基礎系列》這個系列的第一篇至第六篇都是講了一些零散的不成體系的網絡編程細節。今天,在這篇文章中,我將介紹一款我自主開發的即時通訊軟件flamingo(中文:火烈鳥),並開源其服務器和pc客戶端代碼。以此來對前幾篇文章中說到的理論進行實踐。 代碼在github和c

mqtt協議實現即時通訊-activemq nginx.支援JS,JAVA,微信小程式

MQTT協議通訊   簡述:            使用MQTT協議實現後臺推送、及時通訊等功能。本案例實現了web-js端、微信小程式端、Java client端、Java serv

Netty實戰 IM即時通訊系統(四)服務端啟動流程

## Netty實戰 IM即時通訊系統(四)服務端啟動流程 零、 目錄 IM系統簡介 Netty 簡介 Netty 環境配置 服務端啟動流程 實戰: 客戶端和服務端雙向通訊 資料傳輸載體ByteBuf介紹 客

.NET 即時通訊,WebSocket服務端例項

即時通訊常用手段 1.第三方平臺 谷歌、騰訊 環信等多如牛毛,其中谷歌即時通訊是免費的,但免費就是免費的並不好用。其他的一些第三方一般收費的,使用要則限流(1s/限制x條訊息)要麼則限制使用者數。 但穩定性什麼都還不錯,又能將服務壓力甩出 2.System.Net.Sock

基於websocket的網頁即時通訊(可傳附件圖片塗鴉、最小化狀態通知).NET,winform客戶端、服務

公司網站需要即時通訊,就研究了下主要以下功能:websocket通訊,網頁端即時通訊,可以傳送表情,可以傳送附件,可以塗鴉,可以實現客服一對多聊天,winform做服務端負責收發,notification提醒,一番百度下來發現websocket做客戶端+superwebsoc

即時通訊 的Java服務端開發

以整合第三方的 融雲即時通訊 為例 1. 開發流程分析 開發即時通訊的java服務端, 服務端只需要呼叫融雲的API, 獲取得到token(根據使用者id,使用者姓名,使用者

Linux下搭建即時通訊聊天服務Tigase 實戰詳解

Mar 27, 2015 11:41:56 AM tigase.conf.ConfiguratorAbstract setProperties Mar 27, 2015 11:41:58 AM tigase.db.jdbc.DataRepositoryImpl initRepository SEVERE: n

從零開始開發IM(即時通訊服務

好訊息:IM1.0.0版本已經上線啦,支援特性: 私聊傳送文字/檔案 已傳送/已送達/已讀回執 支援使用ldap登入 支援接入外部的登入認證系統 提供客戶端jar包,方便客戶端開發 github連結: https://github.com/yuanrw/IM 前言 首先講講IM(即時通訊)技術可以用來做什

從零開始開發IM(即時通訊服務端(二)

好訊息:IM1.0.0版本已經上線啦,支援特性: 私聊傳送文字/檔案 已傳送/已送達/已讀回執 支援使用ldap登入 支援接入外部的登入認證系統 提供客戶端jar包,方便客戶端開發 github連結: https://github.com/yuanrw/IM 本篇將帶大家從零開始搭建一個輕量級的IM服務端

C#socket通訊服務器(連接狀態監控)

del endpoint etc acc ipa ack ipaddress ava listening class SocketServerManager { public delegate void ConnectStateEventHandler

java SSM 框架 多數據源 代碼生成器 websocket即時通訊 shiro redis 後臺框架源碼

sql編輯器 quartz 自定義表單 SSM springmvc 獲取【下載地址】 QQ: 313596790 官網 http://www.fhadmin.org/ A 調用攝像頭拍照,自定義裁剪編輯頭像,頭像圖片色度調節 B 集成代碼生成器 [正反雙向](單表、主表、明細

java SSM 框架 代碼生成器 websocket 即時通訊 shiro redis 多數據源 後臺框架源碼

idt 下載到本地 exp 綁定 鏈接 數據庫連接池 展示 地圖工具 重排序 A 調用攝像頭拍照,自定義裁剪編輯頭像,頭像圖片色度調節B 集成代碼生成器 [正反雙向](單表、主表、明細表、樹形表,快速開發利器)+快速表單構建器 freemaker模版技術 ,0個代碼不用寫,

java SSM框架 多數據源 代碼生成器 websocket即時通訊 shiro redis 後臺框架源碼

sql編輯器 quartz 自定義表單 springmvc ssm 獲取【下載地址】 QQ: 313596790官網 http://www.fhadmin.org/A 調用攝像頭拍照,自定義裁剪編輯頭像,頭像圖片色度調節B 集成代碼生成器 [正反雙向](單表、主表、明細表、樹形表,快速

NetCore WebSocket 即時通訊示例

local doc acc code win ref 簡易 rem sync 1.新建Netcore Web項目 2.創建簡易通訊協議 public class MsgTemplate

IOS集成融雲SDK即時通訊

ios 融雲 即時通訊 融雲即時通訊雲 雲服務 融雲sdk集成 相信大家在項目中會用到即時通訊功能,自己去寫的話會需要前後臺合作,會大大加大開發的周期,所以考慮使用第三方的即時通訊平臺,比如現在有融雲,環信....等等等!樓主在項目開發過程中使用到過環信和融雲,今天就為大家寫下IOS端

MQTT是IBM開發的一個即時通訊協議,構建於TCP/IP協議上,是物聯網IoT的訂閱協議,借助消息推送功能,可以更好地實現遠程控制

集合 cap 消息處理 簡易 遠程控制 mes ogr 設計思想 成本 最近一直做物聯網方面的開發,以下內容關於使用MQTT過程中遇到問題的記錄以及需要掌握的機制原理,主要講解理論。 背景 MQTT是IBM開發的一個即時通訊協議。MQTT構建於TCP/IP協議上