in src/org/apache/kandula/coordinator/at/ATCoordinator.java [415:445]
public void durablePrepare(AbstractContext context)
throws AbstractKandulaException {
ParticipantPortTypeRawXMLStub stub = new ParticipantPortTypeRawXMLStub();
ATActivityContext atContext = (ATActivityContext) context;
Iterator durablePartipantIterator = atContext
.getRegistered2PCParticipants(Constants.WS_AT_DURABLE2PC);
synchronized (atContext) {
if (durablePartipantIterator.hasNext()) {
atContext.lock();
atContext
.setStatus(Status.CoordinatorStatus.STATUS_PREPARING_DURABLE);
atContext.unlock();
while (durablePartipantIterator.hasNext()) {
atContext.incrementPreparingParticipantCount();
stub
.prepareOperation(((ATParticipantInformation) durablePartipantIterator
.next()).getEpr());
}
}
try {
Method method = ATCoordinator.class.getMethod("commitActivity",
new Class[] { AbstractContext.class });
atContext.setCallBackMethod(method);
} catch (Exception e) {
throw new KandulaGeneralException(
"Internal Kandula Server Error ", e);
}
}
}