gpt4 book ai didi

java - 无法在 WIldfly 11 上向队列发送消息

转载 作者:行者123 更新时间:2023-12-02 02:26:19 29 4
gpt4 key购买 nike

我有一个小消息生成器:

 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

但我遇到了一个异常(exception):

"Caused by: javax.jms.JMSSecurityException: AMQ119031: Unable to validate user"

我相信我在服务器上配置了一些错误。但到底是什么?安全设置具有模式:# 以及角色 guest 和 admin。我没有看到任何与安全相关的内容

最佳答案

调用重载的createContext()有 2 个参数的方法:


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

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

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

参见comments in JBEAP-10527了解详情。

关于java - 无法在 WIldfly 11 上向队列发送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47727816/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com