Author |
Message
|
jpmorales |
Posted: Tue Feb 03, 2004 5:49 am Post subject: /QSYS.LIB/QMQMJAVA.LIB/MQJBND04.SRVPGM |
|
|
 Novice
Joined: 13 Nov 2003 Posts: 21 Location: Bogotá, Colombia
|
I am running MQSeries inside a windows box, however in the process of creating a QueueManager I run into the following exception:
Code: |
Unable to load message catalog - mqji
java.lang.UnsatisfiedLinkError: Expecting an absolute path of the library: /QSYS.LIB/QMQMJAVA.LIB/MQJBND04.SRVPGM
at java.lang.Runtime.load0(Runtime.java:726)
at java.lang.System.load(System.java:842)
at com.ibm.mq.MQSESSION.loadLib(MQSESSION.java:455)
at com.ibm.mq.server.MQSESSION$1.run(MQSESSION.java:179)
at java.security.AccessController.doPrivileged(Native Method)
at com.ibm.mq.server.MQSESSION.<clinit>(MQSESSION.java:175)
at com.ibm.mq.MQSESSIONServer.getMQSESSION(MQSESSIONServer.java:67)
at com.ibm.mq.MQSESSION.getSession(MQSESSION.java:320)
at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:149)
at com.ibm.mq.MQBindingsManagedConnectionFactoryJ11._createManagedConnection(MQBindingsManagedConnectionFactoryJ11.java:139)
at com.ibm.mq.MQBindingsManagedConnectionFactoryJ11.createManagedConnection(MQBindingsManagedConnectionFactoryJ11.java:157)
at com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.java:80)
at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConnectionManager.java:150)
at com.ibm.mq.MQQueueManager.obtainBaseMQQueueManager(MQQueueManager.java:666)
at com.ibm.mq.MQQueueManager.construct(MQQueueManager.java:615)
at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:392)
|
I am indeed connected to an AS/400, but why is it asking for the path of MQJBND04.SRVPGM when it should ask for the path of mqjbnd.dll (which is, by the way, included in the path?)
Thanks in advance _________________ "Entia non sund multiplicanda praeter necesitatem" |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Feb 03, 2004 6:20 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Let's see if I understand this.
You're running a Java app on a Windows machine, that is making a client connection to an AIX server?
Then why are you trying to use bindings mode? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
jpmorales |
Posted: Wed Feb 04, 2004 4:29 am Post subject: |
|
|
 Novice
Joined: 13 Nov 2003 Posts: 21 Location: Bogotá, Colombia
|
JeffLowrey wrote: |
You're running a Java app on a Windows machine, that is making a client connection to an AIX server?
|
Yes. My guess would not be an AIX but an AS/400 but in principle yes.
JeffLowrey wrote: |
Then why are you trying to use bindings mode?
|
I am just using IBM's provided UPES code for MQWorkflow, which is to say, I have not written a single line of the code nor have access to it's source.
I was thinking this could be a configuration issue, along the lines of "change this var to point to this machine" or something like that. _________________ "Entia non sund multiplicanda praeter necesitatem" |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Feb 04, 2004 6:03 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
jpmorales wrote: |
Yes. My guess would not be an AIX but an AS/400 but in principle yes. |
Sorry, my mistype.
jpmorales wrote: |
I am just using IBM's provided UPES code for MQWorkflow, which is to say, I have not written a single line of the code nor have access to it's source.
I was thinking this could be a configuration issue, along the lines of "change this var to point to this machine" or something like that. |
I don't know Workflow at all, so I can't say whether this is true or not. But I suspect that you can't set it up to run as a client to a different queue manager, that it has to have a local queue manager installed that it is bound to. Any messages that it needs to process or output have to get moved to and from it's local QM using normal MQ channels. This is certainly true of Integrator. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
jpmorales |
Posted: Wed Feb 04, 2004 6:25 am Post subject: |
|
|
 Novice
Joined: 13 Nov 2003 Posts: 21 Location: Bogotá, Colombia
|
JeffLowrey wrote: |
But I suspect that you can't set it up to run as a client to a different queue manager, that it has to have a local queue manager installed that it is bound to. Any messages that it needs to process or output have to get moved to and from it's local QM using normal MQ channels.
|
It does indeed have a local Queue Manager. Where am I saying "go find a remote queue manager"? Because configuration files are not being read yet. I mean, this happens even before the app gets a chance to read the provided configuration files. _________________ "Entia non sund multiplicanda praeter necesitatem" |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Feb 04, 2004 7:03 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
jpmorales wrote: |
It does indeed have a local Queue Manager. Where am I saying "go find a remote queue manager"? Because configuration files are not being read yet. I mean, this happens even before the app gets a chance to read the provided configuration files. |
You said "I am indeed connected to an AS/400". I took that to mean "have a client connection to MQSeries on AS/400".
So, you're trying to start up Workflow (which is configured to connect to your local QM), and it's complaining about a missing path to the mqjbnd04 component. But it's giving you the path to mqjbnd04 on your AIX box, instead of complaining about not being able to find mqjbnd04.dll.
Is that correct?
Or is it a different application than Workflow that's failing? Your own java app that's being run by Workflow? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
jpmorales |
Posted: Thu Feb 05, 2004 7:23 am Post subject: |
|
|
 Novice
