3 Replies Latest reply on Apr 27, 2016 10:19 PM by Justin Bertram

    javax.jms.JMSException: Please specify a non-zero length byte[]

    Anand Adike Newbie

      While sending message to HornetQ, I am geeting "javax.jms.JMSException: Please specify a non-zero length byte[]". Could you please someone help me to resolve the issue or let me know when do we get such type of error message.

        • 2. Re: javax.jms.JMSException: Please specify a non-zero length byte[]
          Paulo Lima Newbie

          Hi Justin,

           

          I believe I am running into the same issue as Anand's since he was helping me in another forum to set up a Generic JMS Adapter in order to send a text message from Progress ABL to HornetQ. Here is the full stack-trace as per your request:

           

          S-0018>(Apr 27, 2016 16:02:41:051) 10.3.24.141::sonicMQ1::3620::10034dea67b4f766:5f49e0e1:1545907c13f:-7fbb: A JMS session has been created. (9291)

          Thread-39>(Apr 27, 2016 16:02:41:064) 10.3.24.141::sonicMQ1::3620::10034dea67b4f766:5f49e0e1:1545907c13f:-7fbb: getNextMessage(): Client requests next message.

          Thread-38>(Apr 27, 2016 16:02:41:066) 10.3.24.141::sonicMQ1::3620::10034dea67b4f766:5f49e0e1:1545907c13f:-7fbb: send(): Sending a message to a queue

          Thread-38>(Apr 27, 2016 16:02:41:066) 10.3.24.141::sonicMQ1::3620::10034dea67b4f766:5f49e0e1:1545907c13f:-7fbb: send(): Sending a message to: prgs-events-in

          Thread-38>(Apr 27, 2016 16:02:41:066) 10.3.24.141::sonicMQ1::3620::10034dea67b4f766:5f49e0e1:1545907c13f:-7fbb

          javax.jms.JMSException: Please specify a non-zero length byte[]

              at org.hornetq.jms.client.HornetQMessage.setJMSCorrelationIDAsBytes(HornetQMessage.java:380)

              at com.progress.messaging.jms.JMSMessageCreator.setHeaderValues(JMSMessageCreator.java:553)

              at com.progress.messaging.jms.JMSMessageCreator.createMessage(JMSMessageCreator.java:102)

              at com.progress.messaging.jms.SessionContainer.sendToAdptr(SessionContainer.java:592)

              at com.progress.messaging.jms.SessionContainer.sendToAdptr2(SessionContainer.java:727)

              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

              at java.lang.reflect.Method.invoke(Method.java:606)

              at com.progress.javafrom4gl.implementation.MethodHolder.invoke(MethodHolder.java:168)

              at com.progress.javafrom4gl.implementation.RequestExecuter$Request.executeRequest(RequestExecuter.java:264)

              at com.progress.javafrom4gl.implementation.RequestExecuter.executeRequest(RequestExecuter.java:70)

              at com.progress.javafrom4gl.implementation.RequestThread.go(RequestThread.java:63)

              at com.progress.javafrom4gl.implementation.RequestThread.run(RequestThread.java:38)

          S-0003>(Apr 27, 2016 16:02:53:651) 10.3.24.141::sonicMQ1::3620::10034dea67b4f766:5f49e0e1:1545907c13f:-7fbb: stop(): Stopping message reception.

          S-0003>(Apr 27, 2016 16:02:53:651) 10.3.24.141::sonicMQ1::3620::10034dea67b4f766:5f49e0e1:1545907c13f:-7fbb: stop(): Message reception stopped.

          S-0003>(Apr 27, 2016 16:02:53:651) 10.3.24.141::sonicMQ1::3620::10034dea67b4f766:5f49e0e1:1545907c13f:-7fbb: Client was disconnected without calling deleteSession()! (9294)

          Thread-39>(Apr 27, 2016 16:02:53:652) 10.3.24.141::sonicMQ1::3620::10034dea67b4f766:5f49e0e1:1545907c13f:-7fbb: getNextMessage(): Sending SHUTDOWN message  to the client.

          S-0003>(Apr 27, 2016 16:02:53:656) 10.3.24.141::sonicMQ1::3620::10034dea67b4f766:5f49e0e1:1545907c13f:-7fbb: The JMS session has been closed. (9295)

           

          Thanks for your help,

          Paulo

          • 3. Re: javax.jms.JMSException: Please specify a non-zero length byte[]
            Justin Bertram Master

            It appears that com.progress.messaging.jms.JMSMessageCreator.setHeaderValues() is calling javax.jms.Message#setJMSCorrelationIDAsBytes(byte[]) and passing in a null value for the byte[] or a zero-length byte[] which is causing the exception.  Fix the caller and the problem will go away.