use of com.arjuna.ats.internal.jta.tools.osb.mbean.jta.XAResourceRecordBeanMBean in project narayana by jbosstm.
the class ObjStoreBrowserTest method getHeuristicMBean.
private XAResourceRecordBeanMBean getHeuristicMBean(ObjStoreBrowser osb, TransactionImple tx, FailureXAResource failureXAResource) throws Exception {
generateHeuristic(tx, failureXAResource);
osb.probe();
// there should be one MBean corresponding to the Transaction
JTAActionBean actionBean = getTransactionBean(osb, tx, true);
assertNotNull(actionBean);
// and the transaction should contain only one participant (namely the FailureXAResource that generated the heuristic):
Collection<LogRecordWrapper> participants = actionBean.getParticipants();
assertEquals(1, participants.size());
assertNotNull(failureXAResource.getXid());
LogRecordWrapper participant = participants.iterator().next();
assertTrue(participant.isHeuristic());
assertTrue(participant instanceof XAResourceRecordBeanMBean);
return (XAResourceRecordBeanMBean) participant;
}
use of com.arjuna.ats.internal.jta.tools.osb.mbean.jta.XAResourceRecordBeanMBean in project narayana by jbosstm.
the class ObjStoreBrowserTest method getHeuristic.
private HeuristicTestData getHeuristic() throws Exception {
// generates a heuristic on commit
FailureXAResource failureXAResource = new FailureXAResource(FailureXAResource.FailLocation.commit);
TransactionImple tx = new TransactionImple(1000000000);
XAResourceRecordBeanMBean resourceBean = getHeuristicMBean(osb, tx, failureXAResource);
JTAActionBean txnMBean = getTransactionBean(osb, tx, true);
Set<ObjectName> participants;
String resourceBeanName;
String txnBeanName;
assertNotNull(txnMBean);
assertNotNull(resourceBean);
txnBeanName = String.format("jboss.jta:type=ObjectStore,itype=%s,uid=%s", txnMBean.type(), txnMBean.getId().replace(':', '_'));
resourceBeanName = String.format("%s,puid=%s", txnBeanName, resourceBean.getId().replace(':', '_'));
participants = JMXServer.getAgent().queryNames(resourceBeanName, null);
assertEquals(1, participants.size());
return new HeuristicTestData(tx, failureXAResource, txnMBean, resourceBean, participants.iterator().next(), txnBeanName, resourceBeanName);
}
Aggregations