当前位置: 首页>>代码示例>>Java>>正文


Java ClientSession.recover方法代码示例

本文整理汇总了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();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:14,代码来源:NIOMultiThreadCompactorStressTest.java

示例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();

}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:70,代码来源:BasicXaTest.java

示例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();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:72,代码来源:HeuristicXATest.java


注:本文中的org.apache.activemq.artemis.api.core.client.ClientSession.recover方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。