4 Replies Latest reply on Jul 2, 2002 4:53 AM by Werner Ramaekers

    JBoss and MQSeries on different machines

    Werner Ramaekers Newbie

      Hello All,

      i've seen the messages on using IBM MQSeries with JBoss and i would like to know if any of you has managed to get the combination of JBoss and MQSeries running when on different servers.

      I'm currently using a development station running Win2000 at my employer and am trying to connect to the MQSeries test server on the Mainframe.
      It's not working due to a :

      java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path

      Start server side stack trace:
      java.rmi.ServerError: A error occurred the server; nested exception is:
      java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
      java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
      at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1312)

      Does anybody have JBoss using MQSeries that is running on a different server ?

      Werner

        • 1. Re: JBoss and MQSeries on different machines
          Aanchal Newbie

          Hi,

          Which version of Jboss are you using . I too am trying desperately to get MQseries to work with Jboss 2.2 . Could u give me all details which you use for configuring Jboss with MQSeries . I am able to connect to the MQSeries currently on same m/c , but it still either says queue manager not found or an JMSMQ 1010 error . I'm confused and need help . If you can give me the info of the configuration details that you used for MQSeries with Jboss , please let me know .

          Thanx,
          aanchal.

          • 3. Re: JBoss and MQSeries on different machines
            Werner Ramaekers Newbie

            I know what the problem is i am encountering :
            the Mainframe uses EBCDIC and the development workstation running Win2000 uses Unicode :
            i'm trying to find what i need to change in the configuration to get this conversion automatically
            ...
            /Werner

            • 4. Re: JBoss and MQSeries on different machines
              Werner Ramaekers Newbie

              Hello,
              This is some info for people that may run into the same issue :
              when using your JBoss application server to contact an MQSeries running on a mainframe you need to make sure that the conversion to EBCDIC format takes place in the background.
              I did this by specifying the following parameters when creating the JNDI context for the IBM JMS client implementation classes :

              1. Start the JMSAdmin tool in trace mode in the
              MQSERIES_ROOT_INSTALL/bin folder

              JMSAdmin -t

              2. Create an entry for the QueueConnectionFactory in the JNDI namespace :
              (MF = mainframe)

              InitCtx> def qcf(QueueConnectionFactory)
              qmanager(NAME_OF_THE_QUEUEMANAGER_ON_THE_MF)
              host(MF_IP_ADRESS)
              port(MF_MQSERIES_PORT) transport(CLIENT) CCSID(500) channel(MF_MQSERIES_CHANNEL_NAME)

              the CLIENT setting sets the transport between JMS client and mainframe to TCP/IP
              and the CCSID(500) defines that the target system uses IBM-500 file format (=EBCDIC)

              3. Define a 'queue' context
              InitCtx> def ctx(queue)

              4. Change to the 'queue' context

              InitCtx> change ctx(queue)

              5. define the name for the queue you want to use :

              InitCtx/queue> def q(testQueue)
              qmanager(NAME_OF_THE_QUEUEMANAGER_ON_THE_MF)
              queue(NAME_OF_THE_QUEUE_ON_THE_MF) TARGCLIENT(MQ)

              6. display the contents for the JNDI context

              InitCtx> dis ctx

              Contents of InitCtx

              .bindings java.io.File
              [D] queue javax.naming.Context
              a QueueConnectionFactory com.ibm.mq.jms.MQQueueConnectionFactory

              3 Object(s)
              1 Context(s)
              2 Binding(s), 1 Administered

              7. leave the JMSAdmin tool

              InitCtx/queue> end

              That should do it ;-)

              /Werner Ramaekers