[daisy] [JIRA] Resolved: (DSY-468) Throw specific exception when an
optimistic locking exception occurs, instead of RepositoryException
Bruno Dumon (JIRA)
issues at cocoondev.org
Mon Jun 11 09:39:46 CDT 2007
[ http://issues.cocoondev.org//browse/DSY-468?page=all ]
Bruno Dumon resolved DSY-468:
-----------------------------
Fix Version: 2.1
Resolution: Fixed
see SVN rev 4090
> Throw specific exception when an optimistic locking exception occurs, instead of RepositoryException
> ----------------------------------------------------------------------------------------------------
>
> Key: DSY-468
> URL: http://issues.cocoondev.org//browse/DSY-468
> Project: Daisy
> Type: Improvement
> Components: Repository
> Versions: 2.0.1
> Reporter: Geoffrey De Smet
> Priority: Trivial
> Fix For: 2.1
>
> So it can be caught and dealt with accordingly (show to the user), without having to catch RepositoryException and having to do:
> if (e.getMessage().equals("The document variant was updated concurrently.")) ...
> Pessimistic locking throws a nice DocumentLockingException. Optimistic locking could throw that too or a new exception class (which could extend RepositoryException of course).
> Here's a stacktrace on a client:
> Caused by: org.outerj.daisy.repository.RepositoryException: Received exception from repository server.
> at org.outerj.daisy.repository.clientimpl.infrastructure.DaisyHttpClient.handleNotOkResponse(DaisyHttpClient.java:180)
> at org.outerj.daisy.repository.clientimpl.infrastructure.DaisyHttpClient.executeMethod(DaisyHttpClient.java:111)
> at org.outerj.daisy.repository.clientimpl.RemoteDocumentStrategy.store(RemoteDocumentStrategy.java:215)
> at org.outerj.daisy.repository.commonimpl.DocumentImpl.save(DocumentImpl.java:430)
> at be.schaubroeck.daisy.RepositoryTemplate$3.doExecute(RepositoryTemplate.java:216)
> at be.schaubroeck.daisy.RepositoryTemplate.execute(RepositoryTemplate.java:67)
> ... 43 more
> Caused by: org.outerj.daisy.repository.clientimpl.infrastructure.DaisyPropagatedException: [org.outerj.daisy.repository.RepositoryException] The document variant was updated concurrently.
> Here's a stack trace on the server request:
> ERROR ] <2007-05-09 16:33:26,439> (daisy.repository.httpconnector.request-errors): Error processing request /document/1692-sb
> org.outerj.daisy.repository.RepositoryException: The document variant was updated concurrently.
> at org.outerj.daisy.httpconnector.handlers.DocumentHandler.handleRequest(DocumentHandler.java:91)
> at org.outerj.daisy.httpconnector.HttpConnectorImpl$PathHandler.handle(HttpConnectorImpl.java:299)
> at org.outerj.daisy.httpconnector.HttpConnectorImpl$DaisyHandler.handle(HttpConnectorImpl.java:257)
> at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
> at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
> at org.mortbay.http.HttpServer.service(HttpServer.java:909)
> at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
> at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)
> at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
> at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
> at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
> at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
> (not an urgent issue, just added it so it's tracked in jira)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.cocoondev.org//secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
More information about the daisy
mailing list