使用Spring MVC动态注册到JMS队列

时间:2016-06-16 22:53:49

标签: spring-mvc activemq spring-jms

这就是事情。我可以使用以下配置使用ActiveMQ队列:

 <jms:listener-container
  container-type="default"
  connection-factory="connectionFactory"
  acknowledge="auto">
<jms:listener destination="TEST.FOO" ref="simpleMessageListener" method="onMessage" />

这里我正在消耗队列&#34; TEST.FOO&#34;,但我想为每个用户使用一个队列,而不是所有用户的一般队列,有没有办法做到这一点?。

我将非常感谢你的帮助。

提前致谢。

1 个答案:

答案 0 :(得分:0)

最后我这样做了:

Authentication auth = SecurityContextHolder.getContext().getAuthentication();
            if (!(auth instanceof AnonymousAuthenticationToken)) {
                final UserDetails userDetails = (UserDetails)SecurityContextHolder.getContext().getAuthentication().getPrincipal();
                camelContext.addRoutes(new RouteBuilder() {
                    public void configure() {               
                        from("activemq:"+userDetails.getUsername()).routeId(userDetails.getUsername()).to("bean:queueHandler");
                    }
                });             
                camelContext.start();