public NetworkHealthCheck parseAddressList(String addressList) { if (addressList != null) { String[] addresses = addressList.split(","); for (String address : addresses) { if (!address.trim().isEmpty()) { try { this.addAddress(InetAddress.getByName(address.trim())); } catch (Exception e) { ActiveMQUtilLogger.LOGGER.failedToParseAddressList(e, addressList); } } } } return this; }
public NetworkHealthCheck parseAddressList(String addressList) { if (addressList != null) { String[] addresses = addressList.split(","); for (String address : addresses) { if (!address.trim().isEmpty()) { try { this.addAddress(InetAddress.getByName(address.trim())); } catch (Exception e) { ActiveMQUtilLogger.LOGGER.failedToParseAddressList(e, addressList); } } } } return this; }
public NetworkHealthCheck parseAddressList(String addressList) { if (addressList != null) { String[] addresses = addressList.split(","); for (String address : addresses) { if (!address.trim().isEmpty()) { try { this.addAddress(InetAddress.getByName(address.trim())); } catch (Exception e) { ActiveMQUtilLogger.LOGGER.failedToParseAddressList(e, addressList); } } } } return this; }
public NetworkHealthCheck parseAddressList(String addressList) { if (addressList != null) { String[] addresses = addressList.split(","); for (String address : addresses) { if (!address.trim().isEmpty()) { try { this.addAddress(InetAddress.getByName(address.trim())); } catch (Exception e) { ActiveMQUtilLogger.LOGGER.failedToParseAddressList(e, addressList); } } } } return this; }
public NetworkHealthCheck parseAddressList(String addressList) { if (addressList != null) { String[] addresses = addressList.split(","); for (String address : addresses) { if (!address.trim().isEmpty()) { try { this.addAddress(InetAddress.getByName(address.trim())); } catch (Exception e) { ActiveMQUtilLogger.LOGGER.failedToParseAddressList(e, addressList); } } } } return this; }
public NetworkHealthCheck parseAddressList(String addressList) { if (addressList != null) { String[] addresses = addressList.split(","); for (String address : addresses) { if (!address.trim().isEmpty()) { try { this.addAddress(InetAddress.getByName(address.trim())); } catch (Exception e) { ActiveMQUtilLogger.LOGGER.failedToParseAddressList(e, addressList); } } } } return this; }
public NetworkHealthCheck parseAddressList(String addressList) { if (addressList != null) { String[] addresses = addressList.split(","); for (String address : addresses) { if (!address.trim().isEmpty()) { try { this.addAddress(InetAddress.getByName(address.trim())); } catch (Exception e) { ActiveMQUtilLogger.LOGGER.failedToParseAddressList(e, addressList); } } } } return this; }
@Test public void testLiveIsolated() throws Exception { backupServer.stop(); liveServer.stop(); liveServer.getServer().getConfiguration().setNetworkCheckList(badAddress). setNetworkCheckPeriod(100).setNetworkCheckTimeout(100); try { liveServer.start(); Assert.assertEquals(100L, liveServer.getServer().getNetworkHealthCheck().getPeriod()); liveServer.getServer().getNetworkHealthCheck().setTimeUnit(TimeUnit.MILLISECONDS); Assert.assertFalse(liveServer.getServer().getNetworkHealthCheck().check()); long timeout = System.currentTimeMillis() + 30000; while (liveServer.isStarted() && System.currentTimeMillis() < timeout) { Thread.sleep(100); } Assert.assertFalse(liveServer.isStarted()); liveServer.getServer().getNetworkHealthCheck().setIgnoreLoopback(true).addAddress(InetAddress.getByName("127.0.0.1")); timeout = System.currentTimeMillis() + 30000; while (!liveServer.isStarted() && System.currentTimeMillis() < timeout) { Thread.sleep(100); } Assert.assertTrue(liveServer.isStarted()); } catch (Throwable e) { logger.warn(e.getMessage(), e); throw e; } finally { liveServer.getServer().stop(); backupServer.getServer().stop(); } }
@Test public void testAlreadyShutdown() throws Exception { assumeTrue(purePingWorks(IPV6_LOCAL)); ReusableLatch latch = new ReusableLatch(0); NetworkHealthCheck check = addCheck(new NetworkHealthCheck(null, 100, 100) { @Override public void run() { super.run(); latch.countDown(); System.out.println("Check"); } }); check.addComponent(component); InetAddress address = InetAddress.getByName("127.0.0.1"); check.addAddress(address); component.stop(); latch.setCount(1); Assert.assertTrue(latch.await(1, TimeUnit.MINUTES)); Assert.assertFalse("NetworkHealthCheck should have no business on restarting the component, the network was never down, hence no check needed!", component.isStarted()); }
@Test public void testReactivate() throws Exception { liveServer.getServer().getConfiguration().setNetworkCheckPeriod(100).setNetworkCheckTimeout(200); liveServer.start(); Assert.assertTrue(Wait.waitFor(liveServer::isActive)); liveServer.getServer().getNetworkHealthCheck().addAddress(InetAddress.getByName(badAddress)); Assert.assertTrue(Wait.waitFor(() -> !liveServer.isStarted())); liveServer.getServer().getNetworkHealthCheck().clearAddresses(); Assert.assertTrue(Wait.waitFor(liveServer::isStarted)); }
backupServer.getServer().getNetworkHealthCheck().addAddress(InetAddress.getByName("127.0.0.1")); backupServer.getServer().getNetworkHealthCheck().setIgnoreLoopback(true).addAddress(InetAddress.getByName("127.0.0.1")); backupServer.getServer().getNetworkHealthCheck().addAddress(InetAddress.getByName(badAddress)); backupServer.getServer().start();