Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page contains a common JMS configuration.

JMS component configuration:

This article describes the JMS component configuration - it defines all JMS components which will be used in MC2.

Configuration The configuration files of JMS components (components.json) are stored by in this path: 

Info
titlePath to components

estar/tpe/dynamic/mc2/eaglejms/components/*.json

...

Warning
titleWarning

Do NOT use underscore character ("_") in JMS component & and JMS connection names in JSON!.


This is common configuration format of components.json:

Code Block
languagejs
themeConfluence
titlecomponents.json
collapsetrue
 {
    "Components": [
        //* ActiveMQ:
        {
            "componentName": "eagle-amq",
            "componentClass": "org.apache.activemq.camel.component.ActiveMQComponent",
            "connectionFactory": "#{wrapper:amqconnPool_native[amqConnFactory]}" //"#{cf:amqConnFactory}" 
        },
        {
            "componentName": "eagle-amq-tds",
            "componentClass": "org.apache.activemq.camel.component.ActiveMQComponent",
            "connectionFactory": "#{wrapper:single_amqconnPool_native[amqConnFactoryTds]}" //"#{cf:amqConnFactory}" 
        },
        {
            "componentName": "eagle-amq-no-pool",
            "componentClass": "org.apache.activemq.camel.component.ActiveMQComponent",
            "connectionFactory": "#{wrapper:single_amqconnPool_native[amqConnFactory]}"
        },
        //* IBM WebSphere MQ (IBM MQ):
        {
            "componentName": "wmq",
            "componentClass": "org.apache.camel.component.jms.JmsComponent",
            "connectionFactory": "#{wrapper:connPool[wmqConnFactory]}"//"#{cf:wmqConnFactory}"
        },
        {
            "componentName": "wmq-tds",
            "componentClass": "org.apache.camel.component.jms.JmsComponent",
            "connectionFactory": "#{wrapper:single_connPool[wmqConnFactory]}"//"#{cf:wmqConnFactory}"
        },
        {
            "componentName": "wmq-no-pool",
            "componentClass": "org.apache.camel.component.jms.JmsComponent",
            "connectionFactory": "#{cf:wmqConnFactory}"
        }

        //============================ Components with SSL ==================================
        ,
        {
            "componentName": "wmqssl",
            "componentClass": "org.apache.camel.component.jms.JmsComponent",
            "connectionFactory": "#{wrapper:connPool[wmqConnFactorySSL]}"
        },
        {
            "componentName": "wmqssl-no-pool",
            "componentClass": "org.apache.camel.component.jms.JmsComponent",
            "connectionFactory": "#{cf:wmqConnFactorySSL}"
        },
        {
            "componentName": "eagle-amqssl",
            "componentClass": "org.apache.activemq.camel.component.ActiveMQComponent",
            "connectionFactory": "#{wrapper:amqconnPool_native[amqConnFactorySSL]}" 
        },
        {
            "componentName": "eagle-amqssl-no-pool",
            "componentClass": "org.apache.activemq.camel.component.ActiveMQComponent",
            "connectionFactory": "#{cf:amqConnFactorySSL}" 
        }
    ]
    ,
    "ConnectionFactories": { //*** reference: cf
            "wmqConnFactory": { "class": "com.ibm.mq.jms.MQConnectionFactory" }
            ,
            "amqConnFactory": { "class": "org.apache.activemq.ActiveMQConnectionFactory",
                                "parameters": { "UserName": "#{stream:USERID}",
                                                "Password": "#{stream:USERPASSWORD}"}
            }
            ,
            "amqConnFactoryTds": { "class": "org.apache.activemq.ActiveMQConnectionFactory", //* AMQ connection factory for topic durable subscription
                                   "parameters": { "UserName": "#{stream:USERID}",
                                                   "Password": "#{stream:USERPASSWORD}",
                                                   "ClientID": "#{stream:CLIENT_ID}" }
            }
            ,
            "wmqConnFactorySSL": { "class": "com.ibm.mq.jms.MQConnectionFactory", 
                                   "parameters": { "SSLFipsRequired" : false ,
                                                   "SSLSocketFactory": "#{instance:SSLSocketFactory}" ,
                                                   "SSLCipherSuite"  : "TLS_RSA_WITH_AES_128_CBC_SHA256" } 
            }
            ,
            "amqConnFactorySSL": { "class": "org.apache.activemq.ActiveMQSslConnectionFactory", 
                                   "parameters": { "KeyAndTrustManagers": "#{instance:KeyAndTrustManagers}",
                                                   "UserName": "#{stream:USERID}",
                                                   "Password": "#{stream:USERPASSWORD}" }
            }
    }
    ,
    "Wrappers": {
            "connPool<T>": { "class": "org.springframework.jms.connection.CachingConnectionFactory",   // #{wrapper:connPool[wmqConnFactory]}
                             "parameters": { "setTargetConnectionFactory": "#{cf:<T>}",
                                             "setSessionCacheSize": "100"
                                           },
                             "init_method": "initConnection",
                             "destroy_method": "by default"
            }
            ,
            "single_connPool<T>": { "class": "org.springframework.jms.connection.SingleConnectionFactory",   // #{wrapper:connPool[wmqConnFactory]}
                                    "parameters": { "setTargetConnectionFactory": "#{cf:<T>}",
                                                    "ClientId": "#{stream:CLIENT_ID}"
                                                  },
                                    "init_method": "initConnection",
                                    "destroy_method": "destroy"
            }
            ,
            "amqconnPool": { "class": "org.springframework.jms.connection.CachingConnectionFactory",
                             "parameters": { "TargetConnectionFactory": "#{cf:amqConnFactory}",
                                             "SessionCacheSize": "10"
                                            },
                             "init_method": "initConnection",
                             "destroy_method": "by default"
            }
            ,
            "amqconnPool_native<T>": { "class": "org.apache.activemq.pool.PooledConnectionFactory",
                                       "parameters": { "ConnectionFactory": "#{cf:<T>}"
                                                     },
                                       "init_method": "start",
                                       "destroy_method": "stop"
            }
            ,
            "single_amqconnPool_native<T>": { "class": "org.apache.activemq.pool.PooledConnectionFactory",
                                              "parameters": { "ConnectionFactory": "#{cf:<T>}",
                                                              "MaxConnections": "1",
                                                              "MaximumActiveSessionPerConnection": "1"
                                                            },
                                              "init_method": "start",
                                              "destroy_method": "stop"
            }
    }
}

...