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


Java ActiveMQServer.getStorageManager方法代码示例

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


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

示例1: testSendServerMessage

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

   server.start();

   ServerLocator locator = createInVMNonHALocator();

   ClientSessionFactory sf = createSessionFactory(locator);

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

   try {
      LargeServerMessageImpl fileMessage = new LargeServerMessageImpl((JournalStorageManager) server.getStorageManager());

      fileMessage.setMessageID(1005);

      for (int i = 0; i < 2 * ActiveMQClient.DEFAULT_MIN_LARGE_MESSAGE_SIZE; i++) {
         fileMessage.addBytes(new byte[]{ActiveMQTestBase.getSamplebyte(i)});
      }
      // The server would be doing this
      fileMessage.putLongProperty(Message.HDR_LARGE_BODY_SIZE, 2 * ActiveMQClient.DEFAULT_MIN_LARGE_MESSAGE_SIZE);

      fileMessage.releaseResources();

      session.createQueue("A", RoutingType.ANYCAST, "A");

      ClientProducer prod = session.createProducer("A");

      prod.send(fileMessage);

      fileMessage.deleteFile();

      session.commit();

      session.start();

      ClientConsumer cons = session.createConsumer("A");

      ClientMessage msg = cons.receive(5000);

      Assert.assertNotNull(msg);

      Assert.assertEquals(msg.getBodySize(), 2 * ActiveMQClient.DEFAULT_MIN_LARGE_MESSAGE_SIZE);

      for (int i = 0; i < 2 * ActiveMQClient.DEFAULT_MIN_LARGE_MESSAGE_SIZE; i++) {
         Assert.assertEquals(ActiveMQTestBase.getSamplebyte(i), msg.getBodyBuffer().readByte());
      }

      msg.acknowledge();

      session.commit();

   } finally {
      sf.close();
      locator.close();
      server.stop();
   }
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:60,代码来源:ServerLargeMessageTest.java

示例2: testStoreCore

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

   server.start();

   CoreMessage message = new CoreMessage().initBuffer(10 * 1024).setDurable(true);

   message.setMessageID(333);

   CoreProtocolManagerFactory factory = (CoreProtocolManagerFactory) server.getRemotingService().getProtocolFactoryMap().get("CORE");

   Assert.assertNotNull(factory);

   message.getBodyBuffer().writeByte((byte)'Z');

   server.getStorageManager().storeMessage(message);

   server.getStorageManager().stop();

   JournalStorageManager journalStorageManager = (JournalStorageManager) server.getStorageManager();

   List<RecordInfo> committedRecords = new LinkedList<>();

   List<PreparedTransactionInfo> preparedTransactions = new LinkedList<>();

   TransactionFailureCallback transactionFailure = new TransactionFailureCallback() {
      @Override
      public void failedTransaction(long transactionID, List<RecordInfo> records, List<RecordInfo> recordsToDelete) {

      }
   };

   try {
      journalStorageManager.getMessageJournal().start();

      journalStorageManager.getMessageJournal().load(committedRecords, preparedTransactions, transactionFailure);

      Assert.assertEquals(1, committedRecords.size());
   } finally {
      journalStorageManager.getMessageJournal().stop();
   }

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

示例3: testStoreAMQP

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

   server.start();

   ProtonProtocolManagerFactory factory = (ProtonProtocolManagerFactory) server.getRemotingService().getProtocolFactoryMap().get("AMQP");

   Message protonJMessage = Message.Factory.create();

   AMQPMessage message = new AMQPMessage(protonJMessage);

   message.setMessageID(333);

   Assert.assertNotNull(factory);

   server.getStorageManager().storeMessage(message);

   server.getStorageManager().stop();

   JournalStorageManager journalStorageManager = (JournalStorageManager) server.getStorageManager();

   List<RecordInfo> committedRecords = new LinkedList<>();

   List<PreparedTransactionInfo> preparedTransactions = new LinkedList<>();

   TransactionFailureCallback transactionFailure = new TransactionFailureCallback() {
      @Override
      public void failedTransaction(long transactionID, List<RecordInfo> records, List<RecordInfo> recordsToDelete) {

      }
   };

   try {
      journalStorageManager.getMessageJournal().start();

      journalStorageManager.getMessageJournal().load(committedRecords, preparedTransactions, transactionFailure);

      Assert.assertEquals(1, committedRecords.size());
   } finally {
      journalStorageManager.getMessageJournal().stop();
   }

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

示例4: testSendServerMessage

import org.apache.activemq.artemis.core.server.ActiveMQServer; //导入方法依赖的package包/类
@Test
public void testSendServerMessage() throws Exception {
   ActiveMQServer server = createServer(true, isNetty(), storeType);

   server.start();

   ClientSessionFactory sf = addSessionFactory(createSessionFactory(locator));

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

   LargeServerMessageImpl fileMessage = new LargeServerMessageImpl((JournalStorageManager) server.getStorageManager());

   fileMessage.setMessageID(1005);

   for (int i = 0; i < largeMessageSize; i++) {
      fileMessage.addBytes(new byte[]{ActiveMQTestBase.getSamplebyte(i)});
   }

   // The server would be doing this
   fileMessage.putLongProperty(Message.HDR_LARGE_BODY_SIZE, largeMessageSize);

   fileMessage.releaseResources();

   session.createQueue(ADDRESS, ADDRESS, true);

   ClientProducer prod = session.createProducer(ADDRESS);

   prod.send(fileMessage);

   fileMessage.deleteFile();

   session.commit();

   session.start();

   ClientConsumer cons = session.createConsumer(ADDRESS);

   ClientMessage msg = cons.receive(5000);

   Assert.assertNotNull(msg);

   Assert.assertEquals(msg.getBodySize(), largeMessageSize);

   for (int i = 0; i < largeMessageSize; i++) {
      Assert.assertEquals(ActiveMQTestBase.getSamplebyte(i), msg.getBodyBuffer().readByte());
   }

   msg.acknowledge();

   session.commit();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:52,代码来源:LargeMessageTest.java


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