> Hi Jesse, > > Our Ruby clients are written in pure Ruby, the only C code is in the > library for SASL integration. I have not ever used JRuby - did you try > using our client with JRuby and run into problems? (Does anyone out > there have experience with JRuby and our client?)
I have not tried using them with JRuby, once I do get the bindings working with Ruby MRI I will definitely test with JRuby and report back to the list. > Make sure your client and server are using the same AMQP version. The > Java server does 0-8, the same version that RabbitMQ uses. Our Ruby > client uses 0-10, the same version that the C++ based server uses. The > version information for clients and servers is here: Do I have to make any configuration changes for the java broker to support 0-8? thanks, Jesse > http://qpid.apache.org/getting-started.html > > I can't comment on tmm1-amqp. > > Jonathan > > Jesse W. Hathaway wrote: >> Rather than the supplied QPID Ruby bindings I would prefer to use a >> native Ruby implementation since then >> the bindings would work in JRuby and be portable to >> other AMQP implementations. >> >> However when trying [tmm1-amqp][1] with M4 and trunk I am seeing >> the below errors. >> >> tmm1-amqp supports version 0-8 of the AMQP protocol, which based on >> the QPID documentation the java broker should support the 0-8 spec. >> >> Are there any specific configuration changes which need to be made for >> the broker to support 0-8 clients? >> >> tmm1-amqp is tested against RabbitMQ, so the problem could lie in a >> difference >> between RabbitMQ and QPID. >> >> Any help in tracking down the cause of the problem would be appreciated. >> >> thanks, Jesse >> >> ## on the client >> >> java.nio.BufferUnderflowException (Hexdump: CE) in inspect >> java.lang.IllegalArgumentException (Hexdump: 00 00 00 0F 00 32 00 0A 00 00 >> 03 74 77 6F 10 00 00 00 00 CE 01 00 03 00 00 00 1C 00 3C 00 14 00 00 03 74 >> 77 6F 10 74 77 6F 2D 34 35 34 32 32 33 32 37 35 37 35 37 0A CE) in inspect >> java.lang.IllegalArgumentException (Hexdump: 00 00 00 0F 00 32 00 0A 00 00 >> 03 74 77 6F 10 00 00 00 00 CE 01 00 03 00 00 00 1C 00 3C 00 14 00 00 03 74 >> 77 6F 10 74 77 6F 2D 34 33 39 38 30 37 33 35 30 35 36 34 0A CE) in inspect >> java.lang.IllegalArgumentException (Hexdump: 00 00 00 0F 00 32 00 0A 00 00 >> 03 74 77 6F 10 00 00 00 00 CE 01 00 03 00 00 00 1B 00 3C 00 14 00 00 03 74 >> 77 6F 0F 74 77 6F 2D 38 35 31 31 38 39 31 36 34 31 34 0A CE) in inspect >> >> ## on the server M4 >> >> 2009-04-23 15:02:08,748 ERROR [pool-1-thread-4] >> protocol.AMQPFastProtocolHandler (AMQPFastProtocolHandler.java:217) - >> Exception caught in/127.0.0.1:44681(guest), closing session explictly: >> org.apache.mina.filter.codec.ProtocolDecoderException: >> java.lang.IllegalArgumentException (Hexdump: 00 00 00 0F 00 32 00 0A 00 00 >> 03 74 77 6F 10 00 00 00 00 CE 01 00 03 00 00 00 1C 00 3C 00 14 00 00 03 74 >> 77 6F 10 74 77 6F 2D 33 37 33 33 30 35 39 31 34 36 38 37 0A CE) >> org.apache.mina.filter.codec.ProtocolDecoderException: >> java.lang.IllegalArgumentException (Hexdump: 00 00 00 0F 00 32 00 0A 00 00 >> 03 74 77 6F 10 00 00 00 00 CE 01 00 03 00 00 00 1C 00 3C 00 14 00 00 03 74 >> 77 6F 10 74 77 6F 2D 33 37 33 33 30 35 39 31 34 36 38 37 0A CE) >> at >> org.apache.mina.filter.codec.QpidProtocolCodecFilter.messageReceived(QpidProtocolCodecFilter.java:158) >> at >> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362) >> at >> org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54) >> at >> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800) >> at org.apache.qpid.pool.Event$ReceivedEvent.process(Event.java:86) >> at org.apache.qpid.pool.Job.processAll(Job.java:114) >> at org.apache.qpid.pool.Job.run(Job.java:153) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) >> at java.lang.Thread.run(Thread.java:595) >> Caused by: java.lang.IllegalArgumentException >> at java.nio.Buffer.limit(Buffer.java:249) >> at >> org.apache.mina.common.FixedSizeByteBufferAllocator$FixedSizeByteBuffer.limit(FixedSizeByteBufferAllocator.java:196) >> at org.apache.qpid.framing.FieldTable.<init>(FieldTable.java:72) >> at >> org.apache.qpid.framing.FieldTableFactory.newFieldTable(FieldTableFactory.java:34) >> at >> org.apache.qpid.framing.EncodingUtils.readFieldTable(EncodingUtils.java:652) >> at >> org.apache.qpid.framing.amqp_8_0.AMQMethodBody_8_0.readFieldTable(AMQMethodBody_8_0.java:95) >> at >> org.apache.qpid.framing.amqp_8_0.BasicConsumeBodyImpl.<init>(BasicConsumeBodyImpl.java:81) >> at >> org.apache.qpid.framing.amqp_8_0.BasicConsumeBodyImpl$1.newInstance(BasicConsumeBodyImpl.java:47) >> at >> org.apache.qpid.framing.amqp_8_0.MethodRegistry_8_0.convertToBody(MethodRegistry_8_0.java:298) >> at >> org.apache.qpid.framing.AMQMethodBodyFactory.createBody(AMQMethodBodyFactory.java:43) >> at org.apache.qpid.framing.AMQFrame.<init>(AMQFrame.java:42) >> at >> org.apache.qpid.framing.AMQDataBlockDecoder.createAndPopulateFrame(AMQDataBlockDecoder.java:104) >> at >> org.apache.qpid.framing.AMQDataBlockDecoder.decode(AMQDataBlockDecoder.java:118) >> at org.apache.qpid.codec.AMQDecoder.doDecodeDataBlock(AMQDecoder.java:133) >> at org.apache.qpid.codec.AMQDecoder.doDecode(AMQDecoder.java:100) >> at org.apache.qpid.codec.AMQDecoder.decode(AMQDecoder.java:208) >> at >> org.apache.mina.filter.codec.QpidProtocolCodecFilter.messageReceived(QpidProtocolCodecFilter.java:147) >> ... 9 more >> >> ## on the server trunk >> >> 2009-04-23 15:00:12,631 ERROR [pool-1-thread-5] >> protocol.AMQPFastProtocolHandler (AMQPFastProtocolHandler.java:217) - >> Exception caught in/127.0.0.1:52805(guest), closing session explictly: >> org.apache.mina.filter.codec.ProtocolDecoderException: >> java.nio.BufferUnderflowException (Hexdump: CE) >> org.apache.mina.filter.codec.ProtocolDecoderException: >> java.nio.BufferUnderflowException (Hexdump: CE) >> at >> org.apache.mina.filter.codec.QpidProtocolCodecFilter.messageReceived(QpidProtocolCodecFilter.java:158) >> at >> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362) >> at >> org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54) >> at >> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800) >> at org.apache.qpid.pool.Event$ReceivedEvent.process(Event.java:86) >> at org.apache.qpid.pool.Job.processAll(Job.java:114) >> at org.apache.qpid.pool.Job.run(Job.java:153) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) >> at java.lang.Thread.run(Thread.java:595) >> Caused by: java.nio.BufferUnderflowException >> at java.nio.Buffer.nextGetIndex(Buffer.java:404) >> at java.nio.HeapByteBuffer.getInt(HeapByteBuffer.java:336) >> at >> org.apache.mina.common.FixedSizeByteBufferAllocator$FixedSizeByteBuffer.getInt(FixedSizeByteBufferAllocator.java:357) >> at org.apache.mina.common.ByteBuffer.getUnsignedInt(ByteBuffer.java:725) >> at >> org.apache.qpid.framing.EncodingUtils.readFieldTable(EncodingUtils.java:645) >> at >> org.apache.qpid.framing.amqp_8_0.AMQMethodBody_8_0.readFieldTable(AMQMethodBody_8_0.java:95) >> at >> org.apache.qpid.framing.amqp_8_0.BasicConsumeBodyImpl.<init>(BasicConsumeBodyImpl.java:81) >> at >> org.apache.qpid.framing.amqp_8_0.BasicConsumeBodyImpl$1.newInstance(BasicConsumeBodyImpl.java:47) >> at >> org.apache.qpid.framing.amqp_8_0.MethodRegistry_8_0.convertToBody(MethodRegistry_8_0.java:298) >> at >> org.apache.qpid.framing.AMQMethodBodyFactory.createBody(AMQMethodBodyFactory.java:43) >> at org.apache.qpid.framing.AMQFrame.<init>(AMQFrame.java:42) >> at >> org.apache.qpid.framing.AMQDataBlockDecoder.createAndPopulateFrame(AMQDataBlockDecoder.java:104) >> at >> org.apache.qpid.framing.AMQDataBlockDecoder.decode(AMQDataBlockDecoder.java:118) >> at org.apache.qpid.codec.AMQDecoder.doDecodeDataBlock(AMQDecoder.java:133) >> at org.apache.qpid.codec.AMQDecoder.doDecode(AMQDecoder.java:100) >> at org.apache.qpid.codec.AMQDecoder.decode(AMQDecoder.java:208) >> at >> org.apache.mina.filter.codec.QpidProtocolCodecFilter.messageReceived(QpidProtocolCodecFilter.java:147) >> ... 9 more >> >> [1]: http://github.com/tmm1/amqp/tree/master >> >> --------------------------------------------------------------------- >> Apache Qpid - AMQP Messaging Implementation >> Project: http://qpid.apache.org >> Use/Interact: mailto:[email protected] >> >> >> > > > --------------------------------------------------------------------- > Apache Qpid - AMQP Messaging Implementation > Project: http://qpid.apache.org > Use/Interact: mailto:[email protected] > -- Jesse W. Hathaway Senior Systems Administrator Chapdelaine & Co. (w) 312-704-2000 (c) 917-418-8423 --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:[email protected]
