Maybe try to see where the thresold is ... increase 1 or 2 subsribers until
it happens.

A workaround might be to try a network of 2 brokers perhaps to see if its a
scaling issue.

Fred


Ramit Arora wrote:
> 
> Hi,
> I am testing ActiveMQ 5.0 using a Perl Publisher (using Net::Stomp) & Java
> Subscribers (Openwire). It works well when the number of subscribers is
> low (1 or 2) but when I increase the number of subscribers to around 10, I
> face the following problem:
> 
> A subscriber shows the following stack trace
> Exception in thread "ActiveMQ Transport:
> tcp://xx.yy.zz.com/nnn.nn.nnn.nn:61616" java.lang.ClassCastException:
> org.apache.activemq.command.BrokerId can not be cast to
> org.apache.activemq.command.ConsumerId
>         at
> org.apache.activemq.openwire.v3.MessageMarshaller.tightUnmarshal(MessageMarshaller.java:71)
>         at
> org.apache.activemq.openwire.v3.ActiveMQMessageMarshaller.tightUnmarshal(ActiveMQMessageMarshaller.java:67)
>         at
> org.apache.activemq.openwire.v3.ActiveMQTextMessageMarshaller.tightUnmarshal(ActiveMQTextMessageMarshaller.java:67)
>         at
> org.apache.activemq.openwire.OpenWireFormat.tightUnmarshalNestedObject(OpenWireFormat.java:452)
>         at
> org.apache.activemq.openwire.v3.BaseDataStreamMarshaller.tightUnmarsalNestedObject(BaseDataStreamMarshaller.java:127)
>         at
> org.apache.activemq.openwire.v3.MessageDispatchMarshaller.tightUnmarshal(MessageDispatchMarshaller.java:72)
>         at
> org.apache.activemq.openwire.OpenWireFormat.doUnmarshal(OpenWireFormat.java:361)
>         at
> org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:275)
>         at
> org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:192)
>         at
> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:184)
>         at
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java: 172)
>         at java.lang.Thread.run(Thread.java:619)
> 
> The broker shows the following stack trace:
> Exception in thread "ActiveMQ Connection Dispatcher: /nnn.nn.nn.nn:39997"
> java.lang.NullPointerException
>         at java.lang.System.arraycopy(Native Method)
>         at
> org.apache.activemq.transport.tcp.TcpBufferedOutputStream.write(TcpBufferedOutputStream.java:89)
>         at java.io.DataOutputStream.write(DataOutputStream.java:90)
>         at
> org.apache.activemq.openwire.v3.BaseDataStreamMarshaller.tightMarshalByteSequence2(BaseDataStreamMarshaller.java:433)
>         at
> org.apache.activemq.openwire.v3.MessageMarshaller.tightMarshal2(MessageMarshaller.java:173)
>         at
> org.apache.activemq.openwire.v3.ActiveMQMessageMarshaller.tightMarshal2(ActiveMQMessageMarshaller.java:90)
>         at
> org.apache.activemq.openwire.v3.ActiveMQTextMessageMarshaller.tightMarshal2(ActiveMQTextMessageMarshaller.java:90)
>         at
> org.apache.activemq.openwire.OpenWireFormat.tightMarshalNestedObject2(OpenWireFormat.java:423)
>         at
> org.apache.activemq.openwire.v3.BaseDataStreamMarshaller.tightMarshalNestedObject2(BaseDataStreamMarshaller.java:137)
>         at
> org.apache.activemq.openwire.v3.MessageDispatchMarshaller.tightMarshal2(MessageDispatchMarshaller.java:106)
>         at
> org.apache.activemq.openwire.OpenWireFormat.marshal(OpenWireFormat.java:238)
>         at
> org.apache.activemq.transport.tcp.TcpTransport.oneway(TcpTransport.java:153)
>         at
> org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java:157)
>         at
> org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:82)
>         at
> org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:91)
>         at
> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
>         at
> org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1151)
>         at
> org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:766)
>         at
> org.apache.activemq.broker.TransportConnection.iterate(TransportConnection.java:801)
>         at
> org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
>         at
> org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)
> 
> The broker & the subscriber keep running after this, but the broker does
> not deliver messages to that subscriber. Other subscribers work fine. This
> problem is repeatedly occuring. I am using SunOS 5.10 on a machine with 8
> processors & 32 GB of RAM.
> Please help!
> 
> TIA,
> Ramit
> 
>  
> 


-----
Goto www.ttmsolutions.com for a free ActiveMQ user guide 
-- 
View this message in context: 
http://www.nabble.com/Null-Pointer-Exception-on-broker-tp16048936s2354p16703624.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to