@Override public void registerTransactionSynchronization(TransactionPhase phase, ObserverMethod<? super Object> observer, Object event) throws Exception { TransactionalEventNotifier.registerTransactionSynchronization(phase, observer, event); } }
@Override public void beforeCompletion() { notifyObserver(); } }
@Override public void afterCompletion(int i) { if (i == Status.STATUS_COMMITTED) { notifyObserver(); } } }
registerEvent(transaction, new AfterCompletion(observer, event, metadata), true); new AfterCompletionSuccess(observer, event, metadata).notifyObserver(); registerEvent(transaction, new AfterCompletionSuccess(observer, event, metadata), false); registerEvent(transaction, new AfterCompletionFailure(observer, event, metadata), true); registerEvent(transaction, new BeforeCompletion(observer, event, metadata), true);
@Override public void afterCompletion(int i) { notifyObserver(); } }
@Override public void afterCompletion(int i) { if (i != Status.STATUS_COMMITTED) { notifyObserver(); } } }
private static void registerEvent(Transaction transaction, AbstractSynchronization synchronization, boolean immediateOnError) throws SystemException { try { transaction.registerSynchronization(synchronization); } catch (RollbackException re) { if (immediateOnError) { synchronization.notifyObserver(); } } catch (IllegalStateException ise) { if (immediateOnError) { synchronization.notifyObserver(); } } }
public void registerTransactionSynchronization(TransactionPhase phase, ObserverMethod<? super Object> observer, Object event) throws Exception { TransactionalEventNotifier.registerTransactionSynchronization(phase, observer, event); }
@Override public void registerTransactionSynchronization(final TransactionPhase phase, final ObserverMethod<? super Object> observer, final Object event) throws Exception { Set<Annotation> qualifiers = observer.getObservedQualifiers(); if (qualifiers == null) { qualifiers = Collections.emptySet(); } TransactionalEventNotifier.registerTransactionSynchronization(phase, observer, event, new EventMetadataImpl(observer.getObservedType(), null, qualifiers.toArray(new Annotation[qualifiers.size()]))); }
@Override public void registerTransactionSynchronization(final TransactionPhase phase, final ObserverMethod<? super Object> observer, final Object event) throws Exception { Set<Annotation> qualifiers = observer.getObservedQualifiers(); if (qualifiers == null) { qualifiers = Collections.emptySet(); } TransactionalEventNotifier.registerTransactionSynchronization(phase, observer, event, new EventMetadataImpl(observer.getObservedType(), null, null, qualifiers.toArray(new Annotation[qualifiers.size()]), webBeansContext)); } }