As a part of our project we are using Weblogic Portal for website and Tibco to integrate with backend system. We want best way to implement application error. Communication with Tibco takes place via JMS, so weblogic treat it as Foreign JMS Q. We are using tibco JMS for performance. When using MDB as a part of transaction within weblogic, upon encountering any error, the message is rendered as not consumed. So tibco tries to send it again, and this process is repeatable 3 times. This we considered as application error.
We have number of solution.
1. Do not include MDB as a part of transaction. 2. Use tibco to create another static Q and use message bridge to filter out message for this consumer. The message can be identified by correlation ID. 3. Create a JMS local Q within weblogic and use another MDB to listen to foreign JMS Q and transfer message to local Q and handle exception from there.
Is there any best way to implement this type of error without compromising performance and not introducing complexity? May be I should as what is the best way to handle exception for foreign JMS Q.
Wait for it ... wait .... wait .... NOW! Pafiffle! A perfect tiny ad!
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop