public synchronized void setRetryInterval(final long retryInterval) { checkWrite(); serverLocator.setRetryInterval(retryInterval); }
protected void setupSessionFactory(final int node, final int backupNode, final boolean netty, final boolean blocking) throws Exception { if (sfs[node] != null) { throw new IllegalArgumentException("Already a server at " + node); } Map<String, Object> params = generateParams(node, netty); TransportConfiguration serverToTC = createTransportConfiguration(netty, false, params); locators[node] = addServerLocator(ActiveMQClient.createServerLocatorWithHA(serverToTC)).setRetryInterval(100).setRetryIntervalMultiplier(1d).setReconnectAttempts(300).setBlockOnNonDurableSend(blocking).setBlockOnDurableSend(blocking); final String identity = "TestClientConnector,live=" + node + ",backup=" + backupNode; ((ServerLocatorInternal) locators[node]).setIdentity(identity); ClientSessionFactory sf = createSessionFactory(locators[node]); sfs[node] = sf; }
public synchronized void setRetryInterval(final long retryInterval) { checkWrite(); serverLocator.setRetryInterval(retryInterval); }
public synchronized void setRetryInterval(final long retryInterval) { checkWrite(); serverLocator.setRetryInterval(retryInterval); }
public synchronized void setRetryInterval(final long retryInterval) { checkWrite(); serverLocator.setRetryInterval(retryInterval); }
public synchronized void setRetryInterval(final long retryInterval) { checkWrite(); serverLocator.setRetryInterval(retryInterval); }
protected void createSessionFactory() throws Exception { locator.setBlockOnNonDurableSend(true).setBlockOnDurableSend(true).setReconnectAttempts(300).setRetryInterval(100); sf = createSessionFactoryAndWaitForTopology(locator, 2); }
protected ServerLocatorInternal getServerLocator() throws Exception { return (ServerLocatorInternal) addServerLocator(ActiveMQClient.createServerLocatorWithHA(getConnectorTransportConfiguration(true), getConnectorTransportConfiguration(false))).setRetryInterval(50); }
protected ServerLocatorInternal getServerLocator(int node) throws Exception { return (ServerLocatorInternal) addServerLocator(ActiveMQClient.createServerLocatorWithHA(getConnectorTransportConfiguration(true, node))).setRetryInterval(100).setReconnectAttempts(300).setInitialConnectAttempts(300); }
protected ServerLocatorInternal getBackupServerLocator(int node) throws Exception { return (ServerLocatorInternal) addServerLocator(ActiveMQClient.createServerLocatorWithHA(getConnectorTransportConfiguration(false, node))).setRetryInterval(100).setReconnectAttempts(300).setInitialConnectAttempts(300); }
@Override @Before public void setUp() throws Exception { startBackupServer = false; super.setUp(); setNumberOfMessages(defaultNMsgs); locator = (ServerLocatorInternal) getServerLocator().setBlockOnNonDurableSend(true).setBlockOnDurableSend(true).setReconnectAttempts(15).setRetryInterval(200); sessionFactory = createSessionFactoryAndWaitForTopology(locator, 1); sessionFactory.addFailoverListener(failoverWaiter); syncDelay = new BackupSyncDelay(backupServer, liveServer); }
@Override protected void createSessionFactory() throws Exception { locator.setBlockOnNonDurableSend(true).setBlockOnDurableSend(true).setReconnectAttempts(300).setRetryInterval(100); sf = createSessionFactoryAndWaitForTopology(locator, getConnectorTransportConfiguration(true, 0), 2); if (sf2 == null) { sf2 = (ClientSessionFactoryInternal) locator.createSessionFactory(backupServer.getServer().getNodeID().toString()); addSessionFactory(sf2); ClientSession session2 = createSession(sf2, false, false); session2.createQueue(ADDRESS, ADDRESS, null, true); } }
/** * see http://jira.jboss.org/browse/HORNETQ-522 * * @throws Exception */ @Test(timeout = 120000) public void testNonTransactedWithZeroConsumerWindowSize() throws Exception { locator.setBlockOnNonDurableSend(true).setBlockOnDurableSend(true).setAckBatchSize(0).setReconnectAttempts(300).setRetryInterval(100); createClientSessionFactory(); ClientSession session = createSession(sf, true, true); session.createQueue(FailoverTestBase.ADDRESS, RoutingType.MULTICAST, FailoverTestBase.ADDRESS, null, true); ClientProducer producer = session.createProducer(FailoverTestBase.ADDRESS); for (int i = 0; i < NUM_MESSAGES; i++) { ClientMessage message = session.createMessage(true); setBody(i, message); message.putIntProperty("counter", i); producer.send(message); } ClientConsumer consumer = session.createConsumer(FailoverTestBase.ADDRESS); final CountDownLatch latch = new CountDownLatch(NUM_MESSAGES); consumer.setMessageHandler(new MessageHandler() { @Override public void onMessage(ClientMessage message) { latch.countDown(); } }); session.start(); crash(session); Assert.assertTrue(latch.await(10, TimeUnit.SECONDS)); }
@Override @Test public void testFailoverOnInitialConnection() throws Exception { locator.setBlockOnNonDurableSend(true).setBlockOnDurableSend(true).setFailoverOnInitialConnection(true).setReconnectAttempts(300).setRetryInterval(100); sf = createSessionFactoryAndWaitForTopology(locator, 2); // Crash live server crash(); ClientSession session = createSession(sf); //session.createQueue(FailoverTestBase.ADDRESS, FailoverTestBase.ADDRESS, null, true); ClientProducer producer = session.createProducer(ADDRESS); sendMessages(session, producer, NUM_MESSAGES); ClientConsumer consumer = session.createConsumer(ADDRESS); session.start(); receiveMessages(consumer); session.close(); }
private void doSimpleSendAfterFailover(final boolean durable, final boolean temporary) throws Exception { locator.setBlockOnNonDurableSend(true).setBlockOnDurableSend(true).setBlockOnAcknowledge(true).setReconnectAttempts(300).setRetryInterval(100); sf = createSessionFactoryAndWaitForTopology(locator, 2); ClientSession session = createSession(sf, true, true, 0); if (temporary) { session.createTemporaryQueue(FailoverTestBase.ADDRESS, RoutingType.MULTICAST, FailoverTestBase.ADDRESS, null); } else { session.createQueue(FailoverTestBase.ADDRESS, RoutingType.MULTICAST, FailoverTestBase.ADDRESS, null, durable); } ClientProducer producer = session.createProducer(FailoverTestBase.ADDRESS); ClientConsumer consumer = session.createConsumer(FailoverTestBase.ADDRESS); session.start(); crash(session); sendMessagesSomeDurable(session, producer); receiveMessages(consumer); }
@Test(timeout = 120000) public void testFailoverOnInitialConnection() throws Exception { locator.setBlockOnNonDurableSend(true).setBlockOnDurableSend(true).setFailoverOnInitialConnection(true).setReconnectAttempts(300).setRetryInterval(100); sf = createSessionFactoryAndWaitForTopology(locator, 2); // Crash live server crash(); ClientSession session = createSession(sf); session.createQueue(FailoverTestBase.ADDRESS, RoutingType.MULTICAST, FailoverTestBase.ADDRESS, null, true); ClientProducer producer = session.createProducer(FailoverTestBase.ADDRESS); sendMessages(session, producer, NUM_MESSAGES); ClientConsumer consumer = session.createConsumer(FailoverTestBase.ADDRESS); session.start(); receiveMessages(consumer); session.close(); }
@Test(timeout = 120000) public void testFailThenReceiveMoreMessagesAfterFailover2() throws Exception { locator.setBlockOnNonDurableSend(true).setBlockOnDurableSend(true).setBlockOnAcknowledge(true).setReconnectAttempts(300).setRetryInterval(100); sf = createSessionFactoryAndWaitForTopology(locator, 2); ClientSession session = createSession(sf, true, true, 0); session.createQueue(FailoverTestBase.ADDRESS, RoutingType.MULTICAST, FailoverTestBase.ADDRESS, null, true); ClientProducer producer = session.createProducer(FailoverTestBase.ADDRESS); sendMessagesSomeDurable(session, producer); ClientConsumer consumer = session.createConsumer(FailoverTestBase.ADDRESS); session.start(); receiveMessages(consumer); crash(session); // Send some more for (int i = NUM_MESSAGES; i < NUM_MESSAGES * 2; i++) { producer.send(createMessage(session, i, isDurable(i))); } receiveMessages(consumer, NUM_MESSAGES, NUM_MESSAGES * 2, true); }
public void verifyServer() throws Exception { ServerLocator locator; ClientSessionFactory factory; ClientSession session; ActiveMQServer server = PagingWithFailoverServer.createServer(getTestDir(), PORT1, PORT2, false); server.start(); waitForServerToStart(server); Queue queue = server.locateQueue(SimpleString.toSimpleString("cons2")); int messageCount = getMessageCount(queue); assertTrue(messageCount >= 0); locator = SpawnedServerSupport.createLocator(PORT1).setInitialConnectAttempts(100).setReconnectAttempts(300).setRetryInterval(100); factory = locator.createSessionFactory(); session = factory.createSession(); session.start(); try { drainConsumer(session.createConsumer("cons2"), "cons2", messageCount); } finally { session.close(); factory.close(); locator.close(); server.stop(); } }
@Test public void testRecreateConsumerOverServerFailure() throws Exception { ServerLocator serverWithReattach = createInVMNonHALocator().setReconnectAttempts(30).setRetryInterval(1000).setConfirmationWindowSize(-1).setConnectionTTL(TemporaryQueueTest.CONNECTION_TTL).setClientFailureCheckPeriod(TemporaryQueueTest.CONNECTION_TTL / 3); ClientSessionFactory reattachSF = createSessionFactory(serverWithReattach); ClientSession session = reattachSF.createSession(false, false); session.createTemporaryQueue("tmpAd", "tmpQ"); ClientConsumer consumer = session.createConsumer("tmpQ"); ClientProducer prod = session.createProducer("tmpAd"); session.start(); RemotingConnectionImpl conn = (RemotingConnectionImpl) ((ClientSessionInternal) session).getConnection(); conn.fail(new ActiveMQIOErrorException()); prod.send(session.createMessage(false)); session.commit(); assertNotNull(consumer.receive(1000)); session.close(); reattachSF.close(); serverWithReattach.close(); }
@Test(timeout = 60000) public void testFailBothRestartLive() throws Exception { ServerLocator locator = getServerLocator(); locator.setReconnectAttempts(-1).setRetryInterval(10); sf = (ClientSessionFactoryInternal)locator.createSessionFactory(); ClientSession session = createSession(sf, true, true); session.createQueue(FailoverTestBase.ADDRESS, RoutingType.MULTICAST, FailoverTestBase.ADDRESS, null, true); ClientProducer producer = session.createProducer(FailoverTestBase.ADDRESS); sendMessagesSomeDurable(session, producer); crash(session); ClientConsumer consumer = session.createConsumer(FailoverTestBase.ADDRESS); session.start(); receiveDurableMessages(consumer); backupServer.getServer().fail(true); liveServer.start(); consumer.close(); producer.close(); producer = session.createProducer(FailoverTestBase.ADDRESS); sendMessagesSomeDurable(session, producer); sf.close(); Assert.assertEquals(0, sf.numSessions()); Assert.assertEquals(0, sf.numConnections()); }