![]() ![]() ![]() ![]() ![]() ![]() |
The following sections provide information on the Tuxedo Queuing Bridge functionality and configuration.
The Tuxedo Queuing Bridge is a part of the WebLogic Tuxedo Connector that provides a bi-directional JMS interface for your WebLogic Server applications to communicate to Tuxedo application environments. The transfer of messaging between the environments consists of JMS based messages containing text, Byte, or XML data streams used to invoke services on behalf of the client application.
The following features determine the functionality of the Tuxedo Queuing Bridge:
Note: | All messages remain on the JMS queue until they have been acknowledged. |
This section provides information on how JMS messages flow through the Tuxedo Queuing Bridge to Tuxedo queues and services.
TranslateFML
attribute.wlsServerErrorDestination
queue and the message is acknowledged in the JMS session.tpenqueue
or tpcall
fails, Tuxedo Queuing Bridge delivers the message to the wlsServerErrorDestination
queue and the message is acknowledged in the JMS session. If a wlsServerErrorDestination
queue is not configured, the message is discarded and the Tuxedo Queuing Bridge processes the next available unacknowledged message.Note: | Tuxedo Queuing Bridge uses a transaction to prevent the loss of messages while transferring messages from Tuxedo /Q to a JMS queue. |
This section provides information on how Tuxedo messages flow through the Tuxedo Queuing Bridge to a JMS queue using the TuxQ2JmsQ
redirect.
tuxErrorDestination
queue within the same queue space as the Tuxedo queue. tuxErrorDestination
queue for any reason, an error is logged and the message is lost.tuxErrorDestination
queue is not specified, the message is lost.The Tuxedo Queuing Bridge has the following limitations:
Tuxedo Queuing Bridge connectivity is determined by configuring the attributes in the Tuxedo Queuing Bridge and Redirections of your WTC Service. These attributes contain the necessary information to establish a connection to Tuxedo.
A complete Tuxedo Queuing Bridge configuration requires the following:
Note: | Dynamically adding/modifying Tuxedo Queuing Bridge is only possible if the Queuing Bridge is not activated. WTC can be activated, but the Queuing Bridge must not be activated. To shut down the WTC Queuing Bridge, you should deactivate the WTC server. |
Typically, after a complete Tuxedo Queuing Bridge configuration exists and WTC is deployed, the Tuxedo Queuing Bridge is activated. After the Tuxedo Queuing Bridge is active, no additions or modifications to the configuration can occur without shutting the WTC Queuing Bridge down.
If WTC is activated and the Tuxedo Queuing Bridge is deactivated, the following additions and modifications are possible.
After completing the WTC Queuing Bridge configuration changes, you must activate the changes.
If, and only if, a complete WTC Queuing Bridge configuration is available at the time of activation will WTC start the Tuxedo Queuing Bridge.
If the WTC Queuing Bridge configuration is incomplete, then no Tuxedo Queuing Bridge instance is available.
The Tuxedo Queuing Bridge is started as part of the WebLogic Server application environment if the Tuxedo Queuing Bridge and Redirections of your WTC Service are configured and the WTC Service is deployed to a target server. Any configuration condition that prevents the Tuxedo Queuing Bridge from starting results in an error being logged.
WebLogic Tuxedo Connector errors are logged to the WebLogic Server error log.
Note: | JMS message types: MapMessage, ObjectMessage, StreamMessage are not valid in WebLogic Tuxedo Connector. If one of these message types is received by the Tuxedo Queuing Bridge, a log entry is generated indicating this is an unsupported type and the message is discarded. |
The Tuxedo Queuing Bridge establishes a one-way data connection between instances of a JMS queue and a Tuxedo /Q or a JMS queue and a Tuxedo service. This connection is represented by the Tuxedo Queuing Bridge and Redirections configurations of your WTC Service and provides a one-to-one connection between the identified points. Three types of connections can be configured. The following is a description of each of the connection types:
JmsQ2TuxQ
: Reads from a given JMS queue and transports the messages to the specified Tuxedo /Q.TuxQ2JmsQ
: Reads from a Tuxedo /Q and transports the messages to JMS.JmsQ2TuxS
: Reads from a given JMS queue, synchronously calls the specified Tuxedo service, and places the reply back onto a specified JMS queue.
The following sections provide example configurations for each connection type.
The following section provides an example configuration in the config.xml
file for reading from a JMS queue and sending to Tuxedo /Q.
<wtc-tbridge-redirect>
<direction>JmsQ2TuxQ</direction>
<name>redir0</name>
<reply-q>RPLYQ</reply-q>
<source-name>weblogic.jms.Jms2TuxQueue</source-name>
<target-access-point>TDOM2</target-access-point>
<target-name>STRING</target-name>
<target-qspace>QSPACE</target-qspace>
<translate-fml>NO</translate-fml>
</wtc-tbridge-redirect>
The following section describes the components of the JmsQ2TuxQ
configuration:
Direction
connection type is JmsQ2TuxQ
. Source Name
specifies the name of the JMS queue to read is weblogic.jms.Jms2TuxQueue
. The Tuxedo Queuing Bridge establishes a JMS client session to this queue using CLIENT_ACKNOWLEDGE semantics. Target Access Point
specifies the name of the access point is TDOM2.
Target Qspace
specifies the name of the Qspace is Qspace
.Target Name
specifies the name of the queue is STRING.
ReplyQ
specifies the name of a JMS reply queue is RPLYQ
. Use of this queue causes tpenqueue
to provide TMFORWARD
functionality. TranslateFML
set to NO specifies that no data translation is provided by the Tuxedo Queuing Bridge.The following table provides information on JmsQtoTuxQ message mapping:
The following section provides an example configuration in the config.xml
file for reading from a Tuxedo /Q and sending to a JMS queue.
<wtc-tbridge-redirect>
<direction>TuxQ2JmsQ</direction>
<name>redir1</name>
<source-access-point>TDOM2</source-access-point>
<source-name>STRING</source-name>
<source-qspace>QSPACE</source-qspace>
<target-name>weblogic.jms.Tux2JmsQueue</target-name>
<translate-fml>NO</translate-fml>
</wtc-tbridge-redirect>
The following section describes the components of the TuxQ2JmsQ
configuration:
Direction
connection type is TuxQ2JmsQ
. Target Name
specifies the name of the JMS queue to read is weblogic.jms.Tux2JmsQueue
.Source Access Point
specifies the name of the access point is TDOM2.
Source Qspace
specifies the name of the Qspace is Qspace.
Source Name
specifies the name of the queue is STRING.
TranslateFML
set to NO specifies that no data translation is provided by the Tuxedo Queuing Bridge.TranslateFML
set to Flat specifies that the data is translated from FML to XML by the Tuxedo Queuing Bridge.The following table provides information on TuxQ2JmsQ message mapping:
Note: | For more information on XML/FML conversion, see Using FML with WebLogic Tuxedo Connector. |
The following section provides an example configuration in the config.xml
file for reading from a JMS queue, calling a Tuxedo service, and then writing the results back to a JMS queue.
<wtc-tbridge-redirect>
<direction>JmsQ2TuxS</direction>
<name>redir0</name>
<replyq>weblogic.jms.Tux2JmsQueue</replyq>
<source-name>weblogic.jms.Jms2TuxQueue</source-name>
<target-access-point>TDOM2</target-access-point>
<target-name>TOUPPER</target-name>
<translate-fml>FLAT</translate-fml>
</wtc-tbridge-redirect>
The following section describes the components of the JmsQ2TuxS
configuration:
Direction
connection type is JmsQ2TuxS
. Source Name
specifies the name of the JMS queue to read is weblogic.jms.Jms2TuxQueue
.Target Access Point
specifies the name of the access point is TDOM2.
Target Name
specifies the name of the queue is TOUPPER.
ReplyQ
specifies the name of the JMS reply queue is weblogic.jms.Tux2JmsQueue.
TranslateFML
set to FLAT
specifies that when a JMS message is received, the message is in XML format and is converted into the corresponding FML32 data buffer. The message is then placed in a tpcall
with arguments TDOM2
and TOUPPER.
The resulting message is then translated from FML32 into XML and placed on the weblogic.jms.Tux2JmsQueue
.The following table provides information on the JMSQ2TuxX message mapping:
Note: | There may be scenarios where a reply from Tuxedo is returned and the translateFML parameter has no effect. Translation may occur automatically. |
WebLogic Tuxedo Connector supports multiple Tuxedo Queuing Bridge redirect instances. In many environments, using multiple redirect instances significantly improves application scalability and performance. However, it does randomizes the order in which messages are processed. Although priority mapping does not guarantee ordering, it does provides a mechanism to react to messages based on an assigned importance. If the order of delivery must be guaranteed, use a single Tuxedo Queuing Bridge redirect instance.
Use Priority Mapping to map priorities between the JMS and Tuxedo.
This section provides a mechanism to map the priorities between the Tuxedo and JMS subsystems. There are two mapping directions:
Defaults are provided for all values, shown below in pairs of value
:range
.
JmstoTux
- 0:1 | 1:12 | 2:23 | 3:34 | 4:45 | 5:56 | 6:67 | 7:78 | 8:89 | 9:100
TuxtoJms
- 0:1-10|1:11-20|2: 21-30|3: 31-40|4: 41-50|5:51-60|6: 61-70|7:71-80|8:81-90|9:91-100
For this configuration, a JMS message of priority 7 is assigned a priority of 78 in the Tuxedo /Q. A Tuxedo /Q with a priority of 47 is assigned a JMS priority of 4.
When Tuxedo Queuing Bridge encounters a problem retrieving messages from Tuxedo Queue or JMS Queue after the retry interval:
The WLS Error Destination
queue is used if a JMS message cannot be properly delivered due to Tuxedo failure or a translation error.
If an unrecognized JMS message is received, an appropriate error message is logged and the message is discarded. This is considered a configuration error and the Tuxedo Queuing Bridge does not redirect the message to the error queue.
The Tuxedo Error Queue
is the failure queue for the JATMI primitive tpdequeue
during a TuxQ2JmsQ
redirect.
The Tuxedo Queuing Bridge error queues have the following limitations:
Tuxedo Error Destination
can be specified only once. Any error queue name associated with the ErrorDestination
implies that all the QSPACEs have the same error queue name available.
![]() ![]() ![]() |