本文整理汇总了Java中org.apache.activemq.artemis.api.core.client.ClientSession.recover方法的典型用法代码示例。如果您正苦于以下问题:Java ClientSession.recover方法的具体用法?Java ClientSession.recover怎么用?Java ClientSession.recover使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.activemq.artemis.api.core.client.ClientSession
的用法示例。
在下文中一共展示了ClientSession.recover方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: checkEmptyXID
import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
private void checkEmptyXID(final Xid xid) throws Exception {
ClientSessionFactory sf = createSessionFactory(locator);
ClientSession session = sf.createSession(true, false, false);
Xid[] xids = session.recover(XAResource.TMSTARTRSCAN);
Assert.assertEquals(1, xids.length);
Assert.assertEquals(xid, xids[0]);
session.rollback(xid);
session.close();
sf.close();
}
示例2: testEmptyXID
import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
@Test
public void testEmptyXID() throws Exception {
Xid xid = newXID();
ClientSession session = sessionFactory.createSession(true, false, false);
session.start(xid, XAResource.TMNOFLAGS);
session.end(xid, XAResource.TMSUCCESS);
session.rollback(xid);
session.close();
messagingService.stop();
// do the same test with a file persistence now
messagingService = createServer(true, configuration, -1, -1, addressSettings);
messagingService.start();
sessionFactory = createSessionFactory(locator);
xid = newXID();
session = sessionFactory.createSession(true, false, false);
session.start(xid, XAResource.TMNOFLAGS);
session.end(xid, XAResource.TMSUCCESS);
session.rollback(xid);
xid = newXID();
session.start(xid, XAResource.TMNOFLAGS);
session.end(xid, XAResource.TMSUCCESS);
session.prepare(xid);
session.commit(xid, false);
session.close();
xid = newXID();
session = sessionFactory.createSession(true, false, false);
session.start(xid, XAResource.TMNOFLAGS);
session.end(xid, XAResource.TMSUCCESS);
session.prepare(xid);
session.rollback(xid);
session.close();
messagingService.start();
sessionFactory = createSessionFactory(locator);
xid = newXID();
session = sessionFactory.createSession(true, false, false);
session.start(xid, XAResource.TMNOFLAGS);
session.end(xid, XAResource.TMSUCCESS);
session.rollback(xid);
session.close();
messagingService.stop();
messagingService.start();
// This is not really necessary... But since the server has stopped, I would prefer to keep recreating the factory
sessionFactory = createSessionFactory(locator);
session = sessionFactory.createSession(true, false, false);
Xid[] xids = session.recover(XAResource.TMSTARTRSCAN);
Assert.assertEquals(0, xids.length);
session.close();
}
示例3: doForgetHeuristicCompletedTxAndRestart
import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
private void doForgetHeuristicCompletedTxAndRestart(final boolean heuristicCommit) throws Exception {
Configuration configuration = createDefaultInVMConfig().setJMXManagementEnabled(true);
ActiveMQServer server = createServer(true, configuration);
server.setMBeanServer(mbeanServer);
server.start();
Xid xid = newXID();
ClientSessionFactory sf = createSessionFactory(locator);
ClientSession session = sf.createSession(true, false, false);
session.createQueue(ADDRESS, ADDRESS, true);
session.start(xid, XAResource.TMNOFLAGS);
ClientProducer producer = session.createProducer(ADDRESS);
ClientMessage msg = session.createMessage(true);
msg.getBodyBuffer().writeBytes(new byte[123]);
producer.send(msg);
session.end(xid, XAResource.TMSUCCESS);
session.prepare(xid);
ActiveMQServerControl jmxServer = ManagementControlHelper.createActiveMQServerControl(mbeanServer);
String[] preparedTransactions = jmxServer.listPreparedTransactions();
Assert.assertEquals(1, preparedTransactions.length);
System.out.println(preparedTransactions[0]);
if (heuristicCommit) {
jmxServer.commitPreparedTransaction(XidImpl.toBase64String(xid));
} else {
jmxServer.rollbackPreparedTransaction(XidImpl.toBase64String(xid));
}
preparedTransactions = jmxServer.listPreparedTransactions();
Assert.assertEquals(0, preparedTransactions.length);
session.forget(xid);
session.close();
if (heuristicCommit) {
Assert.assertEquals(0, jmxServer.listHeuristicCommittedTransactions().length);
} else {
Assert.assertEquals(0, jmxServer.listHeuristicRolledBackTransactions().length);
}
server.stop();
server.start();
// we need to recreate the sf
sf = createSessionFactory(locator);
session = sf.createSession(true, false, false);
Xid[] recoveredXids = session.recover(XAResource.TMSTARTRSCAN);
Assert.assertEquals(0, recoveredXids.length);
jmxServer = ManagementControlHelper.createActiveMQServerControl(mbeanServer);
if (heuristicCommit) {
Assert.assertEquals(0, jmxServer.listHeuristicCommittedTransactions().length);
} else {
Assert.assertEquals(0, jmxServer.listHeuristicRolledBackTransactions().length);
}
session.close();
}