Joined: 13 Nov 2003 Posts: 21 Location: Bogotá, Colombia
|
JeffLowrey wrote: |
You said "I am indeed connected to an AS/400". I took that to mean "have a client connection to MQSeries on AS/400".
|
It just means I have an AS400 and have connected to it, via other means (other propietary code provided by a vendor), before.
JeffLowrey wrote: |
So, you're trying to start up Workflow (which is configured to connect to your local QM), and it's complaining about a missing path to the mqjbnd04 component. But it's giving you the path to mqjbnd04 on your AIX box, instead of complaining about not being able to find mqjbnd04.dll.
Is that correct?
|
That is exactly my problem
JeffLowrey wrote: |
Or is it a different application than Workflow that's failing? Your own java app that's being run by Workflow? |
It is not workflow itself, Workflow works correctly and comunicates through Queue Managers. This is just another app being run standalone. _________________ "Entia non sund multiplicanda praeter necesitatem" |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu Feb 05, 2004 8:21 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
jpmorales wrote: |
It is not workflow itself, Workflow works correctly and comunicates through Queue Managers. This is just another app being run standalone. |
So Workflow is installed on the same machine, but is otherwise uninvolved with your troublesome application?
Or is Workflow running your application in some manner?
If Workflow is completely uninvolved, then the question remains: What queue manager are you trying to connect to? If you are trying to connect to the local queue manager, you should absolutely verify and double-check that your PATH and CLASSPATH environment variables are correct for the user that is executing your Java program.
If you are trying to connect to a remote queue manager, you can't use binding mode to do that. You will have to act as a regular client, so configure the connection properties to specify a hostname and port. And double-check your CLASSPATH and PATH variables.
If Workflow is invovled in executing your process some how, please post a question to the Workflow forum that specifies enough information about how the process is being invoked and what it's trying to do to allow the Workflow people to help you. And double-check your CLASSPATH and PATH variables. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
JLRowe |
Posted: Mon Feb 09, 2004 6:44 am Post subject: |
|
|
 Yatiri
Joined: 25 May 2002 Posts: 664 Location: South East London
|
Don't know if this is particularly relevant now:
You do not have DLL's on an AS/400 (thank god), rather you use service programs (.SRVPGM).
Your java program is complaining that it cannot find the service program for native bindings. Make sure the service program MQJBND04 is where it should be and java can find it (think you set via a system property).
Remove the abominable DLL from the AS/400 before your karma takes a hit. |
|
Back to top |
|
 |
jpmorales |
Posted: Mon Feb 09, 2004 9:27 am Post subject: |
|
|
 Novice
Joined: 13 Nov 2003 Posts: 21 Location: Bogotá, Colombia
|
The application I am trying to run is standalone. It talks to workflow, but it does so AFTER stablishing connection with the queue manager. The problem is that I cannot even get to the point where I decide the name of the queue manager to talk to. It is, for some weir reason deciding to make a client connection to an AS400ish way.
I am connecting to a LOCAL Queue Manager. That is, I am making a connection from windows to windows. No AS400 calls should be tking place. The message should be "I cannot find the dll" but it is not, it is not finding the service program. But it has nowhere to find it, because I AM NOT on an AS400. Now, How do I convince my system of that fact? _________________ "Entia non sund multiplicanda praeter necesitatem" |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Feb 09, 2004 11:13 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
jpmorales wrote: |
The application I am trying to run is standalone. It talks to workflow, but it does so AFTER stablishing connection with the queue manager. The problem is that I cannot even get to the point where I decide the name of the queue manager to talk to. It is, for some weir reason deciding to make a client connection to an AS400ish way.
I am connecting to a LOCAL Queue Manager. That is, I am making a connection from windows to windows. No AS400 calls should be tking place. The message should be "I cannot find the dll" but it is not, it is not finding the service program. But it has nowhere to find it, because I AM NOT on an AS400. Now, How do I convince my system of that fact? |
Is there an MQServer environment variable in effect? Are there MQClient* Environment variables in effect? Is there an AMQCLNTCHL.TAB file somewhere?
How are you specifying the connection in your Java code? (what are you setting for MQEnvironment.*)
Is the local queue manager set up as a default queue manager? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
vennela |
Posted: Mon Feb 09, 2004 2:16 pm Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
Where did you get the jar files from. Did you install MA88 or MQ5.3 Java/JMS? (on your windows box where you are trying to run this app)
Or did you FTP the jar files from AS400 ? |
|
Back to top |
|
 |
jpmorales |
Posted: Tue Feb 10, 2004 4:32 am Post subject: |
|
|
 Novice
Joined: 13 Nov 2003 Posts: 21 Location: Bogotá, Colombia
|
JeffLowrey wrote: |
Is there an MQServer environment variable in effect? Are there MQClient* Environment variables in effect?
|
No. The environment has no setting different that those that give the path and the classpath and others from applications that are not relevant to this discussion.
JeffLowrey wrote: |
Is there an AMQCLNTCHL.TAB file somewhere?
|
A file by that name does not exist anywhere in teh system
JeffLowrey wrote: |
How are you specifying the connection in your Java code? (what are you setting for MQEnvironment.*)
|
I am using a property file provided by IBM as example code. It is an UPES,
JeffLowrey wrote: |
Is the local queue manager set up as a default queue manager? |
There is only one queue manager, FMCQM
vennela wrote: |
Did you install MA88 or MQ5.3 Java/JMS? (on your windows box where you are trying to run this app)
Or did you FTP the jar files from AS400 ?
|
I installed MA88 with MQ5.2 on the windows box. _________________ "Entia non sund multiplicanda praeter necesitatem" |
|
Back to top |
|
 |
|