activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bob DeRemer (JIRA)" <j...@apache.org>
Subject [jira] Updated: (AMQ-2622) ObjectMessage is [still] being serialized and de-serialized when using setObjectMessageSerializationDefered and setCopyMessageOnSend in local vm:// scenario
Date Mon, 22 Feb 2010 16:32:40 GMT

     [ https://issues.apache.org/activemq/browse/AMQ-2622?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Bob DeRemer updated AMQ-2622:
-----------------------------

    Description: 
I have outlined the problem in the following forum link: 

http://old.nabble.com/URGENT-QUESTION:-AMQ-5.3.0-bug-or-configuration-error------ObjectMessage-is--still--being-serialized-when-using-setObjectMessageSerializationDefered-and-setCopyMessageOnSend-td27654579.html

I have not created a JUnit test that demonstrates this, but here are the basic steps to reproduce
this:
* create an embedded broker with no persistence, dedicatedTaskRunner = false, and optimizedDispatch
= true
* create the ActiveMQConnectionFactory and set the setObjectMessageSerializationDefered =
TRUE and setCopyMessageOnSend = FALSE
* create your connection from the factory
* create a producer and [MessageListener] consumer against a Queue
* create your own custom java object that implements Externalizable - this is important, because
you will be able to set a breakpoint in the readExternal and writeExternal methods to see
the 2 locations on the AMQ code where the message is copied - causing a serialization/de-serialization
* create a new ObjectMessage and send it from the producer to the consumer

The message will get serialized in ActiveMQConnection.java on this line [msg = msg.copy();]
- see the linked forum issue for the code snippet and line numbers. 

NOTE: you will need to continue stepping the code through the complete dispatch process because
it will go through a de-serialization phase as well when the call to getObject is called in
the onMessage of the MessageListener.

Please let me know if I can provide any more details - OR, if I'm not setting something properly
to keep the ObjectMessage from being serialized.

Thanks,
Bob

  was:
I have outlined the problem in the following forum link: 

http://old.nabble.com/URGENT-QUESTION:-AMQ-5.3.0-bug-or-configuration-error------ObjectMessage-is--still--being-serialized-when-using-setObjectMessageSerializationDefered-and-setCopyMessageOnSend-td27654579.html

I have not created a JUnit test that demonstrates this, but here are the basic steps to reproduce
this:
* create your own custom java object that implements Externalizable - this is important, because
you will be able to set a breakpoint in the readExternal and writeExternal methods to see
the 2 locations on the AMQ code where the message is copied - causing a serialization/de-serialization
* create the ActiveMQConnectionFactory and set the setObjectMessageSerializationDefered =
TRUE and setCopyMessageOnSend = FALSE
* create your connection from the factory
* create a producer and [MessageListener] consumer against a Queue
* create a new ObjectMessage and send it from the producer to the consumer

The message will get serialized in ActiveMQConnection.java on this line [msg = msg.copy();]
- see the linked forum issue for the code snippet and line numbers. 

NOTE: you will need to continue stepping the code through the complete dispatch process because
it will go through a de-serialization phase as well when the call to getObject is called in
the onMessage of the MessageListener.

Please let me know if I can provide any more details - OR, if I'm not setting something properly
to keep the ObjectMessage from being serialized.

Thanks,
Bob


> ObjectMessage is [still] being serialized and de-serialized when using setObjectMessageSerializationDefered
and setCopyMessageOnSend in local vm:// scenario
> ------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2622
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2622
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.3.0
>         Environment: Windows Server 2008 R2, 64-bit, binary download of ActiveMQ 5.3.0,
Java 1.6.0_17 (64-bit), Eclipse 3.5 (64-bit), tomcat 6.0 (64-bit)
>            Reporter: Bob DeRemer
>
> I have outlined the problem in the following forum link: 
> http://old.nabble.com/URGENT-QUESTION:-AMQ-5.3.0-bug-or-configuration-error------ObjectMessage-is--still--being-serialized-when-using-setObjectMessageSerializationDefered-and-setCopyMessageOnSend-td27654579.html
> I have not created a JUnit test that demonstrates this, but here are the basic steps
to reproduce this:
> * create an embedded broker with no persistence, dedicatedTaskRunner = false, and optimizedDispatch
= true
> * create the ActiveMQConnectionFactory and set the setObjectMessageSerializationDefered
= TRUE and setCopyMessageOnSend = FALSE
> * create your connection from the factory
> * create a producer and [MessageListener] consumer against a Queue
> * create your own custom java object that implements Externalizable - this is important,
because you will be able to set a breakpoint in the readExternal and writeExternal methods
to see the 2 locations on the AMQ code where the message is copied - causing a serialization/de-serialization
> * create a new ObjectMessage and send it from the producer to the consumer
> The message will get serialized in ActiveMQConnection.java on this line [msg = msg.copy();]
- see the linked forum issue for the code snippet and line numbers. 
> NOTE: you will need to continue stepping the code through the complete dispatch process
because it will go through a de-serialization phase as well when the call to getObject is
called in the onMessage of the MessageListener.
> Please let me know if I can provide any more details - OR, if I'm not setting something
properly to keep the ObjectMessage from being serialized.
> Thanks,
> Bob

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message