JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle Java CAPS JMS Binding Component User's Guide     Java CAPS Documentation
search filter icon
search icon

Document Information

Using the JMS Binding Component

JMS Binding Component Overview

JMS Binding Component Features

JMS Binding Component Scenarios

Outbound Scenario

Inbound Scenario

XA Scenario

Outbound InOut Exchange Scenario

Inbound InOut Exchange Scenario

On Demand Receive Scenario

Creating JMS-Based Concrete WSDL Documents

To Create a JMS-Based Concrete WSDL Document from the New WSDL Document Wizard

To Create a JMS-Based Concrete WSDL Document from the New File Wizard

Request Connection Configuration

Request Consumer Configuration

Request Publisher Configuration

Response Destination Configuration

Response Consumer Configuration

Response Publisher Configuration

Advanced Configuration

Connecting to the JMS Server

Specifying the Protocol, Server, and Port

Connecting to the JMS Server Using JNDI

Using the lookup Approach

Using the JNDI Approach

Configuring Redelivery Handling

Configuring Redelivery Handling from the Wizard

Configuring Redelivery Handling by Editing the WSDL Document

Using the Normalized Message Properties

Inbound Normalized Message Properties

Connection URL Property (org.glassfish.openesb.jms.inbound.connectionurl)

User Name Property (org.glassfish.openesb.jms.inbound.username)

Message Selector Property (org.glassfish.openesb.jms.inbound.messageselector)

Destination Property (org.glassfish.openesb.jms.inbound.destination)

Destination Type Property (org.glassfish.openesb.jms.inbound.destinationtype)

Forward As Attachment Property (org.glassfish.openesb.jms.inbound.forwardasattachment)

Outbound Normalized Message Properties

Connection URL Property (org.glassfish.openesb.jms.outbound.connectionurl)

User Name Property (org.glassfish.openesb.jms.outbound.username)

Password Property (org.glassfish.openesb.jms.outbound.password)

Destination Property (org.glassfish.openesb.jms.outbound.destination)

Destination Type Property (org.glassfish.openesb.jms.outbound.destinationtype)

XA Transaction Property (org.glassfish.openesb.jms.outbound.xatransaction)

Delivery Mode Property (org.glassfish.openesb.jms.outbound.deliverymode)

Timeout Property (org.glassfish.openesb.jms.outbound.timeOut)

Client ID (org.glassfish.openesb.jms.outbound.clientid)

Message Selector Property (org.glassfish.openesb.jms.outbound.messageselector)

Subscription Durability Property (org.glassfish.openesb.jms.outbound.subscriptiondurability)

Subscription Name Property (org.glassfish.openesb.jms.outbound.subscriptionname)

Forward As Attachment Property (org.glassfish.openesb.jms.outbound.forwardasattachment)

General Normalized Message Properties

Time To Live Property (org.glassfish.openesb.jms.timetolive)

Priority Property (org.glassfish.openesb.jms.priority)

Message ID Property (org.glassfish.openesb.jms.messagetype)

Message Type Property (org.glassfish.openesb.jms.messagetype)

Correlation ID Property (org.glassfish.openesb.jms.correlationid)

Reply To Destination Property (org.glassfish.openesb.jms.replytodestination)

Reply To Destination Type Property (org.glassfish.openesb.jms.replytodestinationtype)

User Properties Property (org.glassfish.openesb.jms.userproperties)

JMS WSDL Extensibility Elements

JMS Connectivity Elements

JMS address Element

JMS jmsjcaOptions Element

JMS Binding Elements

JMS binding Element

JMS operation Element

JMS message Element

JMS properties and property Elements

JMS mapmessage and mappart Elements

JMS Binding Component Clustering

JMS High Availability

JMS Load Balancing

JMS Performance

Publishing and Subscribing to Multiple WebSphere Queues

Configuring Redelivery Handling

A JMS message is typically redelivered because of an error in the processing of the message. The error may be transient or permanent.

If the error is transient, the message will eventually go through. If the error is permanent, moving messages to a different destination may be a better approach. If the message is not valuable, deleting the message is another option.

Delaying delivery of a redelivered message is useful to save CPU cycles instead of letting the message "spin" rapidly.

You can configure redelivery handling by using either of the following approaches:

Configuring Redelivery Handling from the Wizard

You can use a wizard to create a concrete WSDL document that contains JMS binding and service information. The wizard is described in Creating JMS-Based Concrete WSDL Documents.

You can configure redelivery handling from the following wizard steps:

Click the Details button, which appears to the right of the Redelivery field. The Redelivery Information dialog box appears.

image:Screen capture of the Redelivery Information dialog box.

The Redelivery Information dialog box contains the following fields:

Configuring Redelivery Handling by Editing the WSDL Document

You can configure redelivery handling by entering a specially formatted string in a WSDL document.

The string specifies what actions to take when the message is repeatedly redelivered. The string has the following format:

format := entry[; entry]*
entry := index ":" action
index := number (denotes the n-th time a message is seen)
action := number (denotes delay in milliseconds) | "delete" | "move"(args)
move := "queue"|"topic" | "same" ":" destname
destname := any string, may include "$", which is replaced with the original 
destination name

Redelivery Handling Example 1

Assume that the string is set as follows:

redeliveryHandling="5:1000; 10:5000"

This example causes no delay up to the 5th delivery. When the message is seen for the 5th, 6th, 7th, 8th, and 9th time, a 1000–millisecond delay is invoked. For each time the message is seen thereafter, a 5000–millisecond delay is invoked.

Redelivery Handling Example 2

Assume that the string is set as follows:

redeliveryHandling="5:1000; 10:5000; 50:move(queue:mydlq)"

This example causes no delay up to the 5th delivery. When the message is seen for the 5th, 6th, 7th, 8th, and 9th time, a 1000–millisecond delay is invoked. When the message is invoked for the 10th, 11th, ..., and 49th time, a 5000–millisecond delay is invoked. When the message is seen for the 50th time, the message is moved to a queue called mydlq.

Assume that the messages are received from Queue1 and the string is set as follows:

redeliveryHandling="5:1000; 10:5000; 50:move(queue:dlq$oops)"

In this case, the messages are moved to the destination dlqQueue1oops. The dollar sign ($) character denotes the original destination name. Instead of queue, you can specify topic or same. The value same denotes a queue if the message was received from a queue, or can denote a topic if the message was received from a topic.