本文整理汇总了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);
}
}
示例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();
}
示例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();
}
}
示例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();
}
示例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();
}
示例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();
}