You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Willem Jiang (JIRA)" <ji...@apache.org> on 2014/02/19 14:38:19 UTC

[jira] [Resolved] (CAMEL-7053) JPA Skip locked entities

     [ https://issues.apache.org/jira/browse/CAMEL-7053?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Willem Jiang resolved CAMEL-7053.
---------------------------------

    Resolution: Fixed

Applied the patch into camel master branch with thanks to Chris.

> JPA Skip locked entities
> ------------------------
>
>                 Key: CAMEL-7053
>                 URL: https://issues.apache.org/jira/browse/CAMEL-7053
>             Project: Camel
>          Issue Type: New Feature
>          Components: camel-jpa
>    Affects Versions: 2.12.1
>            Reporter: Chris Watts
>            Assignee: Willem Jiang
>             Fix For: 2.13.0
>
>         Attachments: skipLockedJpa.patch
>
>
> The current implementation of the JPA endpoint is created more for using it as a queue for one JVM.
> This change performs the lock with timeout=0, causing a NOWAIT to be used where implementations support it.
> Ideally the lock should be performed using refresh() instead of lock() to prevent dirty read exceptions but Hibernate's implementation throws the wrong exception.
> https://hibernate.atlassian.net/browse/HHH-8786
> Currently OpenJPA throws the wrong exception for both lock and refresh so the test uses hibernate. See this jira:
> https://issues.apache.org/jira/browse/OPENJPA-2461
> The default lock of WRITE=OPTIMISTIC_FORCE_INCREMENT performs the lock too late and their are various jpa implementation problems  (OpenJPA doesn't lock it in memory, hibernate performs the delete before the increment). In nearly every use case PESSIMISTIC_WRITE is more correct.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)