Return-Path: Delivered-To: apmail-geronimo-dev-archive@www.apache.org Received: (qmail 86636 invoked from network); 3 Feb 2005 21:15:07 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 3 Feb 2005 21:15:07 -0000 Received: (qmail 23717 invoked by uid 500); 3 Feb 2005 21:14:55 -0000 Delivered-To: apmail-geronimo-dev-archive@geronimo.apache.org Received: (qmail 23680 invoked by uid 500); 3 Feb 2005 21:14:55 -0000 Mailing-List: contact dev-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: dev@geronimo.apache.org Delivered-To: mailing list dev@geronimo.apache.org Received: (qmail 23667 invoked by uid 99); 3 Feb 2005 21:14:55 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: local policy) Received: from Unknown (HELO mgd.gluecode.com) (64.14.202.141) by apache.org (qpsmtpd/0.28) with ESMTP; Thu, 03 Feb 2005 13:14:54 -0800 Received: from [192.168.42.16] (69-175-232-201.vnnyca.adelphia.net [69.175.232.201]) (authenticated bits=0) by mgd.gluecode.com (8.12.10/8.12.10) with ESMTP id j13LECCW006277 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NO) for ; Thu, 3 Feb 2005 13:14:13 -0800 Mime-Version: 1.0 (Apple Message framework v619.2) In-Reply-To: References: Content-Type: text/plain; charset=US-ASCII; format=flowed Message-Id: <546a97e7de62687534cc6704986029db@gluecode.com> Content-Transfer-Encoding: 7bit From: David Blevins Subject: Re: ObjectInputStream with classloading Date: Thu, 3 Feb 2005 13:14:26 -0800 To: dev@geronimo.apache.org X-Mailer: Apple Mail (2.619.2) X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N On Feb 3, 2005, at 10:02 AM, David Jencks wrote: > > 2. OpenEjb has a broken implementation, EJBObjectInputStream. This > one uses either a constructor-supplied cl or if that is null, the > TCCL. Can the use of TCCL be dropped from this implementation? We can't use the approach where we pass the classloader in the constructor as we don't know what classloader to use. The ObjectInputStream is created, we read off the container id, grab the container's classloader then finish deserializing in that classloader as processing continues. Also, we shouldn't be serializing any proxies, so the implementation isn't necessarily broken. All EJB related proxies need to be swapped out with the server's implementation and shouldn't hit the wire. -David