Topic
3 replies Latest Post - ‏2007-01-24T08:43:42Z by Raghuram
SystemAdmin
SystemAdmin
684 Posts
ACCEPTED ANSWER

Pinned topic com.ibm.mqe.communications.MQeCommunicationsException: Adapter Closed

‏2007-01-02T17:31:07Z |
Hi all,

Happy New Year to everyone ;)

Here is my question:

I am trying to put a message on a MQe server from a MQe client.

I am running into the following exception, when using the Example1.java that comes with the MQe samples:

code
1/2/07 17:56:15:562 CET 00000064 ServletWrappe A SRVE0242I: TestDataAccessActorEAR [/TestDataAccessActor] TestMQeClient: Initialization successful.
1/2/07 17:56:15:578 CET 00000064 SystemOut O --> doGet
1/2/07 17:56:15:578 CET 00000064 SystemOut O Example1 Started
1/2/07 17:56:15:578 CET 00000064 SystemOut O ..Start a queue manager using ini file: c:/PROGRA~1/MQe/Java/MQe_Script/DataAccessQM.ini
1/2/07 17:56:15:578 CET 00000064 SystemOut O ... nested fields Registry
LocalRegType = com.ibm.mqe.registry.MQeFileSession

DirName = C:\Program Files\MQe\Java\MQe_Script\DataAccessQM\Registry\

Adapter = com.ibm.mqe.adapters.MQeDiskFieldsAdapter

... nested fields QueueManager
Name = DataAccessQM

... nested fields Alias

1/2/07 17:56:15:609 CET 00000064 SystemOut O ..Started queue manager: DataAccessQM
1/2/07 17:56:15:609 CET 00000064 SystemOut O ..Create a message and add data:Example1:Humpty dumpty sat on a wall ...
1/2/07 17:56:15:609 CET 00000064 SystemOut O ..Put the message to QM/queue: StoreQM_0001/SYSTEM.DEFAULT.LOCAL.QUEUE
1/2/07 17:56:25:969 CET 00000064 SystemOut O Example1 Failed! com.ibm.mqe.MQeException: com.ibm.mqe.communications.MQeCommunicationsException: An exception occured in the communications layer(java.lang.Exception: Adapter closed)DataAccessQM 4 (code=10) on DataAccessQMDataAccessQM 5 (code=600)
1/2/07 17:56:25:938 CET 00000064 SystemErr R com.ibm.mqe.MQeException: com.ibm.mqe.communications.MQeCommunicationsException: An exception occured in the communications layer(java.lang.Exception: Adapter closed)DataAccessQM 4 (code=10) on DataAccessQMDataAccessQM 5 (code=600)
at com.ibm.mqe.MQeTransporter.remoteExecute(DashoA8173)
at com.ibm.mqe.MQeTransporter.getQueueState(DashoA8173)
at com.ibm.mqe.MQeQueueManagerProxy.getRemoteQueueRepresenting(DashoA8173)
at com.ibm.mqe.MQeQueueManager.getQueueControlBlock(DashoA8173)
at com.ibm.mqe.MQeQueueManager.internalPutMessage(DashoA8173)
at com.ibm.mqe.MQeQueueManager.putMessage(DashoA8173)
at examples.application.Example1.doIt(Example1.java:99)
at TestMQeClient.doGet(TestMQeClient.java:30)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:762)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3071)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:236)
at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:210)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1958)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:89)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:288)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminaters(NewConnectionInitialReadCallback.java:207)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:109)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)

