[
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)