Java Can';t在WIldfly 11上向队列发送消息

Java Can';t在WIldfly 11上向队列发送消息,java,jms,wildfly,Java,Jms,Wildfly,我有一个小消息制作人: public static void main(String[] args) throws Exception { BasicConfigurator.configure(); Properties env = new Properties(); InputStream is = Producer.class.getResourceAsStream("/jms.properties"); env.load(

我有一个小消息制作人:

 public static void main(String[] args) throws Exception {
        BasicConfigurator.configure();
        Properties env = new Properties();
        InputStream is = Producer.class.getResourceAsStream("/jms.properties");
        env.load(is);
        Context context = new InitialContext(env);
        ConnectionFactory factory = (ConnectionFactory) context.lookup("jms/RemoteConnectionFactory");
        Destination queue = (Destination) context.lookup("jms/demoQueue");

        JMSContext jmsContext = factory.createContext();
        jmsContext.createProducer().send(queue, "Message");

    }
使用以下属性:

java.naming.factory.initial = org.wildfly.naming.client.WildFlyInitialContextFactory
java.naming.provider.url = http-remoting://localhost:8080
java.naming.security.principal = alex
java.naming.security.credentials = password
messagingProvider = demo
connectionFactoryNames = QueueFactory
queue.queueReq = jms.queueReq
queue.queueResp = jms.queueResp
但我有一个例外:

“原因:javax.jms.JMSSecurityException:AMQ119031:无法 “验证用户”


我相信我在服务器上配置错误。但究竟是什么呢?安全设置具有以下模式:#角色为来宾和管理员。我看不到任何与安全性相关的内容

使用两个参数调用重载的
createContext()
方法:


JMSContext context=factory.createContext(“alex”,“password”);

如果“alex”用户分配了正确的角色,那么它应该可以工作

我记得我曾与开发人员讨论过
createContext()
应该如何工作(它与新的安全子系统Elytron有关),现在的决定是:它按设计工作,但将来可以增强


有关详细信息,请参阅。

使用两个参数调用重载的
createContext()
方法:


JMSContext context=factory.createContext(“alex”,“password”);

如果“alex”用户分配了正确的角色,那么它应该可以工作

我记得我曾与开发人员讨论过
createContext()
应该如何工作(它与新的安全子系统Elytron有关),现在的决定是:它按设计工作,但将来可以增强

有关详细信息,请参阅