@Override public boolean forget() { return xares.forgetHeuristic(); }
public void clearHeuristic() { heuristic = 0; record.updateHeuristic(heuristic); }
public void updateHeuristic(int h) { heuristic = h; updateState(heuristic); } }
@Override public void register() { super.register(); // for each ExtendedResourceRecord see if there is a corresponding XARecoveryResource entry in the local store for (LogRecordWrapper participant : getParticipants()) { if (participant instanceof XAResourceRecordBean) { // this is an ExtendedResourceRecord XAResourceRecordBean xarrb = (XAResourceRecordBean) participant; // see if there is a corresponding JTSXAResourceRecordWrapper for this participant XARecoveryResourceMBean jtsxaResourceRecordWrapper = findJTSXAResourceRecordWrapper(xarrb); if (jtsxaResourceRecordWrapper != null && jtsxaResourceRecordWrapper instanceof JTSXAResourceRecordWrapper) xarrb.setJtsXAResourceRecord((JTSXAResourceRecordWrapper) jtsxaResourceRecordWrapper); } } } }
private void init(AbstractRecord rec) { jndiName = getUid().stringForm(); className = "unavailable"; eisProductName = "unavailable"; eisProductVersion = "unavailable"; timeout = 0; xares = new JTSXAResourceRecordWrapper(rec, getUid()); xidImple = xares.xidImple; heuristic = xares.heuristic; }
@Override public String remove() throws MBeanException { if (forget()) { if (jtsXAResourceRecord != null && jtsXAResourceRecord.doRemove()) jtsXAResourceRecord = null; // resource#forget succeeded so now it is ok to remove the inlined ExtendedResourceRecord forgetRec = true; return super.remove(); } return "Operation failed"; }
@Override public void remove(LogRecordWrapper logRecordWrapper) { if (logRecordWrapper.removeFromList(getRecords(logRecordWrapper.getListType()))) { doUpdateState(); // rewrite the list } } }
@Override public void remove(LogRecordWrapper logRecordWrapper) { if (logRecordWrapper.removeFromList(getRecords(logRecordWrapper.getListType()))) { doUpdateState(); // rewrite the list } } }
public XAResourceRecordBean(ActionBean parent, AbstractRecord rec, ParticipantStatus listType) { super(parent, rec, listType); init(rec); }
public JTSXAResourceRecordWrapper(UidWrapper wrapper) { super(wrapper); // initialise heuristic and xidImple record = new XARecoveryResourceWrapper(wrapper); }
public void doUpdateState() { updateState(); }
public void doUpdateState() { updateState(); }
public void doUpdateState() { updateState(); }
public void doUpdateState() { updateState(); }
public StringBuilder toString(String prefix, StringBuilder sb) { prefix += '\t'; return sb.append('\n').append(prefix).append(get_uid()); }
@Override protected LogRecordWrapper createParticipant(AbstractRecord rec, ParticipantStatus listType) { if (rec instanceof ExtendedResourceRecord) return new XAResourceRecordBean(this, rec, listType); return super.createParticipant(rec, listType); }
private XARecoveryResourceMBean findJTSXAResourceRecordWrapper(XAResourceRecordBean xarrb) { getXARecoveryResourceMBeans(_uidWrapper); for (XARecoveryResourceMBean bean : xaRecoveryResourceMBeans) { if (xarrb.xares.xidImple.equals(((JTSXAResourceRecordWrapper) bean).xidImple)) return bean; } return null; }
public void clearHeuristicDecision(int newDecision) { if (super.heuristicList.size() == 0) setHeuristicDecision(newDecision); }
public void clearHeuristicDecision(int newDecision) { if (super.heuristicList.size() == 0) setHeuristicDecision(newDecision); }
public XAResourceRecordBean(UidWrapper w) { super(w.getUid()); init(null); } public XAResourceRecordBean(ActionBean parent, AbstractRecord rec, ParticipantStatus listType) {