- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想在嵌入式代理中创建代理到代理 ActiveMQ 和 WebSphere MQ 之间的连接。我知道 activemq 中存在网络连接器来执行此操作(代理到代理),但我不知道如何配置它以连接到 WebSphere MQ。在网络上进行搜索时,我发现了一些处理 XML 配置的不同方法,我注意到所使用的 XML 标记不引用网络连接器,而是引用 <jmsBridgeConnectors>
。 ,所以我通过使用 Java 代码对这个桥接器进行了研究,但我找不到可以指导我如何做到这一点的东西。
是否有一种明确的方法可以通过使用 java 代码而不是使用 XML 配置来为嵌入式代理在 ActiveMQ 中配置桥连接器到 WebSphere MQ?
我知道这可以通过使用 XML 配置来实现,但是,如果我要实现一个嵌入式代理(正如我之前提到的),并且我想使用 java 代码将代理实例配置为连接到 WebSphere MQ 的桥接器, ActiveMQ 是否在 API 上提供类或接口(interface)来执行此操作?
这就是我连接两个 activemq 代理所做的
try {
getBroker().addConnector("tcp://localhost:61616");
getBroker().addNetworkConnector("static:(tcp://remotBroker:61616)");
} catch (Exception e) {
logger.error("Unexpected ERROR, connection lost.");
e.printStackTrace();
}
一个 TransportConnector 用于监听端口 61616 和一个网络连接器用于建立从我的本地代理到 remoteBroker 的连接,两个代理都是activemq 的实例。现在我想要使用 Java 代码(不使用 XML)从我的 ActiveMQ 本地代理连接到 WebSphere MQ 代理。
最佳答案
这很简单。以下示例将 ActiveMQ 队列 QUEUE42 上的所有消息发送到远程 WebSphere MQ 代理。更改连接设置。
这要求您在类路径中有一些 WMQ 库:com.ibm.mq.jar 和 com.ibm.mqjms.jar(至少)。诀窍是简单地创建一个带有 QueueConnectionFactory(到 WMQ)的 JmsQueueConnector 以及您想要的任何入站/出站桥。网桥只是将被复制的队列名称。
BrokerService broker = new BrokerService();
broker.setBrokerName("amqbroker");
broker.setPersistent(false);
broker.setTransportConnectorURIs(new String[] {"tcp://localhost:61616"});
// setup bridge
JmsQueueConnector qCon = new JmsQueueConnector();
JmsFactoryFactory ff = JmsFactoryFactory.getInstance(WMQConstants.WMQ_PROVIDER);
JmsQueueConnectionFactory cf = ff.createQueueConnectionFactory();
cf.setStringProperty(WMQConstants.WMQ_HOST_NAME, "192.168.13.151");
cf.setIntProperty(WMQConstants.WMQ_PORT, 1414);
cf.setStringProperty(WMQConstants.WMQ_CHANNEL, "SYSTEM.DEF.SVRCONN");
cf.setIntProperty(WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_CLIENT);
cf.setStringProperty(WMQConstants.WMQ_QUEUE_MANAGER, "SUPERHERO");
qCon.setOutboundQueueConnectionFactory(cf);
OutboundQueueBridge outBridge1 = new OutboundQueueBridge("QUEUE42");
qCon.setOutboundQueueBridges(new OutboundQueueBridge[] {outBridge1});
broker.setJmsBridgeConnectors(new JmsConnector[] {qCon});
broker.start();
关于java - 在不使用 XML 配置的情况下连接到 WebSphereMQ 的 ActiveMQ 桥接器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29476063/
我正在尝试将消息放入未在队列管理器(队列管理器别名)本地定义的远程队列中。我被告知将远程队列管理器名称放在消息传输 header 中,以便将其路由到适当的传输队列。 我可以通过以下方式连接到内部队列管
我使用 WebSphereMQ v7.1 和 HermesJMS v1.14 SoapUI。我设置了一切以在没有 SSL 的情况下连接此应用程序,它们工作正常。问题是,当我尝试使用 SSL 连接时。我
我想设置一组测试来测试 QM 的新安装。他们中的大多数将处于“远程”设置中。我希望能够向新 QM 发送消息并收到回复。有什么方法可以仅使用正常配置(即不使用导出)来创建“循环”? 最佳答案 我的前雇主
MQ8。我在新队列管理器 MYQMGR 中创建了两个 channel FOO 和 SYSTEM.ADMIN.SVRCONN。 我在端口 1414 上创建了一个 TCP 监听器。 我在/var/mqm/
我应该在客户端 WebsphereMQ 中的哪里设置 MQMD 消息上下文? MQQueueConnectionFactory mqConnectionFactory = new MQQueueCon
我正在尝试使用mo74库,但总是收到异常“System.TypeInitializationException,WebSphereMQ。”。 库已安装(我可以通过WMQ命令获得帮助)。 我从那里下载的
我正在尝试使用 .Net Core 2.2 连接到 WebsphereMQ 队列。我真的很困惑如何做到这一点。在展示我正在尝试(和失败)的内容之前,我想做一些澄清: 我应该使用哪个库以及如何获取它?
我想在嵌入式代理中创建代理到代理 ActiveMQ 和 WebSphere MQ 之间的连接。我知道 activemq 中存在网络连接器来执行此操作(代理到代理),但我不知道如何配置它以连接到 Web
我正在尝试使用 rubywmq gem 将消息发布到 IBM MQ 发布/订阅主题。我没有看到从 Ruby 代码发布到主题的任何直接方式。 以下是 MQ TOPIC,SUB setup MQSC:
我是一名优秀的程序员,十分优秀!