这就是事情。我可以使用以下配置使用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;,但我想为每个用户使用一个队列,而不是所有用户的一般队列,有没有办法做到这一点?。
我将非常感谢你的帮助。
提前致谢。
答案 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();