2012-06-16 8 views
0

나는 ActiveMQ를이 JMSXUserID 속성을 지원하는지 알고ActiveMQ Apollo가 JMSXUserID 또는 인증 된 사용자를 추적하는 것과 유사한 기능을 구현합니까?

http://activemq.apache.org/jmsxuserid.html

나는 아폴로 (AN ActiveMQ를 하위 프로젝트)를 사용하려고 해요 대신의 ActiveMQ의, 그리고 순간에 나는 붙어 알아낼려고 해요 아폴로에서 같은 행동을 반복합니다.

나는 기계공에 대해 까다롭게 생각하지 않지만 인증 된 사용자의 모든 수신 메시지에 어떤 사용자가 어떤 메시지를 보냈는지 알 수있는 식별자를 태그하는 방법이 필요합니다. 스스로 설정함으로써 속임수를 쓰지 마라. 이것은 기본적으로 정확히 JMSXUserID가 ActiveMQ에서 사용하는 것이지만 Apollo에서 동일한 작업을 수행하는 방법을 파악할 수 없습니다.

무엇이 누락 되었습니까?

ActiveMQ가 모든 페이지 중 하나에서 아폴로로 연결되므로 검색 결과의 대부분이 도움이되지 않기 때문에 Google에서 특히 어렵다고 생각합니다.

미리 감사드립니다.

답변

0

아폴로의 사용자 설명서는 how you can configure apollo to automatically add a user header which is set to the sending user's id입니다.

<connector id="tcp" bind="tcp://0.0.0.0:61613"> 
    <stomp> 
    <add_user_header separator=",">JMSXUserID</add_user_header> 
    </stomp> 
</connector> 

는 불행히도은 OpenWire 프로토콜은 아직 지원하지 않습니다

은 기본적으로는 같은과 커넥터의 스톰 프로토콜을 구성 할. 주소는 Issue APLO-213입니다.

0

아폴로는 JMS를 지원합니까? 웹 페이지에서

: 그것에서 http://activemq.apache.org/apollo/

현재의 화신이다는 아폴로 만 STOMP 프로토콜을 지원하지만, 단지 원래의 ActiveMQ처럼, 멀티 프로토콜 브로커로 설계되어 있습니다. 이후 버전에서는 OpenWire 지원 기능이 추가되어 ActiveMQ 5.x JMS 클라이언트와 호환 될 수 있습니다.

매우 어려운 문제를 해결하려면 코드에 userid가있는 머리글을 추가하면 안됩니까?

그냥, 운영 체제에서 잡아 당신이 당신은 아마도

System.getProperty("user.name") 

같은 것을 사용하고 STOMP 헤더에 연결할 수, 자바를 사용하고 말한다. 그러나 이것은 서버 자체가 아니라 클라이언트 lib (stomp 라이브러리가 사용되는 경우)에 대한 문제입니다.

+0

아폴로는 JMS를 지원합니다. 설치 디렉토리의 Apollo 예제 폴더에 예제 JMS 클라이언트가 있으며 Hiram은 Apollo JMS를 다른 서버와 비교하는 벤치마킹 도구를 출시했습니다. – Grekker

+0

https://github.com/chirino/jms-benchmark – Grekker

+0

http : // hiramchirino.com/jms-benchmark/ec2-c1.xlarge/index.html – Grekker