public DefaultEventContextData(EventTypeID eventTypeId, Object event, ActivityContext ac, Address address, ServiceID serviceID, EventProcessingSucceedCallback succeedCallback, EventProcessingFailedCallback failedCallback, EventUnreferencedCallback unreferencedCallback, ReferencesHandler referencesHandler) { this.eventTypeId = eventTypeId; this.eventObject = event; this.localActivityContext = ac.getLocalActivityContext(); this.address = address; this.serviceID = serviceID; this.succeedCallback = succeedCallback; this.failedCallback = failedCallback; this.unreferencedCallback = unreferencedCallback; this.referencesHandler = referencesHandler; }
@Override public void suspend() throws TransactionRequiredLocalException, SLEEException { final SleeTransactionManager txManager = sleeContainer .getTransactionManager(); txManager.mandateTransaction(); try { final SleeTransaction tx = txManager.getTransaction(); final ActivityEventQueueManager aeqm = activityContext .getLocalActivityContext().getEventQueueManager(); aeqm.createBarrier(tx); final TransactionalAction action = new TransactionalAction() { public void execute() { aeqm.removeBarrier(tx); } }; final TransactionContext tc = tx.getTransactionContext(); tc.getAfterCommitActions().add(action); tc.getAfterRollbackActions().add(action); } catch (Throwable e) { throw new SLEEException(e.getMessage(), e); } } }
final ActivityEventQueueManager aeqm = ac.getLocalActivityContext().getEventQueueManager(); aeqm.createBarrier(barrierTx); TransactionalAction action = new TransactionalAction() {
if (ac != null) { EventRoutingTask routingTask = ac.getLocalActivityContext().getCurrentEventRoutingTask(); EventContext eventContext = routingTask != null ? routingTask.getEventContext() : null; if (eventContext != null && eventContext.isSuspended()) {
.getLocalActivityContext().getEventQueueManager(); eventQueue.createBarrier(tx); TransactionalAction action = new TransactionalAction() {
final EventRoutingTask routingTask = activityContext.getLocalActivityContext().getCurrentEventRoutingTask(); EventContext eventContextImpl = routingTask != null ? routingTask.getEventContext() : null; if (eventContextImpl != null && eventContextImpl.getSbbEntitiesThatHandledEvent().remove(sbbEntity.getSbbEntityId())) {
final ActivityEventQueueManager aeqm = ac.getLocalActivityContext().getEventQueueManager(); aeqm.createBarrier(barrierTx); TransactionalAction action = new TransactionalAction() {
final ActivityEventQueueManager aeqm = ac.getLocalActivityContext().getEventQueueManager(); aeqm.createBarrier(barrierTx); TransactionalAction action = new TransactionalAction() {