User Tools

Site Tools


learn:activemq

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
learn:activemq [2019/06/21 08:02]
soup
learn:activemq [2019/06/25 11:05] (current)
soup
Line 2: Line 2:
  
  ​ActiveMQ。Apache的项目。  ​ActiveMQ。Apache的项目。
- 
-==== 安装 ==== 
-yum install activemq ​ 
-pip install stomp.py 
- 
  
 ==== 学习网址 ==== ==== 学习网址 ====
- 
   * 学习网址:<​code>​http://​activemq.apache.org/​ </​code>​   * 学习网址:<​code>​http://​activemq.apache.org/​ </​code>​
   * 是Jave编写;依赖运行环境 JRE 。   * 是Jave编写;依赖运行环境 JRE 。
 +
 +==== 安装 ====
 +  * yum install activemq ​
 +  * pip install stomp.py
   * PHP需要扩展库 Stomp 。   * PHP需要扩展库 Stomp 。
-  * 开启schduler:activemq.xml文件中的<​broker>​ 中加入如下属性:+  ​* yum install -y jre 
 +  * pecl install Stomp 
 +  * centos: yum install activemq 
 +  * OSX:  brew install apache-activemq 
 + 
 +==== 配置 ==== 
 +  ​* 开启schduler,​启用延时投递conf/activemq.xml文件中的<​broker>​ 中加入如下属性:
        <​code xml>        <​code xml>
        <​broker ...... schedulerSupport="​true">​        <​broker ...... schedulerSupport="​true">​
        </​code>​        </​code>​
-  * 配置访问用户名密码:activemq.xml文件中的<​broker>​ 中加入:+  * 配置访问用户名密码:conf/activemq.xml文件中的<​broker>​ 中加入:
 <code xml> <code xml>
 <!-- 添加访问ActiveMQ的账号密码 --> <!-- 添加访问ActiveMQ的账号密码 -->
Line 28: Line 32:
 </​plugins>​ </​plugins>​
 </​code>​ </​code>​
 +  * 修改管理页面登录密码:
 +       ​conf/​jetty-realm.properties 中配置账号密码
  
-===== 安装 ===== 
-yum install -y jre 
-pecl install Stomp 
-centos: yum install activemq 
-OSX:  brew install apache-activemq 
  
 ===== 启动 ===== ===== 启动 =====
-foreground run: activemq console +  * foreground run: activemq console 
-background run: activemq start | stop+  ​* ​background run: activemq start | stop
  
-web访问:http://​localhost:​8161/​admin +web管理页面:http://​localhost:​8161/​admin
-config:activemq myConfig.xml+
  
  
Line 183: Line 183:
   $processer->​processMsg($processer->​getMsg());​   $processer->​processMsg($processer->​getMsg());​
 } }
 +</​code>​
 +
 +
 +
 +==== python代码收发消息示例 ====
 +<code php>
 +# -*-coding:​utf-8-*-
 +import stomp
 +import time,json
 +
 +tts_mq_server = [('​test.jzyq.ltd',​61613)]
 +queue_syn_name = '/​queue/​tts/​syn_test'​
 +queue_rst_name = '/​queue/​tts/​rst_test'​
 +
 +listener_name = '​TtsListener'​
 + 
 +class RstJobListener(object):​
 +    def on_message(self,​ headers, message):
 +        print('​headers:​ %s' % headers)
 +        print('​message:​ %s' % message)
 +        msg = json.loads(message)
 +        print('​audio is: ' + msg['​audio'​])
 +        data = msg['​data'​]
 +        #update status
 +        if data['​cb'​]:​
 +            #call call back
 +            print('​callback is: ' + data['​cb'​])
 +            pass
 +
 + 
 +def get_msg(idx):​
 +    txt = 'hello (%d)' % idx
 +    msg = {'​id':'​123456789','​text':​txt,'​speaker':​1,'​data':​ {'​cb':'​https://​www.baidu.com/'​} }
 +    ret =  json.dumps(msg)
 +    return ret
 + 
 +
 +print('​api begin ')
 +conn = stomp.Connection10(tts_mq_server)
 +conn.set_listener(listener_name,​ RstJobListener())
 +conn.start()
 +conn.connect(username='​system',​ passcode='​manager',​ wait=True)
 +conn.subscribe(queue_rst_name)
 +# time.sleep(1) # secs
 +
 +for i in range(10):
 +    msg = get_msg(i)
 +    print('​i am a api call:'​+ msg)
 +    conn.send(queue_syn_name, ​ msg)
 +    time.sleep(1) ​
 +
 +print('​api waiting... ')
 +
 +while True:
 +    time.sleep(100)
 +
 +conn.disconnect()
 +
 +
 </​code>​ </​code>​
learn/activemq.1561104142.txt.gz · Last modified: 2019/06/21 08:02 by soup