【发布时间】:2020-09-22 12:45:25
【问题描述】:
我们有一个 Openshift 项目 ( project1 ),我们在其中使用图像设置了一个 AMQ Artemis 代理:amq-amq-broker-7-tech-preview/amq-broker-71-openshif。作为基本镜像,我们没有任何配置,例如 SSL 或 TLS。为了进行我们用作示例的设置:https://github.com/jboss-container-images/jboss-amq-7-broker-openshift-image/blob/amq71-dev/templates/amq-broker-71-basic.yaml
在 Openshift 上部署映像后,我们有以下内容:
- broker-amq-amqp (5672/TCP 5672) 无路由
- 经纪人-amq-jolokia (8161/TCP 8161) https://broker-amq-jolokia-project1.192.168.99.105.nip.io
- broker-amq-mqtt (1883/TCP 1883) 无路由
- broker-amq-stomp (61613/TCP 61613) 无路由
- broker-amq-tcp (61616/TCP 61616) 无路由
从另一个 Openshift 服务,在 Java 中,我们尝试连接到代理,但我们收到以下错误:
[org.apache.activemq.transport.failover.FailoverTransport] (ActiveMQ Task-1) Failed to connect to [tcp://broker-amq-amqp-project1.192.168.99.105.nip.io:61616?keepAlive=true] after: 230 attempt(s) with Connection refused (Connection refused), continuing to retry.
Java 代码:
user = "example";
password = "example";
String address = "queue/example";
InitialContext context = new InitialContext();
queue = (Queue) context.lookup(address);
ConnectionFactory cf = (ConnectionFactory) context.lookup("ConnectionFactory");
try (Connection connection = cf.createConnection(user, password);) {
connection.start();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
}
JNDI 属性文件
java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory
java.naming.provider.url=failover:(tcp://broker-amq-amqp-project1.192.168.99.105.nip.io:61616?keepAlive=true)?randomize=false
queue.queue/example=example/strings
【问题讨论】:
标签: java openshift activemq-artemis