/** * run parent activate and also make this coordinator visible if there might be a durable participant waiting * for it to commit. * @return */ public boolean activate() { boolean result = super.activate(); // if we cannot activate we want the participant which was registered on behalf of this // coordinator to produce a heuristic result for the transaction. it will do this if it // finds no entry for the coordinate in the subordinate coordinators list. in this case // the subordinate transaction record needs to left as is awaiting manual intervention. if (result) { // record that the activation worked setActivated(); int status = status(); if (status == ActionStatus.PREPARED || status == ActionStatus.COMMITTING) { // we need to install this coordinator in a global table so that the participant which // was driving it will know that it has been recovered but not yet committed SubordinateBACoordinator.addRecoveredCoordinator(this); } } return result; }
/** * run parent activate and also make this coordinator visible if there might be a durable participant waiting * for it to commit. * @return */ public boolean activate() { boolean result = super.activate(); // if we cannot activate we want the participant which was registered on behalf of this // coordinator to produce a heuristic result for the transaction. it will do this if it // finds no entry for the coordinate in the subordinate coordinators list. in this case // the subordinate transaction record needs to left as is awaiting manual intervention. if (result) { // record that the activation worked setActivated(); int status = status(); if (status == ActionStatus.PREPARED || status == ActionStatus.COMMITTING) { // we need to install this coordinator in a global table so that the participant which // was driving it will know that it has been recovered but not yet committed SubordinateBACoordinator.addRecoveredCoordinator(this); } } return result; }
/** * run parent activate and also make this coordinator visible if there might be a durable participant waiting * for it to commit. * @return */ public boolean activate() { boolean result = super.activate(); // if we cannot activate we want the participant which was registered on behalf of this // coordinator to produce a heuristic result for the transaction. it will do this if it // finds no entry for the coordinate in the subordinate coordinators list. in this case // the subordinate transaction record needs to left as is awaiting manual intervention. if (result) { // record that the activation worked setActivated(); int status = status(); if (status == ActionStatus.PREPARED || status == ActionStatus.COMMITTING) { // we need to install this coordinator in a global table so that the participant which // was driving it will know that it has been recovered but not yet committed SubordinateBACoordinator.addRecoveredCoordinator(this); } } return result; }