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


Java ActiveMQServer.fail方法代码示例

本文整理汇总了Java中org.apache.activemq.artemis.core.server.ActiveMQServer.fail方法的典型用法代码示例。如果您正苦于以下问题:Java ActiveMQServer.fail方法的具体用法?Java ActiveMQServer.fail怎么用?Java ActiveMQServer.fail使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.activemq.artemis.core.server.ActiveMQServer的用法示例。


在下文中一共展示了ActiveMQServer.fail方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: crashAndWaitForFailure

import org.apache.activemq.artemis.core.server.ActiveMQServer; //导入方法依赖的package包/类
public static void crashAndWaitForFailure(ActiveMQServer server, ClientSession... sessions) throws Exception {
   CountDownLatch latch = new CountDownLatch(sessions.length);
   for (ClientSession session : sessions) {
      CountDownSessionFailureListener listener = new CountDownSessionFailureListener(latch, session);
      session.addFailureListener(listener);
   }

   ClusterManager clusterManager = server.getClusterManager();
   clusterManager.flushExecutor();
   clusterManager.clear();
   Assert.assertTrue("server should be running!", server.isStarted());
   server.fail(true);

   if (sessions.length > 0) {
      // Wait to be informed of failure
      boolean ok = latch.await(10000, TimeUnit.MILLISECONDS);
      Assert.assertTrue("Failed to stop the server! Latch count is " + latch.getCount() + " out of " +
                           sessions.length, ok);
   }
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:21,代码来源:ActiveMQTestBase.java

示例2: testConsumeAfterRestart

import org.apache.activemq.artemis.core.server.ActiveMQServer; //导入方法依赖的package包/类
@Test
public void testConsumeAfterRestart() throws Exception {
   ClientSession session = null;

   LargeMessageTestInterceptorIgnoreLastPacket.clearInterrupt();

   ActiveMQServer server = createServer(true, isNetty());
   server.start();

   QueueFactory original = server.getQueueFactory();

   locator.setBlockOnNonDurableSend(true).setBlockOnDurableSend(true);

   ClientSessionFactory sf = createSessionFactory(locator);

   session = sf.createSession(false, true, true);

   session.createQueue(ADDRESS, ADDRESS, true);

   ClientProducer producer = session.createProducer(ADDRESS);

   for (int i = 0; i < 10; i++) {
      Message clientFile = createLargeClientMessageStreaming(session, LARGE_MESSAGE_SIZE, true);

      producer.send(clientFile);
   }
   session.commit();

   session.close();
   sf.close();

   server.stop();
   server.start();

   sf = createSessionFactory(locator);

   session = sf.createSession(false, false);

   ClientConsumer cons = session.createConsumer(ADDRESS);

   session.start();

   for (int i = 0; i < 10; i++) {
      ClientMessage msg = cons.receive(5000);
      Assert.assertNotNull(msg);
      msg.saveToOutputStream(new java.io.OutputStream() {
         @Override
         public void write(int b) throws IOException {
         }
      });
      msg.acknowledge();
      session.commit();
   }

   ((ActiveMQServerImpl) server).replaceQueueFactory(original);
   server.fail(false);
   server.start();

   server.stop();

   validateNoFilesOnLargeDir();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:63,代码来源:InterruptedLargeMessageTest.java

示例3: testStartStopAndCleanupIDs

import org.apache.activemq.artemis.core.server.ActiveMQServer; //导入方法依赖的package包/类
/**
 * Start / stopping the server shouldn't generate any errors.
 * Also it shouldn't bloat the journal with lots of IDs (it should do some cleanup when possible)
 * <br>
 * This is also validating that the same server could be restarted after stopped
 *
 * @throws Exception
 */
@Test
public void testStartStopAndCleanupIDs() throws Exception {
   AssertionLoggerHandler.clear();
   AssertionLoggerHandler.startCapture();
   try {
      ActiveMQServer server = null;

      for (int i = 0; i < 50; i++) {
         server = createServer(true, false);
         server.start();
         server.fail(false);
      }

      // There shouldn't be any error from starting / stopping the server
      assertFalse("There shouldn't be any error for just starting / stopping the server", AssertionLoggerHandler.hasLevel(Level.ERROR));
      assertFalse(AssertionLoggerHandler.findText("AMQ224008"));

      HashMap<Integer, AtomicInteger> records = this.internalCountJournalLivingRecords(server.getConfiguration(), false);

      AtomicInteger recordCount = records.get((int) JournalRecordIds.ID_COUNTER_RECORD);

      assertNotNull(recordCount);

      // The server should remove old IDs from the journal
      assertTrue("The server should cleanup after IDs on the bindings record. It left " + recordCount +
                    " ids on the journal", recordCount.intValue() < 5);

      System.out.println("RecordCount::" + recordCount);

      server.start();

      records = this.internalCountJournalLivingRecords(server.getConfiguration(), false);

      recordCount = records.get((int) JournalRecordIds.ID_COUNTER_RECORD);

      assertNotNull(recordCount);

      System.out.println("Record count with server started: " + recordCount);

      assertTrue("If this is zero it means we are removing too many records", recordCount.intValue() != 0);

      server.stop();

   } finally {
      AssertionLoggerHandler.stopCapture();
   }
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:56,代码来源:SimpleStartStopTest.java

示例4: testInterruptLargeMessageSend

import org.apache.activemq.artemis.core.server.ActiveMQServer; //导入方法依赖的package包/类
@Test
   public void testInterruptLargeMessageSend() throws Exception {

      ClientSession session = null;

      LargeMessageTestInterceptorIgnoreLastPacket.clearInterrupt();
      ActiveMQServer server = createServer(true, isNetty());

      server.getConfiguration().getIncomingInterceptorClassNames().add(LargeMessageTestInterceptorIgnoreLastPacket.class.getName());

      server.start();

      locator.setBlockOnNonDurableSend(false).setBlockOnDurableSend(false);

      ClientSessionFactory sf = createSessionFactory(locator);

      session = sf.createSession(false, true, true);

      session.createQueue(ADDRESS, ADDRESS, true);

      ClientProducer producer = session.createProducer(ADDRESS);

      Message clientFile = createLargeClientMessageStreaming(session, LARGE_MESSAGE_SIZE, true);

      clientFile.setExpiration(System.currentTimeMillis());

      producer.send(clientFile);

      Thread.sleep(500);
//
//      for (ServerSession srvSession : server.getSessions()) {
//         ((ServerSessionImpl) srvSession).clearLargeMessage();
//      }

      server.fail(false);

      ActiveMQTestBase.forceGC();

      server.start();

      server.stop();

      validateNoFilesOnLargeDir();
   }
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:45,代码来源:InterruptedLargeMessageTest.java

示例5: testSendNonPersistentQueue

import org.apache.activemq.artemis.core.server.ActiveMQServer; //导入方法依赖的package包/类
@Test
public void testSendNonPersistentQueue() throws Exception {

   ClientSession session = null;

   LargeMessageTestInterceptorIgnoreLastPacket.disableInterrupt();
   ActiveMQServer server = createServer(true, isNetty());

   server.start();

   locator.setBlockOnNonDurableSend(true).setBlockOnDurableSend(true);

   ClientSessionFactory sf = createSessionFactory(locator);

   session = sf.createSession(false, true, true);

   session.createQueue(ADDRESS, ADDRESS, false);

   ClientProducer producer = session.createProducer(ADDRESS);

   for (int i = 0; i < 10; i++) {
      Message clientFile = createLargeClientMessageStreaming(session, LARGE_MESSAGE_SIZE, true);

      producer.send(clientFile);
   }
   session.commit();

   session.close();

   session = sf.createSession(false, false);

   ClientConsumer cons = session.createConsumer(ADDRESS);

   session.start();

   for (int h = 0; h < 5; h++) {
      for (int i = 0; i < 10; i++) {
         ClientMessage clientMessage = cons.receive(5000);
         Assert.assertNotNull(clientMessage);
         for (int countByte = 0; countByte < LARGE_MESSAGE_SIZE; countByte++) {
            Assert.assertEquals(ActiveMQTestBase.getSamplebyte(countByte), clientMessage.getBodyBuffer().readByte());
         }
         clientMessage.acknowledge();
      }
      session.rollback();
   }

   server.fail(false);
   server.start();

   server.stop();

   validateNoFilesOnLargeDir();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:55,代码来源:InterruptedLargeMessageTest.java

示例6: testSendPaging

import org.apache.activemq.artemis.core.server.ActiveMQServer; //导入方法依赖的package包/类
@Test
public void testSendPaging() throws Exception {

   ClientSession session = null;

   LargeMessageTestInterceptorIgnoreLastPacket.disableInterrupt();
   ActiveMQServer server = createServer(true, createDefaultConfig(isNetty()), 10000, 20000, new HashMap<String, AddressSettings>());

   // server.getConfiguration()
   // .getIncomingInterceptorClassNames()
   // .add(LargeMessageTestInterceptorIgnoreLastPacket.class.getName());

   server.start();

   locator.setBlockOnNonDurableSend(true).setBlockOnDurableSend(true);

   ClientSessionFactory sf = createSessionFactory(locator);

   session = sf.createSession(false, true, true);

   session.createQueue(ADDRESS, ADDRESS, true);

   server.getPagingManager().getPageStore(ADDRESS).startPaging();

   ClientProducer producer = session.createProducer(ADDRESS);

   for (int i = 0; i < 10; i++) {
      Message clientFile = createLargeClientMessageStreaming(session, LARGE_MESSAGE_SIZE, true);

      producer.send(clientFile);
   }
   session.commit();

   validateNoFilesOnLargeDir(server.getConfiguration().getLargeMessagesDirectory(), 10);

   for (int h = 0; h < 5; h++) {
      session.close();

      sf.close();

      server.stop();

      server.start();

      sf = createSessionFactory(locator);

      session = sf.createSession(false, false);

      ClientConsumer cons = session.createConsumer(ADDRESS);

      session.start();

      for (int i = 0; i < 10; i++) {
         ClientMessage clientMessage = cons.receive(5000);
         Assert.assertNotNull(clientMessage);
         for (int countByte = 0; countByte < LARGE_MESSAGE_SIZE; countByte++) {
            Assert.assertEquals(ActiveMQTestBase.getSamplebyte(countByte), clientMessage.getBodyBuffer().readByte());
         }
         clientMessage.acknowledge();
      }
      if (h == 4) {
         session.commit();
      } else {
         session.rollback();
      }

      session.close();
      sf.close();
   }

   server.fail(false);
   server.start();

   validateNoFilesOnLargeDir();

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


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