|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
ESQL error replaced by Java resource bundle error |
« View previous topic :: View next topic » |
Author |
Message
|
gregop |
Posted: Wed Feb 06, 2013 3:29 am Post subject: ESQL error replaced by Java resource bundle error |
|
|
Voyager
Joined: 24 Nov 2006 Posts: 81
|
A odd problem is occurring here when a JCN is routed to compute node, and the compute node ends with an exception. The JCN appears to be re-entered and issues a 'Resource Bundle error' losing the real error issued from the compute node.
A trace from a simple flow below. MQInput->JCN (with default modifying message class code, nothing else)->Compute node. The compute node contains a divide by zero. All connected from Out terminals. The divide by zero exception is not reported.
Has anyone encountered this before, or have any ideas as to what could cause this?
Code: |
2013-02-06 10:46:26.180422 2788 UserTrace BIP11501I: Received data from input node ''MQ Input''.
The input node ''MQ Input'' has received data and has propagated it to the message flow ''PGJ''.
2013-02-06 10:46:26.180550 2788 UserTrace BIP2632I: Message received and propagated to 'out' terminal of MQ input node 'PGJ.MQ Input'.
2013-02-06 10:46:26.180794 2788 UserTrace BIP3904I: Invoking the evaluate() method of node (class='ComIbmJavaComputeNode', name='PGJ#FCMComposite_1_2').
About to pass a message to the evaluate() method of the specified node.
No user action required.
2013-02-06 10:46:26.181194 2788 UserTrace BIP6060I: Node 'PGJ.MQ Input' used parser type ''Properties'' to process a portion of the incoming message of length '0' bytes beginning at offset '0'.
2013-02-06 10:46:26.181244 2788 UserTrace BIP6061I: Node 'PGJ.MQ Input' used parser type ''MQMD'' to process a portion of the incoming message of length '364' bytes beginning at offset '0'. The parser type was selected based on value ''MQHMD'' from the previous parser.
2013-02-06 10:46:26.181320 2788 UserTrace BIP6061I: Node 'PGJ.MQ Input' used parser type ''XMLNSC'' to process a portion of the incoming message of length '38' bytes beginning at offset '364'. The parser type was selected based on value ''XMLNSC'' from the previous parser.
2013-02-06 10:46:26.181410 2788 UserTrace BIP2537I: Node 'PGJ.Compute': Executing statement ''BEGIN ... END;'' at ('.PGJ_Compute.Main', '2.2').
2013-02-06 10:46:26.181450 2788 UserTrace BIP2537I: Node 'PGJ.Compute': Executing statement ''CopyEntireMessage();'' at ('.PGJ_Compute.Main', '4.3').
2013-02-06 10:46:26.181470 2788 UserTrace BIP2538I: Node 'PGJ.Compute': Evaluating expression ''CopyEntireMessage()'' at ('.PGJ_Compute.Main', '4.8').
2013-02-06 10:46:26.181504 2788 UserTrace BIP2537I: Node 'PGJ.Compute': Executing statement ''BEGIN ... END;'' at ('.PGJ_Compute.CopyEntireMessage', '1.39').
2013-02-06 10:46:26.181538 2788 UserTrace BIP2537I: Node 'PGJ.Compute': Executing statement ''SET OutputRoot = InputRoot;'' at ('.PGJ_Compute.CopyEntireMessage', '2.3').
2013-02-06 10:46:26.181570 2788 UserTrace BIP2539I: Node '': Evaluating expression ''InputRoot'' at ('.PGJ_Compute.CopyEntireMessage', '2.20'). This resolved to ''InputRoot''. The result was ''ROW... Root Element Type=16777216 NameSpace='' Name='Root' Value=NULL''.
2013-02-06 10:46:26.181608 2788 UserTrace BIP2568I: Node 'PGJ.Compute': Copying sub-tree from ''InputRoot'' to ''OutputRoot''.
2013-02-06 10:46:26.181686 2788 UserTrace BIP2537I: Node 'PGJ.Compute': Executing statement ''DECLARE A INTEGER;'' at ('.PGJ_Compute.Main', '5.3').
2013-02-06 10:46:26.181716 2788 UserTrace BIP2537I: Node 'PGJ.Compute': Executing statement ''SET A = 1 / 0;'' at ('.PGJ_Compute.Main', '6.3').
2013-02-06 10:46:26.193956 2788 Error BIP2628E: Exception condition detected on input node 'PGJ.MQ Input'.
The input node 'PGJ.MQ Input' detected an error whilst processing a message. The message flow has been rolled-back and, if the message was being processed in a unit of work, it will remain on the input queue to be processed again. Following messages will indicate the cause of this exception.
Check the error messages which follow to determine why the exception was generated, and take action as described by those messages.
2013-02-06 10:46:26.193984 2788 RecoverableException BIP2230E: Error detected whilst processing a message in node 'PGJ.Java Compute'.
The message broker detected an error whilst processing a message in node 'PGJ.Java Compute'. An exception has been thrown to cut short the processing of the message.
See the following messages for details of the error.
2013-02-06 10:46:26.193994 2788 UserException BIP4367E: The method ''evaluate'' in Java node ''Java Compute'' has thrown the following exception: '<com.ibm.broker.plugin.MbUserException class:PGJ_JavaCompute method:evaluate() source: key: message: Unable to resolve message: Source: Key: >'.
The method ''evaluate'' of the Java node has thrown an exception. Examine previous error messages for details of the cause of the problem.
This error is generated by the Java node API. It can occur in a Java Compute node or a Java user-defined node. If the node is a user-defined node, contact the node provider for further details.
2013-02-06 10:46:26.194006 2788 UserException BIP4394E: Java exception: ''com.ibm.broker.plugin.MbUserException''; thrown from class name: ''PGJ_JavaCompute'', method name: ''evaluate()'', file: ''PGJ_JavaCompute.java'', line: '29'; trace text: ''<com.ibm.broker.plugin.MbBrokerException source:BIPmsgs key:2230 message:[BIPmsgs:2230]BIP2230E: Error detected whilst processing a message in node 'Caught exception and rethrowing'.
The message broker detected an error whilst processing a message in node 'Caught exception and rethrowing'. An exception has been thrown to cut short the processing of the message.
See the following messages for details of the error. : Caught exception and rethrowing >''; resource bundle: ''''; key: ''''; inserts(optional): '{8}', '{9}', '{10}', '{11}', '{12}', '{13}', '{14}', '{15}', '{16}', '{17}'
The message contains that data associated with a Java exception.
No user action required. |
|
|
Back to top |
|
 |
