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.
<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?