no problem, glad you got sorted. On 16 February 2010 18:32, bob.deremer <bob.dere...@burningskysoftware.com>wrote:
> > Sorry for not posting this update sooner... > > I managed to figure out what is going on by downloading the 5.3.0 source > code and digging into the ActiveMQConnection and Session classes. I can > see > that the object being set as the payload of an ObjectMessage must have the > Serializable "tag" interface. In addition, all types inside the object > must > also implement Serializable or be a primitive java type. This makes sense > that the ObjectMessage [and any message for that matter] be serializable > because it needs to be able to cross boundaries seemlessly when required. > > The key is the setObjectMessageSerializationDefered setter on the > Connection/ConnectionFactory objects - as Gary points out below. The > copyMessageOnSend just keeps from making a copy prior to sending, but > doesn't control whether the ObjectMessage's payload gets serialized via the > ObjectMessage.storeContent method. > > > Sorry for posting before checking the source. I hope this may have helped > out some others with the similar question. > > -bob > > Gary Tully wrote: > > > > have you set: > > > > factory.setObjectMessageSerializationDefered(true); > > > > > > http://activemq.apache.org/how-should-i-use-the-vm-transport.html > > > > On 16 February 2010 16:49, bob.deremer > > <bob.dere...@burningskysoftware.com>wrote: > > > >> > >> Hi all ActiveMQ gurus, > >> > >> BACKGROUND: > >> I'm using AMQ 5.3 with the local vm:// transport and wish to make use of > >> the > >> copyMessageOnSend = FALSE convention to send my messages by reference > >> [instead of by value]. Given the dynamic nature of our > >> ObjectMessage-based > >> messages and varying size of the message content, we want to avoid any > >> unncessary serialization/deserialization whereever possible. I am > >> currently > >> setting this property on the producer's ConnectionFactory, so [according > >> to > >> the AMQ docs] this should be properly configured. > >> > >> QUESTION: > >> Why does the createObjectMessage(...) throw an exception when I try and > >> create an ObjectMessage from my custom object that has sub-objects > inside > >> of > >> it that do NOT implement Serializable? I can understand the top-level > >> object being passed to createObjectMessage requiring Serializable > because > >> that is how the method is defined. BUT, if copyMessageOnSend == FALSE > is > >> being used, why is the whole object chain being checked for Serializable > >> [if > >> it's not going to be serialized]? My BIG concern is that some level of > >> serialization is being done when it shouldn't be. > >> > >> Please help me understand what's going on under the hood. I don't want > >> to > >> force all objects going into ActiveMQ to implement Serializable if they > >> really aren't going to be serialized. > >> > >> Thanks in advance for clarification on this, > >> Bob > >> > >> -- > >> View this message in context: > >> > http://old.nabble.com/HOW-TO%3A-confirm-copyMessageOnSend-is-working----tp27611334p27611334.html > >> Sent from the ActiveMQ - User mailing list archive at Nabble.com. > >> > >> > > > > > > -- > > http://blog.garytully.com > > > > Open Source Integration > > http://fusesource.com > > > > > > -- > View this message in context: > http://old.nabble.com/HOW-TO%3A-confirm-copyMessageOnSend-is-working----tp27611334p27612953.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. > > -- http://blog.garytully.com Open Source Integration http://fusesource.com