首页 文章

ActiveMQ代理通过SSL连接到Tibco EMS

提问于
浏览
0

我试图通过SSL连接在ActiveMQ和Tibco EMS之间 Build 代理 .

  • 我在activemq / lib下复制了jms-2.0.jar,tibcrypt.jar,tibjms.jar和slf4j-api-1.7.13.jar

  • 我有以下activemq.xml配置

Issue: 经纪人开始没事 . 但是它无法从EMS捕获新消息 . 它都没有引起任何错误 .

<beans xmlns =“http://www.springframework.org/schema/beans”
的xmlns:的xsi = “http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation =“http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd“>
<! - 允许我们在此配置文件中使用系统属性作为变量 - >

<bean class =“org.springframework.beans.factory.config.PropertyPlaceholderConfigurer”> <property name =“locations”> <值>文件:$ {activemq.conf} /credentials.properties </值> </属性> </ beans > <! - 允许访问服务器日志 - > <bean id =“logQuery”class =“io.fabric8.insight.log.log4j.Log4jLogQuery” lazy-init =“false”scope =“singleton” init-method =“start”destroy-method =“stop”> </ beans > <! - 用于本地桥接的JMS ConnectionFactory - > <bean id =“tibco”class =“com.tibco.tibjms.TibjmsQueueConnectionFactory”> <property name =“serverUrl”value =“ssl://10.88.66.225:7243”/> <property name =“userName”value =“admin”/> <property name =“userPassword”value =“admin123”/> <property name =“SSLIdentity”value =“/ home / activemq / activemq / conf / client_identity.p12”/> <property name =“SSLAuthOnly”value =“true”/> </ beans > <! - <broker>元素用于配置ActiveMQ代理 . - > <broker xmlns =“http://activemq.apache.org/schema/core”brokerName =“localhost”dataDirectory =“$ {activemq.data}”> <destinationPolicy> <policyMap> <policyEntries> <policyEntry topic =“>”> <! - constantPendingMessageLimitStrategy用于防止 缓慢主题消费者阻止 生产环境 者并影响其他消费者 通过限制保留的消息数量 有关更多信息,请参阅: http://activemq.apache.org/slow-consumer-handling.html - > <pendingMessageLimitStrategy> <constantPendingMessageLimitStrategy limit =“1000”/> </ pendingMessageLimitStrategy> </ policyEntry> </ policyEntries> </ policyMap> </ destinationPolicy> <! - managementContext用于配置ActiveMQ的公开方式 JMX . 默认情况下,ActiveMQ使用由其启动的MBean服务器 JVM . 有关更多信息,请参阅: http://activemq.apache.org/jmx.html - > <managementContext> <managementContext createConnector =“false”/> </ managementContext> <! - 为代理配置消息持久性 . 默认持久性 机制是KahaDB商店(由kahaDB标签标识) . 有关更多信息,请参阅: http://activemq.apache.org/persistence.html - > <persistenceAdapter> <kahaDB directory =“$ {activemq.data} / kahadb”/> </ persistenceAdapter> <! - systemUsage控制代理将占用的最大空间量 在禁用缓存和/或减慢 生产环境 者之前使用 . 有关更多信息,请参阅: http://activemq.apache.org/producer-flow-control.html - > <systemUsage> <systemUsage> <的MemoryUsage> <memoryUsage percentOfJvmHeap =“70”/> </的MemoryUsage> <storeUsage> <storeUsage limit =“100 gb”/> </ storeUsage> <tempUsage> <tempUsage limit =“50 gb”/> </ tempUsage> </ systemUsage> </ systemUsage> <! - 传输连接器通过给定协议将ActiveMQ暴露给 客户和其他经纪人 . 有关更多信息,请参阅: http://activemq.apache.org/configuring-transports.html - > <transportConnectors> <! - DOS保护,将并发连接限制为1000,帧大小限制为100MB - > <transportConnector name =“openwire”uri =“tcp://0.0.0.0:61616?maximumConnections = 1000&amp; wireFormat.maxFrameSize = 104857600”/> <transportConnector name =“amqp”uri =“amqp://0.0.0.0:5672?maximumConnections = 1000&amp; wireFormat.maxFrameSize = 104857600”/> <transportConnector name =“stomp”uri =“stomp://0.0.0.0:61613?maximumConnections = 1000&amp; wireFormat.maxFrameSize = 104857600”/> <transportConnector name =“mqtt”uri =“mqtt://0.0.0.0:1883?maximumConnections = 1000&amp; wireFormat.maxFrameSize = 104857600”/> <transportConnector name =“ws”uri =“ws://0.0.0.0:61614?maximumConnections = 1000&amp; wireFormat.maxFrameSize = 104857600”/> </ transportConnectors> <! - 在关机时销毁 spring 上下文以停止码头 - > <shutdownHooks> < beans 的xmlns = “http://www.springframework.org/schema/beans” class =“org.apache.activemq.hooks.SpringContextHook”/> <! - 依赖关系:tibjms.jar必须位于activemq lib目录中 - > <! - 桥接到/来自远程activemq实例的流量定义 - > <jmsBridgeConnectors> <jmsQueueConnector outboundQueueConnectionFactory =“#tibco”> <inboundQueueBridges> <inboundQueueBridge inboundQueueName =“queue.Sample” localQueueName =“queue.incomingMsgs.Sample”/> </ inboundQueueBridges> <outboundQueueBridges> <outboundQueueBridge outboundQueueName =“queue.activemqtoems” localQueueName =“queue.incomingMsgs.Sample”/> </ outboundQueueBridges> </ jmsQueueConnector> </ jmsBridgeConnectors> </经纪人>

<! -
启用Web控制台,REST和Ajax API以及演示
默认情况下,Web控制台需要登录,您可以在jetty.xml文件中禁用它
有关更多详细信息,请查看$
/conf/jetty.xml

<import resource =“jetty.xml”/> </ beans > <! - END SNIPPET:示例 - >

1 回答

  • 0

    我强烈建议使用网桥而不是使用ActiveMQ连接代理到代理JMS . 代理到代理的方法因错误处理方案而变得复杂,可以更好地定制桥接以处理您的用例 .

相关问题