구독자가 메시지를 필터링 할 수 있도록 주제 메시지를 게시 할 때 STOMP 메시지 헤더에 두 개의 사용자 지정 속성을 넣으려고합니다. 다음은 연결 및 게시를 위해 ActiveMQ 5.14로 보내는 두 개의 프레임입니다.
CONNECT
login: myUserName
passcode: myPassword
참고 : 실제 문자열은 CONNECT\nlogin: myUserName\npasscode: myPassword
.
과
SEND
destination:/topic/myTopic
myTopicMessage
참고 : 실제 문자열은 SEND\ndestination:/topic/myTopic\n\nmyTopicMessage
.
위의 문자열에 다음 두 쌍의 속성을 어떻게 추가해야합니까?
package_code = ''
whse_code = 'MyWarehouse'
BTW, 나는 이것을 구현하기 위해 lua를 사용하고 있습니다.
에서 SEND
사용하는 것과 동일한 구문을 사용 하여 프레임에 속성을 추가 할 수 있습니다. destination
예 :
SEND
destination:/topic/myTopic
package_code:MyPackageCode
whse_code:MyWarehouse
myTopicMessage^@
경우 package_code
(또는 다른 헤더) 비어 간단하게 설정하지 마십시오.
몇 가지 다른 세부 사항은 주목할 가치가 있습니다.
^@
는 NULL 옥텟을 나타 내기 위해 (즉, ASCII의 control- @)을 사용합니다.SEND
프레임 해야 포함 콘텐츠 길이 헤더 및 콘텐츠 타입 에 명시된 바와 같이 본체가있는 경우 헤더 스톰 1.2 규격의 "SEND"섹션 .문제 해결:
다음 단계에 따라 STOMP 프로토콜 추적을 활성화 할 수 있습니다.
trace=true
STOMP transportConnector
에서 설정 합니다 <transportConnector name="stomp" uri="stomp://localhost:61613?trace=true"/>
. 예 : . 그런 다음 설정 org.apache.activemq.transport.stomp.StompIO
에 로거 TRACE
에conf/log4j.properties
org.apache.activemq.artemis.core.protocol.stomp.StompConnection
에 DEBUG
에서 etc/logging.properties
.이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다