void start() { stopping = false; backupAnnounced = false; ClusterConnection clusterConnection = clusterManager.getClusterConnection(name); //NB we use the same topology as the sister cluster connection so it knows when started about all the nodes to bridge to backupServerLocator = createServerLocator(clusterConnection.getTopology()); if (backupServerLocator != null) { backupServerLocator.setIdentity("backupLocatorFor='" + server + "'"); backupServerLocator.setReconnectAttempts(-1); backupServerLocator.setInitialConnectAttempts(-1); backupServerLocator.setProtocolManagerFactory(ActiveMQServerSideProtocolManagerFactory.getInstance(backupServerLocator)); } }
private void configAndAdd(SimpleString name, ServerLocatorInternal serverLocator, ClusterConnectionConfiguration config) { serverLocator.setConnectionTTL(config.getConnectionTTL()); serverLocator.setClientFailureCheckPeriod(config.getClientFailureCheckPeriod()); //if the cluster isn't available we want to hang around until it is serverLocator.setReconnectAttempts(config.getReconnectAttempts()); serverLocator.setInitialConnectAttempts(config.getInitialConnectAttempts()); serverLocator.setRetryInterval(config.getRetryInterval()); serverLocator.setRetryIntervalMultiplier(config.getRetryIntervalMultiplier()); serverLocator.setMaxRetryInterval(config.getMaxRetryInterval()); //this is used for replication so need to use the server packet decoder serverLocator.setProtocolManagerFactory(ActiveMQServerSideProtocolManagerFactory.getInstance(serverLocator)); serverLocator.setThreadPools(server.getThreadPool(), server.getScheduledPool()); try { serverLocator.initialize(); } catch (Exception e) { throw new IllegalStateException(e.getMessage(), e); } locators.put(name, serverLocator); }
locator.setReconnectAttempts(0); try (ClientSessionFactoryInternal factory = locator.connectNoWarnings()) {
@Test public void testMultipleConnectorSingleServerNoConnectAttemptReconnect() throws Exception { ServerLocatorInternal locator = (ServerLocatorInternal) ActiveMQClient.createServerLocatorWithoutHA(createTransportConfiguration(isNetty(), false, generateParams(1, isNetty())), createTransportConfiguration(isNetty(), false, generateParams(2, isNetty())), createTransportConfiguration(isNetty(), false, generateParams(3, isNetty())), createTransportConfiguration(isNetty(), false, generateParams(4, isNetty())), createTransportConfiguration(isNetty(), false, generateParams(5, isNetty()))); locator.setReconnectAttempts(15); CountDownLatch countDownLatch = new CountDownLatch(1); Connector target = new Connector(locator, countDownLatch); Thread t = new Thread(target); t.start(); //let them get started Thread.sleep(500); locator.close(); assertTrue(countDownLatch.await(5, TimeUnit.SECONDS)); assertNull(target.csf); }
serverLocator.setReconnectAttempts(0); serverLocator.setClusterConnection(true); serverLocator.setClusterTransportConfiguration(connector);
targetLocator.setReconnectAttempts(0);
@Test public void testMultipleConnectorSingleServerConnectReconnect() throws Exception { ServerLocatorInternal locator = (ServerLocatorInternal) ActiveMQClient.createServerLocatorWithoutHA(createTransportConfiguration(isNetty(), false, generateParams(0, isNetty())), createTransportConfiguration(isNetty(), false, generateParams(1, isNetty())), createTransportConfiguration(isNetty(), false, generateParams(2, isNetty())), createTransportConfiguration(isNetty(), false, generateParams(3, isNetty())), createTransportConfiguration(isNetty(), false, generateParams(4, isNetty()))); locator.setReconnectAttempts(15); ClientSessionFactoryInternal csf = locator.connect(); assertNotNull(csf); assertEquals(csf.numConnections(), 1); locator.close(); }
serverLocator.setReconnectAttempts(0); serverLocator.setInitialConnectAttempts(0); serverLocator.setRetryInterval(config.getRetryInterval());