mqjeff |
Posted: Wed Feb 06, 2013 4:39 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
is the propagate call from the JCN inside a try/catch block? |
|
Back to top |
|
 |
gregop |
Posted: Wed Feb 06, 2013 4:51 am Post subject: |
|
|
Voyager
Joined: 24 Nov 2006 Posts: 81
|
Yes. The code running in my trace has only the default code generated by the toolkit.
Code: |
public class PGJ_JavaCompute extends MbJavaComputeNode {
public void evaluate(MbMessageAssembly assembly) throws MbException {
MbOutputTerminal out = getOutputTerminal("out");
MbOutputTerminal alt = getOutputTerminal("alternate");
MbMessage message = assembly.getMessage();
try {
// ----------------------------------------------------------
// Add user code below
// End of user code
// ----------------------------------------------------------
// The following should only be changed
// if not propagating message to the 'out' terminal
out.propagate(assembly);
} catch (Throwable e) {
// Example Exception handling
MbUserException mbue = new MbUserException(this, "evaluate()", "",
"", e.toString(), null);
throw mbue;
}
} |
|
|
Back to top |
|
 |
mqjeff |
Posted: Wed Feb 06, 2013 4:55 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
So what happens when the code downstream of a propagate throws an exception?
It gets caught.
Where does it get caught? At the first place *upstream* of that exception that has decided to catch it. |
|
Back to top |
|
 |
gregop |
Posted: Wed Feb 06, 2013 5:33 am Post subject: |
|
|
Voyager
Joined: 24 Nov 2006 Posts: 81
|
My lack of java knowledge exposed. That explains the re-entry into the JCN. Thank you.
I don't understand why the rethrow has lost the underlying problem and is delivering resource bundle problem.
I'll research that a little deeper. |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Feb 06, 2013 5:37 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
It appears that the toString method on the caught exception is not able to serialize the exception that was thrown. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|