JBoss default messaging JMS Queue receiver

The JMS receiver does not have a backup queue. Therefore, you must configure two different services; one to listen on the primary queue and the other to listen on the backup queue. When an exception occurs, the receiver retries to use an exponential back off mechanism with a configurable maximum wait limit between retries.

For example, if 600 seconds is the maximum wait time, the receiver first waits for 1 second, then 2 seconds, 4, 8, 16, and so forth until it reaches 600 seconds, after which, the receiver retries every 600 seconds. Therefore, there is no boundary on the total wait time.

As JMS receivers operate independently of each other with respect to the primary and backup queues, the order of messages across these queues is not supported.

Configuration properties

The following are the configuration properties of this node:

Table 1. JBoss default messaging JMS Queue receiver configuration properties
Property Description
Runtime Tab
Sub Service Name Enter the name of the queue to which the message is sent.
Destination Name Enter the name of the queue to which the message is sent.
Provider URL Enter the JMS queue server provider URL of the JMS implementation to use for JNDI lookups.

For the JBoss Default Messaging JMS Queue, enter the URL as: jnp::<DNS Server Name or IP Address>:<bootstrapport>.

For clustered JMS configurations, use a comma-separated value comprising the host/IP and port of each node in the cluster. For example, for the JBoss Default Messaging JMS Queue, enter the URL as: <DNS Server Name or IP Address>:<bootstrapport>,<DNS Server Name or IP Address>:<bootstrapport>; for example, 10.11.23.40:1100,10.11.23.41:1200

Initial Context Factory The class name of the initial context factory. This is the starting point for the resolution of names for naming and directory operations.

Select Jboss, if you are using JBoss Default Messaging JMS Queue. This sets the class name to

org.jnp.interfaces.NamingContextFactory

Connection Factory Enter the backup queue of the JMS queue server connection factory name. This is used to retrieve the connection factory from JNDI. A client uses a connection factory to create connections with a JMS provider. Enter any unique identifier for the connection factory. This name must be the same as the one configured in the JBoss administration console.
Receiving Mode Indicates whether the messages are received in transactional mode or non-transactional mode.
  • If you set this to non-transactional mode, the messages are removed from the queue as soon as they are read.
  • If you set this to transactional mode, the messages are removed from the queue when they are functionally processed or if an exception is thrown when processing it.
Note: If the IsReprocessible flag is checked and an exception occurs when processing the message, before deleting the message, ensure that it is added to the YFS_REPROCESS_ERROR or YFS_INBOX table. However, if the "service suspend" exception occurs when adding deleted messages to a table, the messages are maintained in the queue.
Initial Threads Enter the number of threads that can process messages simultaneously. Based on your throughput, you can increase the number of threads to enhance performance using the System Management Console.

You can also start multiple instances of the Service Definition Framework for a specific integration adapter and a server.

Selector Enter selectors based on the message headers. These selectors must be in the form Header Name='Header Value'. When specifying a selector, use only single quotes. For example, using the selector APINAME='createOrder' selects all messages with the header name='APINAME' and the value='createOrder'.
Service to Execute on EOF Message Required if the message contains an EOF message ID.

Click the Search icon to select the service to invoke when an EOF message is received. Once the EOF message is received, the framework waits for a few minutes (configurable in the <INSTALL_DIR>/properties/customer_overrides.properties file) before executing this service. For more information about EOF messages, see Enabling EOF messages in the application platform framework.

Root Node Name of EOF Message If the message contains an EOF message ID, enter your custom root node name for the EOF message.

By default the EOF message has a root node of "EOF". For more information about EOF messages, see Enabling EOF messages in the application platform framework.

Enable JMS Security Check this box if you want to enable JMS Security. When this box is selected, the JMS Security Properties tab is enabled for you to configure destination and/or JNDI based JMS security.
Server Tab
Server Name Select the name of the server that executes the service.

For more information about creating a new server, see "Adding a New Server".

Needs Decompression Check this box to indicate that the incoming message is compressed and needs to be decompressed.
Exception Tabs See Table 1 for the receiver link exception handling properties.
Reconnect Tab
Maximum Time Between Retries (milliseconds) Enter the maximum time required between reconnection attempts.
JMS Security Properties Tab

This tab is enabled only when you check the Enable JMS Security box provided in the runtime tab.

Note: You can override the JMS security properties specified here by defining the agent and flow authorization parameters in the <INSTALL_DIR>/properties/customer_overrides.properties file.

Destination based security Check this box if you want to provide destination based security for JMS service.
JNDI based security Check this box if you want to provide JNDI based security for JMS service.
Note: This checkbox is not applicable for JBoss as it does not support JNDI based JMS security.
JMS Security Parameters

For more information about application server-specific JMS security parameters, see "Setting up the JMS Security Properties" section.

Parameter Name Enter the name of the security parameter.
Parameter Value Enter the value of the security parameter.

Connection properties

The following are the Generic JMS queue node connection properties:

Table 2. JBoss default messaging JMS Queue connection properties
Connection Node Connection Rules
Can be the first node after the start node Yes, for services invoked both in a synchronous or asynchronous mode.
Can be placed before
  • Any component node
  • Any transport node (except for FTP or File I/O). Use a pass-through node to connect them.
Can be placed after
  • Start node
  • Any synchronous transport node
  • Any other component node
  • Any asynchronous transport node (except for FTP or File I/O). Use a pass-through node to connect them.
Passes data unchanged Transport nodes do not modify data.