Hi Norman,

Just svn up, mvn package and tested. I've got:

Exception in thread "pool-16-thread-1" <openjpa-2.0.0-r422266:935683 nonfatal user error> org.apache.openjpa.persistence.InvalidStateException: Can only perform operation while a transaction is active. FailedObject: SELECT user FROM JamesUser user WHERE user.name=:name [java.lang.String] at org.apache.openjpa.kernel.BrokerImpl.assertTransactionOperation(BrokerImpl.java:4595) at org.apache.openjpa.kernel.BrokerImpl.beginStore(BrokerImpl.java:1378) at org.apache.openjpa.jdbc.kernel.PessimisticLockManager.ensureStoreManagerTransaction(PessimisticLockManager.java:177) at org.apache.openjpa.jdbc.kernel.PessimisticLockManager.selectForUpdate(PessimisticLockManager.java:86)
    at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:377)
    at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:363)
at org.apache.openjpa.jdbc.sql.LogicalUnion$UnionSelect.execute(LogicalUnion.java:427) at org.apache.openjpa.jdbc.sql.LogicalUnion.execute(LogicalUnion.java:230) at org.apache.openjpa.jdbc.sql.LogicalUnion.execute(LogicalUnion.java:220) at org.apache.openjpa.jdbc.kernel.SelectResultObjectProvider.open(SelectResultObjectProvider.java:94) at org.apache.openjpa.lib.rop.EagerResultList.<init>(EagerResultList.java:34)
    at org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1246)
    at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:1005)
    at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:861)
    at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:792)
at org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:542)
    at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:288)
at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:302) at org.apache.openjpa.persistence.QueryImpl.getSingleResult(QueryImpl.java:326) at org.apache.james.server.jpa.JPAUsersRepository.getUserByName(JPAUsersRepository.java:143) at org.apache.james.server.jpa.JPAUsersRepository.test(JPAUsersRepository.java:290) at org.apache.james.impl.user.LocalUsersRepository.test(LocalUsersRepository.java:127) at org.apache.james.imapserver.UserRepositoryAuthenticator.isAuthentic(UserRepositoryAuthenticator.java:45) at org.apache.james.imap.store.StoreMailboxManager.login(StoreMailboxManager.java:425) at org.apache.james.imap.store.StoreMailboxManager.login(StoreMailboxManager.java:468) at org.apache.james.imap.processor.LoginProcessor.doProcess(LoginProcessor.java:67) at org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractMailboxProcessor.java:125) at org.apache.james.imap.processor.AbstractMailboxProcessor.process(AbstractMailboxProcessor.java:80) at org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractMailboxProcessor.java:73) at org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:44) at org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46) at org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46) at org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46) at org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46) at org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46) at org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46) at org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46) at org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46) at org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46) at org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46) at org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46) at org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46) at org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46) at org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46) at org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46) at org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46) at org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46) at org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46) at org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46) at org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46) at org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46) at org.apache.james.imap.main.AbstractImapRequestHandler.doProcessRequest(AbstractImapRequestHandler.java:65) at org.apache.james.imap.main.ImapRequestStreamHandler.handleRequest(ImapRequestStreamHandler.java:82) at org.apache.james.imapserver.netty.ImapStreamChannelUpstreamHandler.processStreamIo(ImapStreamChannelUpstreamHandler.java:64) at org.jboss.netty.handler.stream.StreamHandler$1.run(StreamHandler.java:127) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:636)


Tks,

Eric


On 05/14/2010 08:20 PM, Norman Maurer wrote:
Any new one this ? I would like to cut a milestone soon, so it would
be cool to know if it work out...

Bye,
Norman

2010/5/7 Norman Maurer<[email protected]>:
Hi Eric,

could you update to current trunk and see if it helps?

We should now only use one session per thread.

Feedback Welcome...

Bye
Norman

2010/5/7, Norman Maurer<[email protected]>:
Hi Robert,

maybe I just don't get what you want todo.. How about some "pseudo code" ?

I just committed some code to use only one EntityManager/JCR Session
per request. Hopefully this will help with Alfresco.

Bye,
Norman

2010/5/7 Robert Burrell Donkin<[email protected]>:
On Fri, May 7, 2010 at 5:58 AM, Norman Maurer
<[email protected]>  wrote:
Hi Robert,

to be honest I think it would make things just more complicated. I
think we should just make sure we keep the jcr session / entitymanager
etc open till we are done with processing the request. Nothing more...

I don't see the advance of implement such a callback interface. Maybe
you can outline why you "prefer" this way ?
fit in better with the message style API used by the rest of the IMAP
stack. should make transactions transparent and allow scheduling
rather than synchronisation for some operations.

- robert

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to