+

Search Tips   |   Advanced Search


Set a listener port >

Listener port settings


A listener port defines the association between a connection factory, a destination, and a deployed message-driven bean. This enables deployed message-driven beans associated with the port to retrieve messages from the destination.

To set the configuration properties of the selected listener port.

To view this admin console page, click Servers > Server Types > WebSphere application servers > server_name > [Communications] Messaging > Message Listener Service > Listener Ports > listener_port.

Name

The name by which the listener port is known for administrative purposes.

Data type String
Default Null

Initial state

The state that you want the listener port to have when the appserver is next restarted

Data type Enum
Units Not applicable
Default Started
Range

Started

When the appserver is next started, the listener port is started automatically.

Stopped

When the appserver is next started, the listener port is not started automatically. If message-driven beans are to use this listener port on the appserver, the system administrator must start the port manually or select the Started value of this property then restart the appserver.

Description

A description of the listener port, for administrative purposes within IBM WAS.

Data type String
Default Null

Connection factory JNDI name

The JNDI name for the JMS connection factory to be used by the listener port; for example, jms/connFactory1.

Data type String
Default Null

Destination JNDI name

The JNDI name for the destination to be used by the listener port; for example, jms/destn1.

We cannot use a temporary destination for late responses.

Data type String
Default Null

Maximum sessions

Maximum number of concurrent sessions that a listener can have with the JMS server to process messages.

Each session corresponds to a separate listener thread and therefore controls the number of concurrently processed messages. Adjust this parameter when the server does not fully use the available capacity of the machine and if we do not have to process messages in a specific message order.

Data type Integer
Units Sessions
Default 1
Range 1 through 2147483647
Recommended

  • To process messages in a strict message order, set the value to 1, so only one thread is ever processing messages.

  • To process multiple messages simultaneously (known as "message concurrency"), set this property to a value greater than 1. Keep this value as low as possible to prevent overloading client applications. A good starting point for a 100% JMS workload with short transaction times is 2 to 4 sessions per processor. If longer running transactions exist, we might need more sessions, which should be determined by experimentation.

Maximum retries

The maximum number of times that the listener tries to deliver a message to a message-driven bean instance before the listener is stopped, in the range 0 through 2147483647.

A WebSphere MQ queue has a similar property called the BackoutThreshold property. If the listener port is reading from a WebSphere MQ queue, then the retry limit and the behavior when the limit is reached is determined by whichever of these two properties is set to the lower limit:

  • If we exceed the WebSphere MQ queue BackoutThreshold limit, the message that cannot be delivered is moved to somewhere else by WebSphere MQ (for example, to the WebSphere MQ backout requeue queue or the WebSphere MQ dead letter queue) and the listener port services the next message on the queue. In this case, WAS might not know that the message has not been delivered successfully.

  • If we exceed the listener port maximum retries limit, the listener port stops. You then manually intervene to investigate the problem, possibly to remove the message from the WebSphere MQ queue then restart the listener port.

Data type Integer
Units Retry attempts
Default 0 (no retries)
Range 0 (no retries) through 2147483647

Maximum messages

The maximum number of messages that the listener can process in one transaction.

If the queue is empty, the listener processes each message when it arrives. Each message is processed within a separate transaction.

For the WebSphere V5 default messaging provider or WebSphere MQ as the JMS provider, if messages start accumulating on the queue then the listener can start processing messages in batches. For third-party messaging providers, this property value is passed to the JMS provider but the effect depends on the JMS provider.

Data type Integer
Units Number of messages
Default 1
Range 1 through 2147483647
Recommended For the WebSphere default messaging providers or WebSphere MQ as the JMS provider, to process multiple messages in a single transaction, then set this value to more than 1. If messages start accumulating on the queue, then a value greater than 1 enables multiple messages to be batch-processed into a single transaction, and eliminates much of the transaction processing costs for JMS messages. CAUTION:

  • If one message in the batch fails processing with an exception, the entire batch of messages is put back on the queue for processing.

  • Any resource lock held by any of the interactions for the individual messages are held for the duration of the entire batch.

  • Depending on the amount of processing that messages need, and if XA transactions are being used, setting a value greater than 1 can cause the transaction to time out. If an XA transaction does time out routinely because processing multiple messages exceeds the transaction timeout, reduce this property to 1 (to limit processing to one message per transaction) or increase the transaction timeout.






 

Related concepts


Message-driven beans - listener port components

 

Related tasks


Migrate a listener port to an activation spec for use with the WebSphere MQ messaging provider
Create a new listener port

 

Related


Message listener port collection