/** * Set the identifier on a W3C endpoint reference under construction. * @param builder The endpoint reference builder. * @param instanceIdentifier The identifier. */ public static void setEndpointInstanceIdentifier(final W3CEndpointReferenceBuilder builder, final InstanceIdentifier instanceIdentifier) { builder.referenceParameter(createInstanceIdentifierElement(instanceIdentifier.getInstanceIdentifier())) ; }
/** * Set the identifier on a WS Addressing endpoint reference under construction. * @param epReference The WS Addressing endpoint reference. * @param instanceIdentifier The identifier. */ public static void setEndpointInstanceIdentifier(final MAPEndpoint epReference, final InstanceIdentifier instanceIdentifier) { setEndpointInstanceIdentifier(epReference, instanceIdentifier.getInstanceIdentifier()); }
/** * Is the configuration of this element valid? * @return true if valid, false otherwise. */ public boolean isValid() { return ((instanceIdentifier != null) && instanceIdentifier.isValid()) ; }
/** * Get the coordinator with the specified identifier. * @param instanceIdentifier The coordinator identifier. * @return The coordinator or null if not known. */ private ParticipantCompletionCoordinatorInboundEvents getCoordinator(final InstanceIdentifier instanceIdentifier) { final String identifier = (instanceIdentifier != null ? instanceIdentifier.getInstanceIdentifier() : null) ; return (ParticipantCompletionCoordinatorInboundEvents)activatedObjectProcessor.getObject(identifier) ; }
/** * Construct the engine for the coordinator in a specified state and register it. * @param id The coordinator id. * @param participant The participant endpoint reference. * @param state The initial state. */ public ParticipantCompletionCoordinatorEngine(final String id, final W3CEndpointReference participant, final State state, final boolean recovered) { this.id = id ; this.instanceIdentifier = new InstanceIdentifier(id) ; this.participant = participant ; this.state = state ; this.failureState = null; this.recovered = recovered; // unrecovered participants are always activated // we only need to reactivate recovered participants which were successfully COMPLETED or which began // CLOSING. any others will only have been saved because of a heuristic outcome. we can safely drop // them since we implement presumed abort. if (!recovered || state == State.STATE_COMPLETED || state == State.STATE_CLOSING) { ParticipantCompletionCoordinatorProcessor.getProcessor().activateCoordinator(this, id) ; } }
public static void installFromFaultTo(MAP map, MAPEndpoint epReference, InstanceIdentifier identifier) { MAPBuilder builder = MAPBuilderFactory.getInstance().getBuilderInstance(); MAPEndpoint from = builder.newEndpoint(epReference.getAddress()); InstanceIdentifier.setEndpointInstanceIdentifier(from, identifier); map.setFrom(from); MAPEndpoint faultTo = builder.newEndpoint(epReference.getAddress()); InstanceIdentifier.setEndpointInstanceIdentifier(faultTo, identifier); map.setFaultTo(faultTo); }
WSTLogger.i18NLogger.warn_wst11_messaging_ParticipantProcessorImpl_rollback_3(instanceIdentifier.toString()); WSTLogger.i18NLogger.warn_wst11_messaging_ParticipantProcessorImpl_rollback_4(instanceIdentifier.toString()); else if (recoveryManager.findParticipantRecoveryRecord(instanceIdentifier.getInstanceIdentifier()) != null) { WSTLogger.i18NLogger.warn_wst11_messaging_ParticipantProcessorImpl_rollback_5(instanceIdentifier.toString()); WSTLogger.i18NLogger.warn_wst11_messaging_ParticipantProcessorImpl_rollback_2(instanceIdentifier.toString()); sendAborted(map, arjunaContext);
/** * Read only. * @param readOnly The read only notification. * @param map The addressing context. * @param arjunaContext The arjuna context. * */ public void readOnly(final Notification readOnly, final MAP map, final ArjunaContext arjunaContext) { final InstanceIdentifier instanceIdentifier = arjunaContext.getInstanceIdentifier() ; final CoordinatorInboundEvents coordinator = getCoordinator(instanceIdentifier) ; if (coordinator != null) { try { coordinator.readOnly(readOnly, map, arjunaContext); } catch (final Throwable th) { WSTLogger.i18NLogger.warn_wst11_messaging_CoordinatorProcessorImpl_readOnly_1(th); } } else { WSTLogger.i18NLogger.warn_wst11_messaging_CoordinatorProcessorImpl_readOnly_2(instanceIdentifier.toString()); } }
/** * Set the identifier on a W3C endpoint reference under construction. * @param builder The endpoint reference builder. * @param identifier The identifier. */ public static void setEndpointInstanceIdentifier(final W3CEndpointReferenceBuilder builder, final String identifier) { builder.referenceParameter(createInstanceIdentifierElement(identifier)); }
/** * Get the coordinator associated with the specified identifier. * @param instanceIdentifier The coordinator identifier. * @return The coordinator or null if not known. */ private CoordinatorCompletionCoordinatorInboundEvents getCoordinator(final InstanceIdentifier instanceIdentifier) { final String identifier = (instanceIdentifier != null ? instanceIdentifier.getInstanceIdentifier() : null) ; return (CoordinatorCompletionCoordinatorInboundEvents)activatedObjectProcessor.getObject(identifier) ; }
/** * Construct the engine for the coordinator in a specified state and register it. * @param id The coordinator id. * @param participant The participant endpoint reference. * @param state The initial state. */ public ParticipantCompletionCoordinatorEngine(final String id, final W3CEndpointReference participant, final State state, final boolean recovered) { this.id = id ; this.instanceIdentifier = new InstanceIdentifier(id) ; this.participant = participant ; this.state = state ; this.failureState = null; this.recovered = recovered; // unrecovered participants are always activated // we only need to reactivate recovered participants which were successfully COMPLETED or which began // CLOSING. any others will only have been saved because of a heuristic outcome. we can safely drop // them since we implement presumed abort. if (!recovered || state == State.STATE_COMPLETED || state == State.STATE_CLOSING) { ParticipantCompletionCoordinatorProcessor.getProcessor().activateCoordinator(this, id) ; } }
private W3CEndpointReference getParticipantManager (final QName serviceName, final QName endpointName, final String address, final String id) { W3CEndpointReferenceBuilder builder = new W3CEndpointReferenceBuilder(); builder.serviceName(serviceName); builder.endpointName(endpointName); builder.address(address); InstanceIdentifier.setEndpointInstanceIdentifier(builder, id); return builder.build(); }
WSTLogger.i18NLogger.warn_wst11_messaging_CoordinatorProcessorImpl_prepared_2(instanceIdentifier.toString()); final String identifierValue = instanceIdentifier.getInstanceIdentifier(); if ((identifierValue != null) && (identifierValue.length() > 0) && (identifierValue.charAt(0) == 'D')) { sendRollback(map, arjunaContext); WSTLogger.i18NLogger.warn_wst11_messaging_CoordinatorProcessorImpl_prepared_3(instanceIdentifier.toString());
/** * Aborted. * @param aborted The aborted notification. * @param map The addressing context. * @param arjunaContext The arjuna context. * */ public void aborted(final Notification aborted, final MAP map, final ArjunaContext arjunaContext) { final InstanceIdentifier instanceIdentifier = arjunaContext.getInstanceIdentifier() ; final CoordinatorInboundEvents coordinator = getCoordinator(instanceIdentifier) ; if (coordinator != null) { try { coordinator.aborted(aborted, map, arjunaContext); } catch (final Throwable th) { WSTLogger.i18NLogger.warn_wst11_messaging_CoordinatorProcessorImpl_aborted_1(th); } } else { WSTLogger.i18NLogger.warn_wst11_messaging_CoordinatorProcessorImpl_aborted_2(instanceIdentifier.toString()); } }
/** * Set the identifier on a W3C endpoint reference under construction. * @param builder The endpoint reference builder. * @param identifier The identifier. */ public static void setEndpointInstanceIdentifier(final W3CEndpointReferenceBuilder builder, final String identifier) { builder.referenceParameter(createInstanceIdentifierElement(identifier)); }
/** * Set the identifier on a W3C endpoint reference under construction. * @param builder The endpoint reference builder. * @param instanceIdentifier The identifier. */ public static void setEndpointInstanceIdentifier(final W3CEndpointReferenceBuilder builder, final InstanceIdentifier instanceIdentifier) { builder.referenceParameter(createInstanceIdentifierElement(instanceIdentifier.getInstanceIdentifier())) ; }
/** * Get the coordinator with the specified identifier. * @param instanceIdentifier The coordinator identifier as an Instanceidentifier. * @return The coordinator or null if not known. */ private CoordinatorInboundEvents getCoordinator(final InstanceIdentifier instanceIdentifier) { final String identifier = (instanceIdentifier != null ? instanceIdentifier.getInstanceIdentifier() : null) ; return getCoordinator(identifier); }
/** * Construct the engine for the coordinator in a specified state and register it. * @param id The coordinator id. * @param participant The participant endpoint reference. * @param state The initial state. */ public CoordinatorCompletionCoordinatorEngine(final String id, final W3CEndpointReference participant, final State state, final boolean recovered) { this.id = id ; this.instanceIdentifier = new InstanceIdentifier(id) ; this.participant = participant ; this.state = state ; this.failureState = null; this.recovered = recovered; // unrecovered participants are always activated // we only need to reactivate recovered participants which were successfully COMPLETED or which began // CLOSING. any others will only have been saved because of a heuristic outcome. we can safely drop // them since we implement presumed abort. if (!recovered || state == State.STATE_COMPLETED || state == State.STATE_CLOSING) { CoordinatorCompletionCoordinatorProcessor.getProcessor().activateCoordinator(this, id) ; } }
/** * Set the identifier on a WS Addressing endpoint reference under construction. * @param epReference The WS Addressing endpoint reference. * @param instanceIdentifier The identifier. */ public static void setEndpointInstanceIdentifier(final MAPEndpoint epReference, final InstanceIdentifier instanceIdentifier) { setEndpointInstanceIdentifier(epReference, instanceIdentifier.getInstanceIdentifier()); }
private static W3CEndpointReference getRegistrationCoordinator(String registrationCoordinatorURI, String identifier) { final W3CEndpointReferenceBuilder builder = new W3CEndpointReferenceBuilder(); builder.serviceName(CoordinationConstants.REGISTRATION_SERVICE_QNAME); builder.endpointName(CoordinationConstants.REGISTRATION_ENDPOINT_QNAME); // strictly we shouldn't need to set the address because we are in the same web app as the // coordinator but we have to as the W3CEndpointReference implementation is incomplete builder.address(registrationCoordinatorURI); InstanceIdentifier.setEndpointInstanceIdentifier(builder, identifier); W3CEndpointReference registrationCoordinator = builder.build(); return registrationCoordinator; }