2016-03-31 54 views
0

SSL Bağlantılı ActiveMQ ve Tibco EMS arasında bir aracı kurmaya çalışıyorum.SSL üzerinden Tibco EMS'ye bağlanmak için ActiveMQ aracısı

  1. Ben kopyaladığınız
  2. lib activemq/altında jms-2.0.jar, tibcrypt.jar, tibjms.jar ve slf4j-api-1.7.13.jar ben activemq.xml yapılandırma
aşağıdakilere sahip

Yayım: Komisyoncu düzgün çalışıyor. Ancak, EMS'den yeni mesajlar yakalayamıyor. ne de herhangi bir hataya neden olur.

<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"> 
    <!-- Allows us to use system properties as variables in this configuration file --> 
    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
     <property name="locations"> 
      <value>file:${activemq.conf}/credentials.properties</value> 
     </property> 
    </bean> 
    <!-- Allows accessing the server log --> 
    <bean id="logQuery" class="io.fabric8.insight.log.log4j.Log4jLogQuery" 
      lazy-init="false" scope="singleton" 
      init-method="start" destroy-method="stop"> 
    </bean> 
<!-- JMS ConnectionFactory to use for local bridging --> 
    <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" /> 
    </bean> 
    <!-- 
     The <broker> element is used to configure the ActiveMQ broker. 
    --> 
    <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}"> 
     <destinationPolicy> 
      <policyMap> 
       <policyEntries> 
       <policyEntry topic=">" > 
        <!-- The constantPendingMessageLimitStrategy is used to prevent 
         slow topic consumers to block producers and affect other consumers 
         by limiting the number of messages that are retained 
         For more information, see: 
         http://activemq.apache.org/slow-consumer-handling.html 
        --> 
        <pendingMessageLimitStrategy> 
        <constantPendingMessageLimitStrategy limit="1000"/> 
        </pendingMessageLimitStrategy> 
       </policyEntry> 
       </policyEntries> 
      </policyMap> 
     </destinationPolicy> 
     <!-- 
      The managementContext is used to configure how ActiveMQ is exposed in 
      JMX. By default, ActiveMQ uses the MBean server that is started by 
      the JVM. For more information, see: 
      http://activemq.apache.org/jmx.html 
     --> 
     <managementContext> 
      <managementContext createConnector="false"/> 
     </managementContext> 
     <!-- 
      Configure message persistence for the broker. The default persistence 
      mechanism is the KahaDB store (identified by the kahaDB tag). 
      For more information, see: 
      http://activemq.apache.org/persistence.html 
     --> 
     <persistenceAdapter> 
      <kahaDB directory="${activemq.data}/kahadb"/> 
     </persistenceAdapter> 
      <!-- 
      The systemUsage controls the maximum amount of space the broker will 
      use before disabling caching and/or slowing down producers. For more information, see: 
      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> 
     <!-- 
      The transport connectors expose ActiveMQ over a given protocol to 
      clients and other brokers. For more information, see: 
      http://activemq.apache.org/configuring-transports.html 
     --> 
     <transportConnectors> 
      <!-- DOS protection, limit concurrent connections to 1000 and frame size to 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> 
     <!-- destroy the spring context on shutdown to stop jetty --> 
     <shutdownHooks> 
      <bean xmlns="http://www.springframework.org/schema/beans" 

class = "org.apache.activemq.hooks.SpringContextHook" />

 <!-- Dependencies: tibjms.jar must be in the activemq lib directory --> 
     <!-- bridging definitions for traffic to/from remote activemq instance --> 
     <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> 
    </broker> 

    <!-- 
     Enable web consoles, REST and Ajax APIs and demos 
     The web consoles requires by default login, you can disable this in the jetty.xml file 
     Take a look at ${ACTIVEMQ_HOME}/conf/jetty.xml for more details 
    --> 
    <import resource="jetty.xml"/> 
</beans> 
<!-- END SNIPPET: example --> 

cevap

0

şiddetle kablolama yukarı komisyoncu-to-yerine bir köprü kullanmanızı tavsiye ActiveMQ ile JMS aracı. Broker-broker yaklaşımı, kullanım durumunuz için bir köprünün daha iyi özelleştirilebildiği, hata işleme senaryolarıyla karmaşıktır.