ActiveMQ:Python 을 사용 하여 ActiveMQ 에 접근 하 는 방법
ActiveMQ 는 Python 접근 을 지원 하고 STOMP 프로 토 콜(포트 61613)기반 라 이브 러 리 를 제공 합 니 다.
ActiveMQ 의 관문Cross Language Clients에서 더 상세 한 소 개 를 했 고 예시 코드 를 첨부 했다.다음 과 같다.
첫 번 째 행 위 는 일반적인 Python 접근,두 번 째 행 위 는 Jython 접근 방식,네 가지 조작 을 사용 합 니 다.
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 대기 열 에서 메시지 수신 수량 이 증가 하 였 습 니 다.stomp.connection()은 기본적으로 connect.StompConnection 11(프로 토 콜 1.1)이 고 1.0,1.2 도 선택 할 수 있 습 니 다.
공식 코드 에서 stomp.connection()의 매개 변 수 는 비어 있 고 실제 적 으로 많은 매개 변 수 를 가 질 수 있 습 니 다.예 를 들 어 Broker 의 IP 주소 와 포트 를 설정 하면 다음 과 같 습 니 다.그 중의 hostand_ports 는 IP 와 포트 를 설정 하 는 것 입 니 다.
IP 와 포트 설정 예제:
c = stomp.Connection([('127.0.0.1', 62613)])
여기 서 제 가 실 수 를 했 습 니 다.포트 는 8161(ActiveMQ 의 웹 접근 포트)을 협 정 했 습 니 다.조회(바 이 두 에서 stackoverflow.com 을 검색 한 결과 STOMP 프로 토 콜 은 6161613(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 를 방문 하 는 방법 은 바로 편집장 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.참고 하 시기 바 랍 니 다.여러분 의 많은 응원 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.