Ok I roughly see what you mean. Yes the lifecycle of the SPI in these methods is likely problematic.
However opening the SPI in the constructor makes it practically immortal which is too much. The correct way would be to open it at the start of the request and close it after the response has been sent, unfortunately Abdera is not very extensible that way. I hope I find the time to ditch Abdera in the coming weeks... Anyway if you have a stack trace *please* provide it, this will help me pin down which of the calls have to be using a single SPI object, and at least we can avoid some of the errors — Serge seemed to have found a working way but I'm lacking information. If someone can provide a unit test (sorry to be insisting) that would help fix all that. Apparently you guys are using Chemistry on top of an existing Jackrabbit database, without attempting document creation. So a simple static method comparable to BasicHelper that creates the appropriate JCR nodes using the JCR APIs and then exposes that using a JcrRepository would go a long way toward having something more resilient. Cheers, Florent On Mon, Dec 14, 2009 at 2:45 PM, Florian Roth <[email protected]> wrote: > Hi, > > this is happening because you get a node in one session close the session, > node is still in memory, then you open new spi session and want to fetch > properties of the in-memory node from the previous session. > All this has to be done in one session. So I think opening (only) one session > for every request is good. It's fixed with a protected SPI in > CMISObjectCollection. And use this spi in every subcollection. So you are > save that all operations in one request are done in one session, and you > don't have to take care to close the spi session in every method. > > Best regards > > > -----Ursprüngliche Nachricht----- > Von: Florent Guillaume [mailto:[email protected]] > Gesendet: Montag, 14. Dezember 2009 14:22 > An: chemistry-dev > Betreff: Re: AW: AW: atompub jcr bug with last commit > > Hi folks, > > Regarding these "javax.jcr.RepositoryException: this session has been > closed" problems, I would like to fix it but need a unit test to know > when it happens and to know what we're dealing with here. Can anyone > provide that? > > Florent > > > On Mon, Dec 7, 2009 at 4:11 PM, Florian Roth <[email protected]> wrote: >> Very cool. I will try this these days. >> >> Best regards >> >> -----Ursprüngliche Nachricht----- >> Von: Serge Huber [mailto:[email protected]] >> Gesendet: Montag, 7. Dezember 2009 16:09 >> An: [email protected] >> Betreff: Re: AW: AW: atompub jcr bug with last commit >> >> >> Hi Florian, >> >> I have just created CMIS-73 (https://issues.apache.org/jira/browse/CMIS-73 >> ). Hopefully this patch will work properly. I did it against the trunk. >> >> Regards, >> Serge Huber. >> >> On 7 déc. 09, at 15:39, Florian Roth wrote: >> >>> Hi, >>> >>> it would be very nice if you could add an patch in JIRA with your >>> jcr test cases. I wanted to write some too. But if you have some. >>> Its great. >>> I don't know if somebody is developing at the chemistry-jcr >>> subproject but I think many are interested in it. >>> >>> Best regards >>> >>> Florian >>> >>> -----Ursprüngliche Nachricht----- >>> Von: Serge Huber [mailto:[email protected]] >>> Gesendet: Montag, 7. Dezember 2009 15:32 >>> An: [email protected] >>> Betreff: Re: AW: atompub jcr bug with last commit >>> >>> >>> Hi Florian, >>> >>> Thanks, I could send out a patch attached to a JIRA, or just out to >>> the list (not sure it would like the attachement though), or privately >>> to you if you want to have a look. >>> >>> Regards, >>> Serge Huber. >>> >>> On 7 déc. 09, at 15:21, Florian Roth wrote: >>> >>>> Hi Serge, >>>> >>>> Thank you. >>>> >>>> My way is a protected SPI in CMISObjectsCollection. >>>> Spi=repository.getSPI() in constructor and a destructor with >>>> spi.close() it works. But don't know if that is a good way. >>>> >>>> I am very interested in jcr tests >>>> >>>> Chears Florian >>>> >>>> >>>> -----Ursprüngliche Nachricht----- >>>> Von: Serge Huber [mailto:[email protected]] >>>> Gesendet: Montag, 7. Dezember 2009 14:37 >>>> An: [email protected] >>>> Betreff: Re: atompub jcr bug with last commit >>>> >>>> >>>> Hi Florian, >>>> >>>> I have seen the same thing, I sorta modified CMISChildrenCollection >>>> to >>>> get around a few, but I must say I'm no expert in this area as I am >>>> just starting. Basically what I did was put the calls to the SPI >>>> inside getFeed which is the only public method and all protected >>>> methods that need references will get the SPI as a parameter. >>>> >>>> Regards, >>>> Serge Huber. >>>> >>>> On 7 déc. 09, at 14:12, Florian Roth wrote: >>>> >>>>> Hi, >>>>> >>>>> the commit from 02.12.2009 [886201] makes problems with chemistry- >>>>> jcr. Something is wrong with Session closing (spi.close()). Got lots >>>>> of javax.jcr.RepositoryException: this session has been closed >>>>> exceptions. >>>>> >>>>> >>>>> Chears >>>>> >>>>> in-integrierte informationssysteme GmbH >>>>> Am Seerhein 8 . 78467 Konstanz >>>>> http://www.in-gmbh.de/ . mailto:[email protected] >>>>> >>>>> Telefon: +49 7531 8145-0 >>>>> Telefax: +49 7531 8145-81 >>>>> >>>>> >>>>> Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte >>>>> Informationen. Wenn Sie nicht der richtige Adressat sind oder diese >>>>> E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den >>>>> Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren >>>>> sowie die unbefugte Weitergabe dieser Mail sind nicht gestattet. >>>>> This e-mail may contain confidential and/or privileged information. >>>>> If you are not the intended recipient (or have received this e-mail >>>>> in error) please notify the sender immediately and destroy this e- >>>>> mail. Any unauthorised copying, disclosure or distribution of the >>>>> material in this e-mail is strictly forbidden. >>>>> >>>>> Sitz der Gesellschaft: Konstanz . Amtsgericht Freiburg i.B. . >>>>> Registernummer: HRB 380976 . Geschäftsführer: Siegfried Wagner >>>>> >>>>> >>>>> >>>> >>> >> >> > > > > -- > Florent Guillaume, Director of R&D, Nuxeo > Open Source, Java EE based, Enterprise Content Management (ECM) > http://www.nuxeo.com http://www.nuxeo.org +33 1 40 33 79 87 > -- Florent Guillaume, Director of R&D, Nuxeo Open Source, Java EE based, Enterprise Content Management (ECM) http://www.nuxeo.com http://www.nuxeo.org +33 1 40 33 79 87
