MessageDrivenBean не может проверить пользователя на удаленном сервере - PullRequest
0 голосов
/ 28 марта 2019

Я пытаюсь прослушать очередь JMS на удаленном сервере Wildfly.Я успешно подключился к удаленному устройству, чтобы отправить сообщение тому же пользователю, но когда я установил свой MessageDrivenBean, я получил ошибку.

@MessageDriven(name = "MessageListenerBean", activationConfig = {
        @ActivationConfigProperty(propertyName = "user", propertyValue = "username"),
        @ActivationConfigProperty(propertyName = "password", propertyValue = "p@ssw0rd!"),
        @ActivationConfigProperty(propertyName = "useJNDI", propertyValue = "false"),
        @ActivationConfigProperty(propertyName = "destination", propertyValue = "/queue/receive"),
        @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
        @ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge"),
        @ActivationConfigProperty(propertyName="connectionParameters", propertyValue = "host=localhost;port=8080")})
public class MessageListenerBean implements MessageListener {

Ошибка:

AMQ222216: Security problem while creating session: 
AMQ119031: Unable to validate user from invm:0. 
Username: username; SSL certificate subject DN: unavailable

Япри условии, что моя конфигурация неверна, но как?

1 Ответ

0 голосов
/ 28 марта 2019

Вам необходимо указать правильные connectorClassName в конфигурации активации. По умолчанию org.apache.activemq.artemis.core.remoting.impl.invm.InVMConnectorFactory, поэтому он использует соединитель invm для локального брокера. Используйте это:

@ActivationConfigProperty(propertyName="connectorClassName", propertyValue = "org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnectorFactory")
...