ActiveMQ:Python 을 사용 하여 ActiveMQ 에 접근 하 는 방법

4577 단어 PythonActiveMQ
Windows 10 가정 중국어 버 전,Python 3.6.4,stomp.py 4.1.21
ActiveMQ 는 Python 접근 을 지원 하고 STOMP 프로 토 콜(포트 61613)기반 라 이브 러 리 를 제공 합 니 다.
ActiveMQ 의 관문Cross Language Clients에서 더 상세 한 소 개 를 했 고 예시 코드 를 첨부 했다.다음 과 같다.
첫 번 째 행 위 는 일반적인 Python 접근,두 번 째 행 위 는 Jython 접근 방식,네 가지 조작 을 사용 합 니 다.
ActiveMQ:使用Python访问ActiveMQ
Python 이 ActiveMQ 에 접근 하려 면 stomp.py 를 사용 해 야 합 니 다.
홈 페이지 의 코드 를 다운로드 하고 압축 을 풀 고 명령 행 이 디 렉 터 리 에 들 어가 면 pyhthon setup.py install 을 사용 하면 설치 할 수 있 습 니 다.그리고 stomp.py 를 사용 할 수 있 습 니 다.
공식 예제 코드:대기 열 test 에 메 시 지 를 보 내 거나 7 줄 의 destination 의"/quue/"를 제거 하고 test 만 남 을 수 있 습 니 다.

import stomp

conn = stomp.Connection()
conn.set_listener('', MyListener())
conn.start()
conn.connect('admin', 'password', wait=True)
conn.send(body=' '.join(sys.argv[1:]), destination='/queue/test')
conn.disconnect()
테스트 결과:test 대기 열 에서 메시지 수신 수량 이 증가 하 였 습 니 다.
ActiveMQ:使用Python访问ActiveMQ
stomp.connection()은 기본적으로 connect.StompConnection 11(프로 토 콜 1.1)이 고 1.0,1.2 도 선택 할 수 있 습 니 다.
ActiveMQ:使用Python访问ActiveMQ
공식 코드 에서 stomp.connection()의 매개 변 수 는 비어 있 고 실제 적 으로 많은 매개 변 수 를 가 질 수 있 습 니 다.예 를 들 어 Broker 의 IP 주소 와 포트 를 설정 하면 다음 과 같 습 니 다.그 중의 hostand_ports 는 IP 와 포트 를 설정 하 는 것 입 니 다.
ActiveMQ:使用Python访问ActiveMQ
IP 와 포트 설정 예제:
c = stomp.Connection([('127.0.0.1', 62613)])
여기 서 제 가 실 수 를 했 습 니 다.포트 는 8161(ActiveMQ 의 웹 접근 포트)을 협 정 했 습 니 다.조회(바 이 두 에서 stackoverflow.com 을 검색 한 결과 STOMP 프로 토 콜 은 6161613(ActiveMQ 의 설정 파일 중)을 사 용 했 습 니 다.
ActiveMQ:使用Python访问ActiveMQ
ActiveMQ 홈 페이지 의 네 가지 테스트:
대기 열 에 메 시 지 를 보 내 는 Queue 는 점 대 점 모드 로 중복 소비 할 수 없습니다.
테마 Topic 에 메 시 지 를 보 내 는 것 은 게시/구독 모드 로 중복 소 비 를 할 수 있 습 니 다.

# Send a Message to an Apache ActiveMQ Queue 
import stomp
 
conn = stomp.Connection10()
 
conn.start()
 
conn.connect()
 
conn.send('SampleQueue', 'Simples Assim')
 
conn.disconnect()

# Receive a Message from an Apache ActiveMQ Queue
import stomp
import time
 
class SampleListener(object):
 def on_message(self, headers, msg):
 print(msg)
 
conn = stomp.Connection10()
 
conn.set_listener('SampleListener', SampleListener())
 
conn.start()
 
conn.connect()
 
conn.subscribe('SampleQueue')
 
time.sleep(1) # secs
 
conn.disconnect()

# Send a Message to an Apache ActiveMQ Topic 
import stomp
 
conn = stomp.Connection10()
 
conn.start()
 
conn.connect()
 
conn.send('/topic/SampleTopic', 'Simples Assim')
 
conn.disconnect()

# Receive a Message from an Apache ActiveMQ Topic (1)
import stomp
import time
 
class SampleListener(object):
 def on_message(self, headers, msg):
 print(msg)
 
conn = stomp.Connection10()
 
conn.set_listener('SampleListener', SampleListener())
 
conn.start()
 
conn.connect()
 
conn.subscribe('/topic/SampleTopic')
 
time.sleep(1) # secs
 
conn.disconnect()

# Receive a Message from an Apache ActiveMQ Topic (2)
import stomp
import time
 
class SampleListener(object):
 def on_message(self, headers, msg):
 print(msg)
 
conn = stomp.Connection10()
 
conn.set_listener('SampleListener', SampleListener())
 
conn.start()
 
conn.connect(headers={'client-id':'SampleClient'})
 
conn.subscribe(destination='/topic/SampleTopic', headers={'activemq.subscriptionName':'SampleSubscription'})
 
time.sleep(1) # secs
 
conn.disconnect()
이상 의 ActiveMQ:Python 을 사용 하여 ActiveMQ 를 방문 하 는 방법 은 바로 편집장 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.참고 하 시기 바 랍 니 다.여러분 의 많은 응원 바 랍 니 다.

좋은 웹페이지 즐겨찾기