Author |
Message
|
jbanoop |
Posted: Tue Oct 27, 2009 9:24 am Post subject: mqsichangetrace with Java Compute Node |
|
|
Chevalier
Joined: 17 Sep 2005 Posts: 401 Location: SC
|
All,
A quick and very basic question. we are having an issue in production and an mqsichangetrace (user trace) with level at debug is not giving any details once the flow enters a JCN.
Is there any other flag that we can use to get the required details using mqsichangetrace ?
Any other suggestions are also really welcome. Debug is not an option.
WMB 6.1.0.2 on AIX
Regards, |
|
Back to top |
|
 |
AkankshA |
Posted: Thu Oct 29, 2009 3:11 am Post subject: |
|
|
 Grand Master
Joined: 12 Jan 2006 Posts: 1494 Location: Singapore
|
but why do you need to run mqsichangetrace on PRODUCTION :O
brief us about the error you are facing and we might be able to gice some pointer for further progress _________________ Cheers |
|
Back to top |
|
 |
kimbert |
Posted: Thu Oct 29, 2009 4:13 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Calls to methods on the message broker Java API classes ( MbElement, MbMessage etc ) will trigger activity within the broker, and will produce user trace. Ordinary Java code will not. Java has its own debugging/tracing mechanisms, although that's probably not an option when the flow is in production. |
|
Back to top |
|
 |
mqjeff |
Posted: Thu Oct 29, 2009 5:15 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
It would be useful if MbService were extended to allow for customers to add to user trace. |
|
Back to top |
|
 |
jbanoop |
Posted: Thu Oct 29, 2009 5:57 am Post subject: |
|
|
Chevalier
Joined: 17 Sep 2005 Posts: 401 Location: SC
|
Kimbert,
Thanks for the clarification. That helps. Yep, I could see the MbSQLStatement execution being written to the trace.
AkankshA,
The problem is very specific to custom java routines coded within the flow and is actully not an "MB" issue.
We got it resolved though but it took much more time than it would have taken if the flow was coded in ESQL.
All,
So as a best practice, if any flow has a substantial amount of custom java code (not using MB API), would you all suggest that an additional logging solution (Like Log4j) also be implemented to aid in debugging ?
Regards, |
|
Back to top |
|
 |
smdavies99 |
Posted: Thu Oct 29, 2009 6:24 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
Your dilema is one of the reasons why I prefer ESQL to Java.
However if your Java code with these issues got into production then I'd probably take a look at the test cases so that this does not happen again.
I'd like to think that this whole area & problem has been addressed in V7. It would be much easier if ESQL, Java & PHP was traceable all through one method. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
jbanoop |
Posted: Thu Oct 29, 2009 6:32 am Post subject: |
|
|
Chevalier
Joined: 17 Sep 2005 Posts: 401 Location: SC
|
smdavies99,
I wish I could do everything in ESQL but I guess it is not always that you get to choose which language to implement the solution. In many cases we end up inheriting already existing systems or the client has already been sold on the other approach.
Yes, we have added this scenario also to the checklists so that this does not repat in production but we had to learn it the hard way
Regards, |
|
Back to top |
|
 |
deepak_paul |
Posted: Fri Dec 02, 2011 9:01 am Post subject: |
|
|
Centurion
Joined: 04 Oct 2008 Posts: 147 Location: US
|
jbanoop wrote: |
Kimbert,
Thanks for the clarification. That helps. Yep, I could see the MbSQLStatement execution being written to the trace.
...
|
jbanoop,
When i change the user trace to debug, i see only below statement in user trace.
Code: |
2011-12-02 11:41:46.983616 7 UserTrace BIP3904I: Invoking the evaluate() method of node (class='ComIbmJavaComputeNode', name='com/abcd/dacq/dedf/MFRealTimeClinicalpXSDFormat#FCMComposite_1_15.com/abcd/dacq/db/SFPxsdSave#FCMComposite_1_1.com/abcd/dacq/db/SFDatabaseFacade#FCMComposite_1_1').
About to pass a message to the evaluate() method of the specified node.
No user action required. |
And i do have SQL execution statement in my Java Compute Node. Can you tell me how did you get the user trace MbSQLStatement execution in JCN. Thanks. _________________ Regards
Paul |
|
Back to top |
|
 |
|