You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by LukeH <lu...@yahoo.com> on 2007/05/29 15:06:25 UTC
Re: org.apache.activemq.openwire.v2.BaseDataStreamMarshaller error
A bit of further research:
in org.apache.activemq.openwire.OpenWireFormat.marshal there is:
.....
BooleanStream bs = new BooleanStream();
size += dsm.tightMarshal1(this, c, bs);
size += bs.marshalledSize();
if( !sizePrefixDisabled ) {
dataOut.writeInt(size);
}
dataOut.writeByte(type);
bs.marshal(dataOut);
dsm.tightMarshal2(this, c, dataOut, bs);
.....
the problem seems to be that c (second parameter of tightMarshal*) can
change between tightMarshal1 and tightMarshal2. It is a race condition.
What I particulary did was setting a password for a ConnectionInfo to null
in a BrokerFilter#processDispatch. Maybe I shoud synchronize on something
there but I don't know on what.
--
View this message in context: http://www.nabble.com/org.apache.activemq.openwire.v2.BaseDataStreamMarshaller-error-tf3631400s2354.html#a10853744
Sent from the ActiveMQ - User mailing list archive at Nabble.com.