From dev-return-19302-apmail-jackrabbit-dev-archive=jackrabbit.apache.org@jackrabbit.apache.org Fri Jul 04 12:10:30 2008 Return-Path: Delivered-To: apmail-jackrabbit-dev-archive@www.apache.org Received: (qmail 36882 invoked from network); 4 Jul 2008 12:10:29 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 4 Jul 2008 12:10:29 -0000 Received: (qmail 31227 invoked by uid 500); 4 Jul 2008 12:10:29 -0000 Delivered-To: apmail-jackrabbit-dev-archive@jackrabbit.apache.org Received: (qmail 31198 invoked by uid 500); 4 Jul 2008 12:10:29 -0000 Mailing-List: contact dev-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list dev@jackrabbit.apache.org Received: (qmail 31187 invoked by uid 99); 4 Jul 2008 12:10:29 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 04 Jul 2008 05:10:29 -0700 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; Fri, 04 Jul 2008 12:09:46 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id DFE7D234C156 for ; Fri, 4 Jul 2008 05:09:37 -0700 (PDT) Message-ID: <1414868869.1215173377915.JavaMail.jira@brutus> Date: Fri, 4 Jul 2008 05:09:37 -0700 (PDT) From: "Marcel Reutegger (JIRA)" To: dev@jackrabbit.apache.org Subject: [jira] Resolved: (JCR-1653) NodeIdImpl is not really serializable In-Reply-To: <1115007316.1213636785188.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/JCR-1653?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcel Reutegger resolved JCR-1653. ----------------------------------- Resolution: Fixed Fix Version/s: 1.5 - Turned the ItemId implementations into static classes - Added PathFactory parameter to constructors where needed. ItemIds don't need the factory anywhere else. - Added serialVersionUID to NodeIdImpl and PropertyIdImpl - Added test cases that check serializability - Optimized ItemIdImpl.hashCode() All tests in jackrabbit trunk ran successfully. I also successfully executed the tests in sandbox/spi/client against an SPI-RMI server. svn revision: 674024 Thank you for reporting this issue. > NodeIdImpl is not really serializable > -------------------------------------- > > Key: JCR-1653 > URL: https://issues.apache.org/jira/browse/JCR-1653 > Project: Jackrabbit > Issue Type: Bug > Components: jackrabbit-spi-commons > Affects Versions: 1.5 > Reporter: Scott Cytacki > Fix For: 1.5 > > Attachments: jackrabbit-spi-commons-NodeId-Serializable-1.patch > > > I've been trying to get jcr2spi - rmi - spi2jcr to work. > The error I'm seeing is reported as: > java.io.NotSerializableException: org.apache.jackrabbit.spi.commons.identifier.IdFactoryImpl > I believe I tracked this down. It is because NodeIdImpl is implicitly referencing its containing instance IdFactoryImpl which is not serializable. > NodeIdImpl is attempted to be serialized, in my case, with the following stack: > at org.apache.jackrabbit.spi.rmi.client.ClientRepositoryService.getItemInfos(ClientRepositoryService.java:258) > at org.apache.jackrabbit.jcr2spi.state.WorkspaceItemStateFactory.createNodeState(WorkspaceItemStateFactory.java:94) > at org.apache.jackrabbit.jcr2spi.state.TransientISFactory.createNodeState(TransientISFactory.java:99) > at org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntryImpl.doResolve(NodeEntryImpl.java:972) > at org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntryImpl.resolve(HierarchyEntryImpl.java:95) > at org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntryImpl.getItemState(HierarchyEntryImpl.java:212) > at org.apache.jackrabbit.jcr2spi.ItemManagerImpl.getItem(ItemManagerImpl.java:170) > at org.apache.jackrabbit.jcr2spi.SessionImpl.getRootNode(SessionImpl.java:216) > I think I must be doing something wrong, because it seems like this is a fundamental problem with doing jcr2spi - rmi - spi2jcr, and looking at the SVN history I don't see how this ever could have worked. > So either session.getRootNode() has never been tested using jcr2spi - rmi - spi2jcr, or I've got something setup wrong. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.