【发布时间】:2018-04-03 19:16:24
【问题描述】:
我在尝试连接部署在 JBoss EAP 7.1 上的 ActiveMQ Artemis 队列时遇到以下错误。
错误:DefaultMessageListenerContainer:无法刷新 JMS 目标“jms/queue/QueueA”的连接 - 重试使用 FixedBackOff{interval=5000, currentAttempts=139, 最大尝试=无限}。原因:AMQ119031:无法验证用户
这是我正在使用的代码:
@Bean public DefaultMessageListenerContainer myFactory() throws NamingException {
DefaultMessageListenerContainer listenerContainer = new DefaultMessageListenerContainer();
listenerContainer.setConnectionFactory(getConnectionFactory());
listenerContainer.setDestinationName("jms/queue/QueueA");
listenerContainer.setMessageListener(new MessageReceiver());
return listenerContainer;
}
private ConnectionFactory getConnectionFactory() throws NamingException {
final Properties env = new Properties();
env.put(Context.INITIAL_CONTEXT_FACTORY, org.wildfly.naming.client.WildFlyInitialContextFactory);
env.put(Context.PROVIDER_URL, "http-remoting://localhost:8080");
env.put(Context.SECURITY_PRINCIPAL, "Username");
env.put(Context.SECURITY_CREDENTIALS, "Password");
InitialContext ic = new InitialContext(env);
return (ConnectionFactory) ic.lookup("jms/RemoteConnectionFactory");
}
【问题讨论】:
-
您能否提供使用 DefaultMessageListenerContainer 的代码和/或配置?
-
@Bean public DefaultMessageListenerContainer myFactory() 抛出 NamingException { DefaultMessageListenerContainer listenerContainer = new DefaultMessageListenerContainer(); listenerContainer.setConnectionFactory(getConnectionFactory()); listenerContainer.setDestinationName("jms/queue/QueueA"); listenerContainer.setMessageListener(new MessageReceiver());返回侦听器容器; }
-
私有 ConnectionFactory getConnectionFactory() 抛出 NamingException { final Properties env = new Properties(); env.put(Context.INITIAL_CONTEXT_FACTORY, org.wildfly.naming.client.WildFlyInitialContextFactory); env.put(Context.PROVIDER_URL, "http-remoting://localhost:8080"); env.put(Context.SECURITY_PRINCIPAL, "用户名"); env.put(Context.SECURITY_CREDENTIALS, "密码"); InitialContext ic = new InitialContext(env); return (ConnectionFactory) ic.lookup("jms/RemoteConnectionFactory"); }
标签: spring-boot microservices spring-jms jboss-eap-7 activemq-artemis