Return-Path: Delivered-To: apmail-activemq-dev-archive@www.apache.org Received: (qmail 64972 invoked from network); 22 Feb 2010 16:33:07 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 22 Feb 2010 16:33:07 -0000 Received: (qmail 84152 invoked by uid 500); 22 Feb 2010 16:33:07 -0000 Delivered-To: apmail-activemq-dev-archive@activemq.apache.org Received: (qmail 84113 invoked by uid 500); 22 Feb 2010 16:33:07 -0000 Mailing-List: contact dev-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list dev@activemq.apache.org Received: (qmail 84103 invoked by uid 99); 22 Feb 2010 16:33:07 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 22 Feb 2010 16:33:07 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 22 Feb 2010 16:33:00 +0000 Received: from brutus.apache.org (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 37C2C234C045 for ; Mon, 22 Feb 2010 08:32:40 -0800 (PST) Message-ID: <1631563333.7961266856360222.JavaMail.jira@brutus.apache.org> Date: Mon, 22 Feb 2010 16:32:40 +0000 (UTC) From: "Bob DeRemer (JIRA)" To: dev@activemq.apache.org Subject: [jira] Updated: (AMQ-2622) ObjectMessage is [still] being serialized and de-serialized when using setObjectMessageSerializationDefered and setCopyMessageOnSend in local vm:// scenario In-Reply-To: <1084951706.7951266855760205.JavaMail.jira@brutus.apache.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: ae95407df07c98740808b2ef9da0087c [ 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.