1/2/07 17:56:25:938 CET 00000064 SystemErr R at com.ibm.mqe.MQeTransporter.remoteExecute(DashoA8173)
1/2/07 17:56:25:938 CET 00000064 SystemErr R at com.ibm.mqe.MQeTransporter.getQueueState(DashoA8173)
1/2/07 17:56:25:938 CET 00000064 SystemErr R at com.ibm.mqe.MQeQueueManagerProxy.getRemoteQueueRepresenting(DashoA8173)
1/2/07 17:56:25:938 CET 00000064 SystemErr R at com.ibm.mqe.MQeQueueManager.getQueueControlBlock(DashoA8173)
1/2/07 17:56:25:938 CET 00000064 SystemErr R at com.ibm.mqe.MQeQueueManager.internalPutMessage(DashoA8173)
1/2/07 17:56:25:969 CET 00000064 SystemErr R at com.ibm.mqe.MQeQueueManager.putMessage(DashoA8173)
1/2/07 17:56:25:969 CET 00000064 SystemErr R at examples.application.Example1.doIt(Example1.java:99)
1/2/07 17:56:25:969 CET 00000064 SystemErr R at TestMQeClient.doGet(TestMQeClient.java:30)
1/2/07 17:56:25:969 CET 00000064 SystemErr R at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
1/2/07 17:56:25:969 CET 00000064 SystemErr R at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
1/2/07 17:56:25:969 CET 00000064 SystemErr R at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
1/2/07 17:56:25:969 CET 00000064 SystemErr R at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:762)
1/2/07 17:56:25:969 CET 00000064 SystemErr R at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3071)
1/2/07 17:56:25:969 CET 00000064 SystemErr R at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:236)
1/2/07 17:56:25:969 CET 00000064 SystemErr R at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:210)
1/2/07 17:56:25:969 CET 00000064 SystemErr R at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1958)
1/2/07 17:56:25:969 CET 00000064 SystemErr R at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:89)
1/2/07 17:56:25:969 CET 00000064 SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
1/2/07 17:56:25:969 CET 00000064 SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
1/2/07 17:56:25:969 CET 00000064 SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:288)
1/2/07 17:56:25:969 CET 00000064 SystemErr R at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminaters(NewConnectionInitialReadCallback.java:207)
1/2/07 17:56:25:969 CET 00000064 SystemErr R at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:109)
1/2/07 17:56:25:969 CET 00000064 SystemErr R at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
1/2/07 17:56:25:969 CET 00000064 SystemErr R at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
1/2/07 17:56:25:969 CET 00000064 SystemErr R at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
1/2/07 17:56:25:969 CET 00000064 SystemErr R at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
1/2/07 17:56:25:969 CET 00000064 SystemErr R at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)
1/2/07 17:56:29:984 CET 00000064 SystemOut O doGet -->
1/2/07 17:56:29:984 CET 00000064 SystemErr R com.ibm.mqe.MQeException: com.ibm.mqe.communications.MQeCommunicationsException: An exception occured in the communications layer(java.lang.Exception: Adapter closed)DataAccessQM 4 (code=10) on DataAccessQMDataAccessQM 5 (code=600)
at com.ibm.mqe.MQeTransporter.remoteExecute(DashoA8173)
at com.ibm.mqe.MQeTransporter.getQueueState(DashoA8173)
at com.ibm.mqe.MQeQueueManagerProxy.getRemoteQueueRepresenting(DashoA8173)
at com.ibm.mqe.MQeQueueManager.getQueueControlBlock(DashoA8173)
at com.ibm.mqe.MQeQueueManager.internalPutMessage(DashoA8173)
at com.ibm.mqe.MQeQueueManager.putMessage(DashoA8173)
at examples.application.Example1.doIt(Example1.java:99)
at TestMQeClient.doGet(TestMQeClient.java:30)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:762)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3071)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:236)
at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:210)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1958)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:89)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:288)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminaters(NewConnectionInitialReadCallback.java:207)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:109)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)
[/code]

Any thoughts on this?

I am new to MQe, so I am not sure about the meaning of "Adapter Closed".

Thanks,
Quentin
Updated on 2007-01-24T08:43:42Z at 2007-01-24T08:43:42Z by Raghuram
  • Raghuram
    Raghuram
    7 Posts
    ACCEPTED ANSWER

    Re: com.ibm.mqe.communications.MQeCommunicationsException: Adapter Closed

    ‏2007-01-03T06:40:32Z  in response to SystemAdmin
    Hi,

    I wish you the same! :)

    Can you attach the contents of the ini file from which you are loading the Q manager? It'll help a lot.

    Cheers,
    • SystemAdmin
      SystemAdmin
      684 Posts
      ACCEPTED ANSWER

      Re: com.ibm.mqe.communications.MQeCommunicationsException: Adapter Closed

      ‏2007-01-03T08:21:04Z  in response to Raghuram
      Hi,

      Here is the local QM ini file:

      code
      Registry
      (ascii)LocalRegType=com.ibm.mqe.registry.MQeFileSession

      (ascii)DirName=C:\Program Files\MQe\Java\MQe_Script\DataAccessQM\Registry\

      (ascii)Adapter=com.ibm.mqe.adapters.MQeDiskFieldsAdapter
      QueueManager
      (ascii)Name=DataAccessQM
      Alias
      [/code]

      And here comes the remote QM ini file:

      code
      SystemProperties
      (ascii)example.property=example property value
      Registry
      (ascii)PIN=1234567

      (ascii)LocalRegType=FileRegistry

      (ascii)DirName=M:/mqe/Registry

      (ascii)KeyRingPassword=MySecret

      (ascii)Adapter=com.ibm.mqe.adapters.MQeDiskFieldsAdapter
      ChannelManager
      (int)MaxChannels=0
      QueueManager
      (ascii)Name=StoreQM_0001
      Listener
      (ascii)Listen=FastNetwork::8085

      (int)TimeInterval=300

      (ascii)Network=FastNetwork:
      Alias
      [/code]

      Hum...wait, maybe I should specify MQeDiskFieldsAdapter as the adapter when I am creating the connection def instead of using the default one? I'll try this...

      Let me know if you need anything else,

      Thanks,
      Quentin
  • Raghuram
    Raghuram
    7 Posts
    ACCEPTED ANSWER

    Re: com.ibm.mqe.communications.MQeCommunicationsException: Adapter Closed

    ‏2007-01-24T08:43:42Z  in response to SystemAdmin
    Hi,

    Looking at the stack trace seems like you are trying to access(get/put) the remoteQM(StoreQM_0001) from a queue manager

    (DataAccessQM) deployed in your app. server. The following procedure describes how to invoke Example1 from a servlet:

    You will have to implement doGet() method of the HttpServlet interface. doGet() method should make a call to Example1's

    doIt() giving the localQM's ini file, in your case - DataAccessQM.
    Something like this - new MyExample1("RemoteQM", ".../.../DataAccessQM.ini").doIt();

    Before executing in the servlet context ensure the following holds:

    1. The remoteQM should be active and a listener actively listening.
    2. Create another QM with a connection defined to connect to the above listener. (The adapter type should be same as that on

    the listener end)
    3. Execute Example1 with the configuration file created in the above step.
    Thanks,
    Ram