Author |
Message
|
rehab_desoki |
Posted: Tue Dec 06, 2005 5:35 am Post subject: I have a problem in debugging java user defined plug-in node |
|
|
Novice
Joined: 25 Oct 2005 Posts: 18
|
I have Websphere Msg broker v 5
and Websphere MQ v 5.3
and Agent controller v 5.0.2
and toolkit fixpack 6
I have a problem in debugging java user defined plug-in node, i created it as described in the help and make these steps:
Creating a new Java project called "Custom Node Project"
Declaring the message processing node class called "CustomNode"
Defining the node constructor
Declaring the node name "CustomNode"
Implementing the node functionality in the evalutae method
Deleting an instance of the node
Compiling a Java user-defined node by create a jar file called "Custom Node Project.jar" the same name as the java project
and put it in the root of the java project
Creating a new user-defined node project called "com.ibm.nodegroup"
Creating a new user-defined node plug-in called "Custom"
Testing a user-defined node as it opened a new run-time workbench with the node i created
in the run-time workbench i added to a msg flow and run the command
"mqsichangeproperties Local_Brk -e rehab -o ComIbmJVMManager -n jvmDebugPort -v 11111" before start debug but when i press on step into to go through the java
code of the node, unfortunatly it pass over the node and i need to check my implementation of the node
so what i can do and can i debug the node in the new run-time workbench or i cant? |
|
Back to top |
|
 |
powerlord |
Posted: Tue Dec 06, 2005 8:21 am Post subject: |
|
|
Novice
Joined: 02 Sep 2005 Posts: 19
|
not the answer you are looking for, but imho getting this working is more hassle than it is worth.
I would suggest using copeous amounts of logging to a file... write a simple logger or use log4j or something (probably useful anyway), and use this to trace the behaviour of your java node.
I'd also suggest that you try to seperate behaviour which is not specific to message broker into a seperate class from your java node. Then you can test the behaviour outside MB (and write junits for it, etc).
So your MB node becomes only a few pages long of pulling stuff out the message/env/etc and stick stuff back in. easily traced with some logging messages.
stu |
|
Back to top |
|
 |
wbibrk |
Posted: Tue Dec 06, 2005 12:56 pm Post subject: |
|
|
Apprentice
Joined: 09 Jul 2005 Posts: 46
|
Hi
Try setting the debug port to 10007. I have had the debugger working only when setting it to 10007 |
|
Back to top |
|
 |
jbanoop |
Posted: Tue Dec 06, 2005 2:52 pm Post subject: |
|
|
Chevalier
Joined: 17 Sep 2005 Posts: 401 Location: SC
|
Quote: |
in the run-time workbench i added to a msg flow and run the command
"mqsichangeproperties Local_Brk -e rehab -o ComIbmJVMManager -n jvmDebugPort -v 11111" before start debug but when i press on step into to go through the java |
Did you start the debug of a remote java application from the debug perspective->debug.. -> remote java application (create a new config there pointing to the java project having your source code).
This is required atleast while debugging an app that has ESQL calling java routines.
Hope this helps..
Regards,
Anoop |
|
Back to top |
|
 |
rehab_desoki |
Posted: Wed Dec 07, 2005 10:34 pm Post subject: |
|
|
Novice
Joined: 25 Oct 2005 Posts: 18
|
i tried to use the port # 10007 and make a remote java application debug with the same port but it's still not work |
|
Back to top |
|
 |
wbibrk |
Posted: Thu Dec 08, 2005 8:27 am Post subject: |
|
|
Apprentice
Joined: 09 Jul 2005 Posts: 46
|
Hi,
Make sure that you :
- Enable Java source debugging by checking the "Enable Java source debugging" checkbox in the Flow Debug preference page.
- The Message flow project containing Java plugin node needs to have a project reference to the Java project containing Java plugin node implemation.
- Set the debug port number for the execution group that you want to debug by using the command "mqsichangeproperties". Make sure the debug port is not used by another application.
mqsichangeproperties <BROKER_NAME>
-e <EXECUTIONGROUPNAME>
-o ComIbmJVMManager
-n jvmDebugPort
-v <PORTNUMBER>
then restart the broker.
- Make sure that your JVM debug port has been correctly set using:
netstat -a (and make sure that the port is listening)
- Make sure you add a reference to the Java project in your flow project by :
* right clicking on your flow project
* open the project properties
* select project reference,
* check the box for the project that contains the java source code
Try this and post your results |
|
Back to top |
|
 |
|