User Community Service Desk Downloads
If you can't find the product or version you're looking for, visit support.ataccama.com/downloads

JMS Provider Component

The JMS Provider component is used for selecting active connections from the JMS configuration pool and for configuring JMS loggers.

The jmsResources section contains references to jmsConnection nodes defined in the Runtime Configuration file (see section JMS connection). Only these connections are available to ONE Runtime Server.

The connectionPoolSize section sets the number of threads that can concurrently process JMS requests received from all JMS connections defined. The level of parallelization can be decreased by the settings of the service that consumes messages from JMS queues or topics (for example, minPoolSize and maxPoolSize settings in .online files). If the connectionPoolSize is missing, the default value of 5 is used.

The maximum size should be set reasonably high with respect to the particular HW configuration and solution load. Keep in mind that a higher number might not yield higher throughput. Do not use a number higher than 1000.

The filters section contains filter definitions and their mapping to connections and input or output destinations. The following filters are available:

  • com.ataccama.dqc.jms.filters.JmsLoggingFilter - Logs content of the request or response to the file.

  • com.ataccama.dqc.jms.filters.JmsResponseTimeLogger - Logs the time of the request processing to the logger.

The optional mapping section under the filter definition limits the logging filter to specific connections and destinations. When no mapping is configured, the filter affects all connections and destinations.

Sample JMS Provider component configuration
<component class="com.ataccama.dqc.jms.JmsProviderComponent">
    <jmsResources>
        <resource>myJmsConnection1</resource>
        <resource>myJmsConnection2</resource>
        <resource>myJmsConnection3</resource>
    </jmsResources>
    <connectionPoolSize>5</connectionPoolSize>
    <filters>
        <filter>
            <filter class="com.ataccama.dqc.jms.filters.JmsLoggingFilter">
                <logFile>myRequestResponse.log</logFile>
                <appendLog>true</appendLog>
                <maxRequestLogSize>128</maxRequestLogSize>
                <maxResponseLogSize>128</maxResponseLogSize>
                <logRequestHeaders>true</logRequestHeaders>
                <logRequestContents>true</logRequestContents>
                <logResponseHeaders>true</logResponseHeaders>
                <logResponseContents>true</logResponseContents>
            </filter>
            <mappings>
                <mapping connection="myJmsConnection1" destination="myMessageQueue1"/>
                <mapping connection="myJmsConnection2" destination="myMessageQueue2"/>
            </mappings>
        </filter>
        <filter>
            <filter class="com.ataccama.dqc.jms.filters.JmsResponseTimeLogger">
                <name>myTimeLogger</name>
                <level>INFO</level>
            </filter>
            <mappings>
                <mapping connection="myJmsConnection2"/>
            </mappings>
        </filter>
    </filters>
</component>

Was this page useful?