Guest User

Untitled

a guest
Apr 24th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. @Version
  2. @Setter(AccessLevel.NONE)
  3. @Column(name = "VERSION")
  4. private long version;
  5.  
  6. Exception message is : Object of class [com.myPackage.WorkQueue] with identifier [9074]: optimistic locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) : [com.myPackage.WorkQueue#9074]
  7.  
  8. @Override
  9. @Transactional(isolation = Isolation.READ_COMMITTED, rollbackFor=Exception.class, readOnly=false)
  10. public WorkQueue retrieveWorkQueueItemByStatus(WorkQueueStatusEnum workQueueStatus) {
  11. return workQueueRepository.retrieveWorkQueueItemByStatus(workQueueStatus);
  12. }
  13.  
  14. @Override
  15. public WorkQueue retrieveWorkQueueItemByStatus(WorkQueueStatusEnum workQueueStatus) {
  16. log.debug("Start - Attempting to select a " + workQueueStatus + " workQueue item in retrieveWorkQueueItemByStatus()");
  17.  
  18. try {
  19. String sql = "SELECT a FROM WorkQueue a WHERE workQueueStatus = :workQueueStatus ORDER BY idWorkQueue ASC";
  20. TypedQuery<WorkQueue> query = em.createQuery(sql, WorkQueue.class).setParameter("workQueueStatus", workQueueStatus)
  21. .setFirstResult(0).setMaxResults(1);
  22. WorkQueue workQueue = (WorkQueue) query.getSingleResult();
  23. if (workQueue != null) {
  24. workQueue.setWorkQueueStatus(WorkQueueStatusEnum.IN_PROGRESS);
  25. WorkQueue updatedWorkQueue = em.merge(workQueue);
  26. log.debug("Finish - selected the following workQueue item "+ workQueue.getIdWorkQueue() + " with the Audit Event Key from retrieveWorkQueueItemByStatus() : " + updatedWorkQueue.getAuditEventKey());
  27. return updatedWorkQueue;
  28. }
  29. } catch (IllegalArgumentException iae) {
  30. log.error("An IllegalArgumentException occured in workQueueRepositoryImpl.retrieveWorkQueueItemByStatus() attempting to execute query : " + sql + ". Exception message is : " + iae.getMessage());
  31. } catch(Exception ex) {
  32. log.error("An Exception occured in workQueueRepositoryImpl.retrieveWorkQueueItemByStatus() executing query : " + sql + ". Exception message is : " + ex.getMessage());
  33. }
  34. log.debug("Finish - returning null from retrieveWorkQueueItemByStatus()");
  35. return null;
  36. }
Add Comment
Please, Sign In to add comment