@SuppressWarnings("unchecked") void addRollbackExceptions(Exception ex) { List<Throwable> list = (List<Throwable>) getResource(RB_EX_KEY); if (list != null) { for (Throwable throwable : list) { ex.addSuppressed(throwable); } } }
@SuppressWarnings("unchecked") private static ConcurrentMap<Application, URI> getOrCreateApplicationMap(AbstractTransaction transaction) { Object resource = transaction.getResource(RESOURCE_KEY); ConcurrentMap<Application, URI> map = null; if (resource == null) { map = new ConcurrentHashMap<>(); resource = transaction.putResourceIfAbsent(RESOURCE_KEY, map); } return resource == null ? map : ConcurrentMap.class.cast(resource); }
@SuppressWarnings("unchecked") public void setRollbackOnly() throws IllegalStateException, SystemException { List<Throwable> list = (List<Throwable>) getResource(RB_EX_KEY); if (list == null) { List<Throwable> appearing = (List<Throwable>) putResourceIfAbsent(RB_EX_KEY, list = new ArrayList<>()); if (appearing != null) { list = appearing; } } synchronized (list) { list.add(Log.log.markedRollbackOnly()); } }
public Object getResource(final Object key) throws IllegalStateException { final AbstractTransaction transaction = ContextTransactionManager.getInstance().getStateRef().get().transaction; if (transaction == null) { throw Log.log.noTransaction(); } return transaction.getResource(key); }
@Override public void registerInterposedSynchronization(Synchronization sync) throws IllegalStateException { try { AbstractTransaction tx = ContextTransactionManager.getInstance().getTransaction(); JCAOrderedLastSynchronizationList jcaOrderedLastSynchronization = (JCAOrderedLastSynchronizationList) tx.getResource(key); if (jcaOrderedLastSynchronization == null) { final ContextTransactionSynchronizationRegistry tsr = ContextTransactionSynchronizationRegistry.getInstance(); synchronized (key) { jcaOrderedLastSynchronization = (JCAOrderedLastSynchronizationList) tx.getResource(key); if (jcaOrderedLastSynchronization == null) { jcaOrderedLastSynchronization = new JCAOrderedLastSynchronizationList(); tx.putResource(key, jcaOrderedLastSynchronization); tsr.registerInterposedSynchronization(jcaOrderedLastSynchronization); } } } jcaOrderedLastSynchronization.registerInterposedSynchronization(sync); } catch (SystemException e) { throw new IllegalStateException(e); } }
@SuppressWarnings("unchecked") void addRollbackExceptions(Exception ex) { List<Throwable> list = (List<Throwable>) getResource(RB_EX_KEY); if (list != null) { for (Throwable throwable : list) { ex.addSuppressed(throwable); } } }
@SuppressWarnings("unchecked") void addRollbackExceptions(Exception ex) { List<Throwable> list = (List<Throwable>) getResource(RB_EX_KEY); if (list != null) { for (Throwable throwable : list) { ex.addSuppressed(throwable); } } }
@SuppressWarnings("unchecked") private static ConcurrentMap<Application, URI> getOrCreateApplicationMap(AbstractTransaction transaction) { Object resource = transaction.getResource(RESOURCE_KEY); ConcurrentMap<Application, URI> map = null; if (resource == null) { map = new ConcurrentHashMap<>(); resource = transaction.putResourceIfAbsent(RESOURCE_KEY, map); } return resource == null ? map : ConcurrentMap.class.cast(resource); }
@SuppressWarnings("unchecked") private static ConcurrentMap<Application, URI> getOrCreateApplicationMap(AbstractTransaction transaction) { Object resource = transaction.getResource(RESOURCE_KEY); ConcurrentMap<Application, URI> map = null; if (resource == null) { map = new ConcurrentHashMap<>(); resource = transaction.putResourceIfAbsent(RESOURCE_KEY, map); } return resource == null ? map : ConcurrentMap.class.cast(resource); }
@SuppressWarnings("unchecked") public void setRollbackOnly() throws IllegalStateException, SystemException { List<Throwable> list = (List<Throwable>) getResource(RB_EX_KEY); if (list == null) { List<Throwable> appearing = (List<Throwable>) putResourceIfAbsent(RB_EX_KEY, list = new ArrayList<>()); if (appearing != null) { list = appearing; } } synchronized (list) { list.add(Log.log.markedRollbackOnly()); } }
@SuppressWarnings("unchecked") public void setRollbackOnly() throws IllegalStateException, SystemException { List<Throwable> list = (List<Throwable>) getResource(RB_EX_KEY); if (list == null) { List<Throwable> appearing = (List<Throwable>) putResourceIfAbsent(RB_EX_KEY, list = new ArrayList<>()); if (appearing != null) { list = appearing; } } synchronized (list) { list.add(Log.log.markedRollbackOnly()); } }
public Object getResource(final Object key) throws IllegalStateException { final AbstractTransaction transaction = ContextTransactionManager.getInstance().getStateRef().get().transaction; if (transaction == null) { throw Log.log.noTransaction(); } return transaction.getResource(key); }
public Object getResource(final Object key) throws IllegalStateException { final AbstractTransaction transaction = ContextTransactionManager.getInstance().getStateRef().get().transaction; if (transaction == null) { throw Log.log.noTransaction(); } return transaction.getResource(key); }
@Override public void registerInterposedSynchronization(Synchronization sync) throws IllegalStateException { try { AbstractTransaction tx = ContextTransactionManager.getInstance().getTransaction(); JCAOrderedLastSynchronizationList jcaOrderedLastSynchronization = (JCAOrderedLastSynchronizationList) tx.getResource(key); if (jcaOrderedLastSynchronization == null) { final ContextTransactionSynchronizationRegistry tsr = ContextTransactionSynchronizationRegistry.getInstance(); synchronized (key) { jcaOrderedLastSynchronization = (JCAOrderedLastSynchronizationList) tx.getResource(key); if (jcaOrderedLastSynchronization == null) { jcaOrderedLastSynchronization = new JCAOrderedLastSynchronizationList(); tx.putResource(key, jcaOrderedLastSynchronization); tsr.registerInterposedSynchronization(jcaOrderedLastSynchronization); } } } jcaOrderedLastSynchronization.registerInterposedSynchronization(sync); } catch (SystemException e) { throw new IllegalStateException(e); } }
@Override public void registerInterposedSynchronization(Synchronization sync) throws IllegalStateException { try { AbstractTransaction tx = ContextTransactionManager.getInstance().getTransaction(); JCAOrderedLastSynchronizationList jcaOrderedLastSynchronization = (JCAOrderedLastSynchronizationList) tx.getResource(key); if (jcaOrderedLastSynchronization == null) { final ContextTransactionSynchronizationRegistry tsr = ContextTransactionSynchronizationRegistry.getInstance(); synchronized (key) { jcaOrderedLastSynchronization = (JCAOrderedLastSynchronizationList) tx.getResource(key); if (jcaOrderedLastSynchronization == null) { jcaOrderedLastSynchronization = new JCAOrderedLastSynchronizationList(); tx.putResource(key, jcaOrderedLastSynchronization); tsr.registerInterposedSynchronization(jcaOrderedLastSynchronization); } } } jcaOrderedLastSynchronization.registerInterposedSynchronization(sync); } catch (SystemException e) { throw new IllegalStateException(e); } }