activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Tully <gary.tu...@gmail.com>
Subject Re: HOW TO: confirm copyMessageOnSend is working???
Date Wed, 17 Feb 2010 12:25:06 GMT
no problem, glad you got sorted.

On 16 February 2010 18:32, bob.deremer
<bob.deremer@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.deremer@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

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message