`
dyccsxg
  • 浏览: 205340 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类

ActiveMQ - stomp 协议接收消息

 
阅读更多
    /**
     * 基于stomp协议接收JMS消息
     * @param args 参数
     */
    @SuppressWarnings("unchecked")
    public static void main(String[] args) throws Exception
    {
        StompConnection conn = new StompConnection();
        conn.open("127.0.0.1", 61613);
        conn.connect("user1", "password1");
        
        HashMap<String, String> headers = new HashMap<String,String>();
        headers.put(Stomp.Headers.TRANSFORMATION, "jms-stomp-map-json");
        conn.subscribe(JMSInfo.STOMP_QUEUE_NAME, Subscribe.AckModeValues.AUTO, headers);
        // conn.subscribe(JMSInfo.STOMP_TOPIC_NAME, Subscribe.AckModeValues.AUTO, headers);
        
        while (true) {
            try {
                StompFrame msg = conn.receive(60000);
                String dataType = msg.getHeaders().get("dataType");
                String className = msg.getHeaders().get("className");
                String text = msg.getBody();
                
                if ("json".equals(dataType) && "java.util.Map".equals(className)) {
                    Map<String, Object> map = JsonUtils.toJavaObject(text, Map.class);
                    System.out.println("received map: " + map);
                } else {
                    System.out.println("received text: " + text);
                }
                
                // 暂停 0.5 秒
                Thread.sleep(500);
            } catch (Exception e) {
                e.printStackTrace();
                break;
            }
        }
        
        conn.unsubscribe(JMSInfo.STOMP_QUEUE_NAME);
        // conn.unsubscribe(JMSInfo.STOMP_TOPIC_NAME);
        conn.disconnect();
    }

分享到:
评论

相关推荐

    activemq-cpp-library-3.9.5-src.zip

    它支持多种协议,包括AMQP、STOMP、OpenWire、MQTT和WebSockets,使得不同语言和平台之间的通信变得可能。 2. **ActiveMQ-CPP库核心功能** - **连接管理**:ActiveMQ-CPP库提供了连接工厂,用于创建到ActiveMQ...

    activemq-cpp发送接收消息,消息过滤器

    `activemq-cpp`是Apache ActiveMQ的一个C++客户端,它提供了与ActiveMQ服务器进行交互的能力,支持STOMP、OpenWire和AMQP等多种协议。 首先,`activemq-cpp`库为开发者提供了一个直观的API,用于创建生产者...

    apache-activemq-5.9.0-bin

    3. **多种协议支持**:除了JMS,ActiveMQ还支持STOMP、AMQP、MQTT、WS-Notification等协议,允许跨平台和跨语言的通信。 4. **持久化**:ActiveMQ提供了多种持久化选项,包括基于文件的KahaDB、LevelDB以及JDBC...

    apache-activemq-5.8.0-bin.zip

    - Apache ActiveMQ是业界广泛使用的消息代理,提供可靠的消息传递服务,支持多种协议,如OpenWire、STOMP、AMQP、MQTT和WS-Notification。 - 版本5.8.0是一个稳定版本,包含了之前版本的改进和新特性,旨在提高...

    apache-activemq-5.15.8-bin.zip

    ActiveMQ支持多种协议,包括开放消息传递接口(Openwire)、STOMP、XMPP、AMQP和WebSockets,使其能够与各种不同的系统和语言进行交互。 在安装过程中,解压"apache-activemq-5.15.8-bin.zip"后,你会得到一个包含...

    apache-activemq-5.15.6

    3. **协议支持**:ActiveMQ不仅支持JMS,还支持STOMP、AMQP、OpenWire、WebSockets等多种协议,使其能与其他语言和平台无缝集成。 4. **网络连接**:ActiveMQ提供网络连接器(Network of Brokers)功能,允许多个...

    apache-activemq-5.16.6-bin.zip

    5. **协议支持**: ActiveMQ不仅支持JMS,还支持AMQP、STOMP、MQTT、OpenWire等多种消息协议,以适应不同平台和应用的需求。 6. **管理界面(Web Console)**: 内置的Web管理控制台提供了一个用户友好的图形界面,...

    apache-activemq-5.13.2-bin.tar.gz

    此外,ActiveMQ支持多种协议,包括开放的消息队列管理协议(STOMP)、高级消息队列协议(AMQP)、纯文本控制协议(OpenWire)等,这使得它能够与其他语言和平台的客户端进行通信。开发者可以利用这些协议编写自己的...

    apache-activemq-5.15.9.rar

    Apache ActiveMQ支持多种消息协议,包括JMS、AMQP、STOMP、OpenWire和MQTT。MQTT的集成使得ActiveMQ成为处理IoT设备数据的理想选择。在“apache-activemq-5.15.9-bin.zip”中,包含了在Windows上运行Apache ActiveMQ...

    apache-activemq-5.12.0-bin

    Apache ActiveMQ是Apache软件基金会开发的一个开源消息中间件,它基于Java Message Service (JMS) 规范,提供高效、可靠的消息传递服务。在“apache-activemq-5.12.0-bin”这个压缩包中,包含了运行Apache ActiveMQ...

    apache-activemq-5.14.3-bin.zip

    Apache ActiveMQ作为JMS的实现,提供了高效、稳定的消息中间件,支持多种消息协议,如OpenWire、AMQP、STOMP、MQTT等。 在"apache-activemq-5.14.3-bin.zip"中,主要包含以下组件和文件: 1. `bin`目录:包含启动...

    apache-activemq-5.9.0 下载

    STOMP(简单文本面向消息协议)允许非Java应用程序与ActiveMQ交互;AMQP(高级消息队列协议)提供跨平台的标准化接口;MQTT(轻量级发布/订阅协议)常用于物联网设备。 5. **管理工具**:ActiveMQ提供了一个基于Web...

    apache-activemq-5.15.11-bin.tar.gz

    - **多种协议支持**:除了JMS,还支持STOMP、AMQP、OpenWire等多种消息协议,便于与其他系统集成。 - **管理工具**:提供Web控制台,方便监控和管理消息代理。 3. **在Linux上部署ActiveMQ 5.15.11**: - **解压...

    apache-activemq-5.16.5

    2. **多种协议支持**:除了JMS,ActiveMQ还支持STOMP、AMQP、MQTT等多种消息协议,这使得不同平台和语言的应用可以方便地与之交互。 3. **高可用性**:通过集群和故障转移,ActiveMQ可以实现高可用性,确保消息服务...

    apache-activemq-5.15.3-bin.tar.gz

    ActiveMQ提供了高度可靠的消息传递机制,支持多种协议如OpenWire、STOMP、AMQP、MQTT和WS-Notification等,可以用于分布式系统中的解耦和异步处理。 **2. JMS(Java Message Service)** JMS是Java平台上的标准API...

    activeMQ-cpp 测试文件

    ActiveMQ 是一个开源的消息中间件,它遵循开放消息模型(Open Message Model)并支持多种协议,包括AMQP、STOMP、XMPP等。ActiveMQ-cpp是ActiveMQ的C++客户端库,允许开发者在C++应用程序中使用ActiveMQ的功能。 在...

    ActiveMQ-CPP在vs2017上测试通过

    2. **Apache ActiveMQ**: 安装并运行一个本地的Apache ActiveMQ服务器,它是开源的消息代理,支持多种协议,包括OpenWire、AMQP、STOMP等。 3. **ActiveMQ-CPP库**: 从Apache官方网站下载源代码,或者使用预编译的...

    apache-activemq-5.15.0-bin

    - **生产者与消费者**:在ActiveMQ中,应用程序可以作为消息的生产者,将消息发送到队列或主题,或者作为消费者,从这些队列或主题接收消息。 - **队列与主题**:队列遵循FIFO(先进先出)原则,每个消息仅由一个...

    activemq-all-5.2.0-jar包

    ActiveMQ是Apache软件基金会开发的开源消息代理,它支持多种协议,如OpenWire、STOMP、AMQP、MQTT和WS-Notification。这个工具使得分布式系统中的组件能够通过异步通信交换数据,提高了系统的可伸缩性和可靠性。 **...

    apache-activemq-5.15.7-bin

    5. **协议支持**:ActiveMQ不仅支持JMS,还支持AMQP、STOMP、XMPP等多种消息协议,便于与不同平台和语言的应用集成。 **使用ActiveMQ的步骤:** 1. **环境准备**:确保系统已安装JDK 8或更高版本,因为ActiveMQ ...

Global site tag (gtag.js) - Google Analytics