This is an automated email from the ASF dual-hosted git repository. gnodet pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit 61d44cc94e444448b0e60f90c8ff60167c6085e0 Author: Guillaume Nodet <gno...@gmail.com> AuthorDate: Fri Mar 26 02:12:58 2021 +0100 Make camel-hazelcast tests faster --- components/camel-hazelcast/pom.xml | 4 +-- ...HazelcastAtomicnumberProducerForSpringTest.java | 5 +-- .../hazelcast/HazelcastConfigurationTest.java | 40 +++++++++++----------- .../HazelcastReplicatedmapConsumerTest.java | 10 +++--- .../hazelcast/HazelcastSedaInOutTest.java | 28 +++++++++++++++ .../HazelcastSedaTransferExchangeTest.java | 32 +++++++++++++++++ ...lcastAggregationRepositoryCamelTestSupport.java | 5 ++- .../HazelcastIdempotentRepositoryTest.java | 30 +++++++++------- ...l-context-hazelcast-instance-name-reference.xml | 7 +++- .../src/test/resources/hazelcast-custom.xml | 6 ++-- .../src/test/resources/hazelcast-default.xml | 9 +++-- .../src/test/resources/hazelcast-named.xml | 6 ++-- 12 files changed, 128 insertions(+), 54 deletions(-) diff --git a/components/camel-hazelcast/pom.xml b/components/camel-hazelcast/pom.xml index 907bc2d..46d2fc2 100644 --- a/components/camel-hazelcast/pom.xml +++ b/components/camel-hazelcast/pom.xml @@ -88,8 +88,8 @@ <artifactId>maven-surefire-plugin</artifactId> <configuration> <forkCount>1</forkCount> - <reuseForks>false</reuseForks> - <forkedProcessTimeoutInSeconds>600</forkedProcessTimeoutInSeconds> + <reuseForks>true</reuseForks> +<!-- <forkedProcessTimeoutInSeconds>600</forkedProcessTimeoutInSeconds>--> <systemProperties> <property> <name>hazelcast.logging.type</name> diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastAtomicnumberProducerForSpringTest.java b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastAtomicnumberProducerForSpringTest.java index adf5ce7..ca83ec6 100644 --- a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastAtomicnumberProducerForSpringTest.java +++ b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastAtomicnumberProducerForSpringTest.java @@ -24,9 +24,9 @@ import com.hazelcast.cp.CPSubsystem; import com.hazelcast.cp.IAtomicLong; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; import org.mockito.Mock; import org.springframework.context.support.AbstractApplicationContext; -import org.springframework.context.support.ClassPathXmlApplicationContext; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.atLeastOnce; @@ -35,6 +35,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; +@TestInstance(TestInstance.Lifecycle.PER_CLASS) public class HazelcastAtomicnumberProducerForSpringTest extends HazelcastCamelSpringTestSupport { @Mock @@ -62,7 +63,7 @@ public class HazelcastAtomicnumberProducerForSpringTest extends HazelcastCamelSp @Override protected AbstractApplicationContext createApplicationContext() { - return new ClassPathXmlApplicationContext("/META-INF/spring/test-camel-context-atomicnumber.xml"); + return newAppContext("/META-INF/spring/test-camel-context-atomicnumber.xml"); } @Test diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastConfigurationTest.java b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastConfigurationTest.java index 27971e0..162c888 100644 --- a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastConfigurationTest.java +++ b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastConfigurationTest.java @@ -26,6 +26,7 @@ import org.apache.camel.CamelContext; import org.apache.camel.component.hazelcast.map.HazelcastMapComponent; import org.apache.camel.impl.DefaultCamelContext; import org.apache.camel.support.SimpleRegistry; +import org.apache.camel.test.AvailablePortFinder; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; @@ -110,7 +111,7 @@ public class HazelcastConfigurationTest { HazelcastInstance hz = endpoint.getHazelcastInstance(); assertFalse(hz.getConfig().getNetworkConfig().getJoin().getAwsConfig().isEnabled()); assertFalse(hz.getConfig().getNetworkConfig().getJoin().getMulticastConfig().isEnabled()); - assertTrue(hz.getConfig().getNetworkConfig().getJoin().getTcpIpConfig().isEnabled()); + assertFalse(hz.getConfig().getNetworkConfig().getJoin().getTcpIpConfig().isEnabled()); assertEquals(5701, hz.getConfig().getNetworkConfig().getPort()); } } finally { @@ -229,36 +230,35 @@ public class HazelcastConfigurationTest { public void testMix() throws Exception { DefaultCamelContext context = null; - try { + try (AvailablePortFinder.Port port1 = AvailablePortFinder.find(); + AvailablePortFinder.Port port2 = AvailablePortFinder.find(); + AvailablePortFinder.Port port3 = AvailablePortFinder.find(); + AvailablePortFinder.Port port4 = AvailablePortFinder.find()) { String instanceName = UUID.randomUUID().toString(); Config namedConfig = new Config(); namedConfig.setInstanceName("named-" + instanceName); - namedConfig.getNetworkConfig().setPort(9001); - namedConfig.getNetworkConfig().getJoin().getAwsConfig().setEnabled(false); - namedConfig.getNetworkConfig().getJoin().getMulticastConfig().setEnabled(true); - namedConfig.getNetworkConfig().getJoin().getTcpIpConfig().setEnabled(false); + namedConfig.getMetricsConfig().setEnabled(false); + namedConfig.getNetworkConfig().setPort(port1.getPort()); + namedConfig.getNetworkConfig().getJoin().getAutoDetectionConfig().setEnabled(false); Config customConfig = new Config(); customConfig.setInstanceName("custom-" + instanceName); - customConfig.getNetworkConfig().setPort(9002); - customConfig.getNetworkConfig().getJoin().getAwsConfig().setEnabled(false); - customConfig.getNetworkConfig().getJoin().getMulticastConfig().setEnabled(true); - customConfig.getNetworkConfig().getJoin().getTcpIpConfig().setEnabled(false); + customConfig.getMetricsConfig().setEnabled(false); + customConfig.getNetworkConfig().setPort(port2.getPort()); + customConfig.getNetworkConfig().getJoin().getAutoDetectionConfig().setEnabled(false); Config sharedConfig = new Config(); - sharedConfig.setInstanceName("custom-" + instanceName); - sharedConfig.getNetworkConfig().setPort(9003); - sharedConfig.getNetworkConfig().getJoin().getAwsConfig().setEnabled(false); - sharedConfig.getNetworkConfig().getJoin().getMulticastConfig().setEnabled(true); - sharedConfig.getNetworkConfig().getJoin().getTcpIpConfig().setEnabled(false); + sharedConfig.setInstanceName("shared-" + instanceName); + sharedConfig.getMetricsConfig().setEnabled(false); + sharedConfig.getNetworkConfig().setPort(port3.getPort()); + sharedConfig.getNetworkConfig().getJoin().getAutoDetectionConfig().setEnabled(false); Config componentConfig = new Config(); - sharedConfig.setInstanceName("component-" + instanceName); - sharedConfig.getNetworkConfig().setPort(9004); - sharedConfig.getNetworkConfig().getJoin().getAwsConfig().setEnabled(false); - sharedConfig.getNetworkConfig().getJoin().getMulticastConfig().setEnabled(true); - sharedConfig.getNetworkConfig().getJoin().getTcpIpConfig().setEnabled(false); + componentConfig.setInstanceName("component-" + instanceName); + componentConfig.getMetricsConfig().setEnabled(false); + componentConfig.getNetworkConfig().setPort(port4.getPort()); + componentConfig.getNetworkConfig().getJoin().getAutoDetectionConfig().setEnabled(false); HazelcastInstance hzNamed = Hazelcast.newHazelcastInstance(namedConfig); HazelcastInstance hzShared = Hazelcast.newHazelcastInstance(sharedConfig); diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastReplicatedmapConsumerTest.java b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastReplicatedmapConsumerTest.java index 6a699ab..00e2db4 100644 --- a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastReplicatedmapConsumerTest.java +++ b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastReplicatedmapConsumerTest.java @@ -26,25 +26,27 @@ import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.test.junit5.CamelTestSupport; -import org.junit.jupiter.api.AfterEach; -import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; +@TestInstance(TestInstance.Lifecycle.PER_CLASS) public class HazelcastReplicatedmapConsumerTest extends CamelTestSupport { private HazelcastInstance hazelcastInstance; private ReplicatedMap<Object, Object> map; - @BeforeEach + @BeforeAll public void beforeEach() { hazelcastInstance = Hazelcast.newHazelcastInstance(); map = hazelcastInstance.getReplicatedMap("rm"); } - @AfterEach + @AfterAll public void afterEach() { if (hazelcastInstance != null) { hazelcastInstance.shutdown(); diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastSedaInOutTest.java b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastSedaInOutTest.java index 4e5eaae..e64a12d 100644 --- a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastSedaInOutTest.java +++ b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastSedaInOutTest.java @@ -16,6 +16,9 @@ */ package org.apache.camel.component.hazelcast; +import com.hazelcast.core.Hazelcast; +import com.hazelcast.core.HazelcastInstance; +import org.apache.camel.CamelContext; import org.apache.camel.EndpointInject; import org.apache.camel.Exchange; import org.apache.camel.ExchangePattern; @@ -23,13 +26,31 @@ import org.apache.camel.Processor; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.test.junit5.CamelTestSupport; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; +@TestInstance(TestInstance.Lifecycle.PER_CLASS) public class HazelcastSedaInOutTest extends CamelTestSupport { @EndpointInject("mock:result") private MockEndpoint mock; + private HazelcastInstance hazelcastInstance; + + @BeforeAll + public void beforeEach() { + hazelcastInstance = Hazelcast.newHazelcastInstance(); + } + + @AfterAll + public void afterEach() { + if (hazelcastInstance != null) { + hazelcastInstance.shutdown(); + } + } + @Test public void sendInOut() throws Exception { mock.expectedMessageCount(1); @@ -45,6 +66,13 @@ public class HazelcastSedaInOutTest extends CamelTestSupport { } @Override + protected CamelContext createCamelContext() throws Exception { + CamelContext context = super.createCamelContext(); + HazelcastCamelTestHelper.registerHazelcastComponents(context, hazelcastInstance); + return context; + } + + @Override protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { @Override diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastSedaTransferExchangeTest.java b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastSedaTransferExchangeTest.java index ba4bab4..ba7baed 100644 --- a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastSedaTransferExchangeTest.java +++ b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastSedaTransferExchangeTest.java @@ -16,20 +16,44 @@ */ package org.apache.camel.component.hazelcast; +import com.hazelcast.config.Config; +import com.hazelcast.core.Hazelcast; +import com.hazelcast.core.HazelcastInstance; +import org.apache.camel.CamelContext; import org.apache.camel.EndpointInject; import org.apache.camel.Exchange; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.test.junit5.CamelTestSupport; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; import static org.junit.jupiter.api.Assertions.assertThrows; +@TestInstance(TestInstance.Lifecycle.PER_CLASS) public class HazelcastSedaTransferExchangeTest extends CamelTestSupport { @EndpointInject("mock:result") private MockEndpoint mock; + private HazelcastInstance hazelcastInstance; + + @BeforeAll + public void beforeEach() { + Config config = new Config(); + config.getNetworkConfig().getJoin().getAutoDetectionConfig().setEnabled(false); + hazelcastInstance = Hazelcast.newHazelcastInstance(config); + } + + @AfterAll + public void afterEach() { + if (hazelcastInstance != null) { + hazelcastInstance.shutdown(); + } + } + @Test public void testExchangeTransferEnabled() throws InterruptedException { final String value = "CAMEL-3983"; @@ -65,7 +89,15 @@ public class HazelcastSedaTransferExchangeTest extends CamelTestSupport { } @Override + protected CamelContext createCamelContext() throws Exception { + CamelContext context = super.createCamelContext(); + HazelcastCamelTestHelper.registerHazelcastComponents(context, hazelcastInstance); + return context; + } + + @Override protected RouteBuilder createRouteBuilder() throws Exception { + return new RouteBuilder() { @Override public void configure() throws Exception { diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepositoryCamelTestSupport.java b/components/camel-hazelcast/src/test/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepositoryCamelTestSupport.java index 0082127..375a438 100644 --- a/components/camel-hazelcast/src/test/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepositoryCamelTestSupport.java +++ b/components/camel-hazelcast/src/test/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepositoryCamelTestSupport.java @@ -22,8 +22,11 @@ import com.hazelcast.core.HazelcastInstance; import org.apache.camel.test.junit5.CamelTestSupport; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.TestInstance; +@TestInstance(TestInstance.Lifecycle.PER_CLASS) public class HazelcastAggregationRepositoryCamelTestSupport extends CamelTestSupport { + private static HazelcastInstance hzOne; private static HazelcastInstance hzTwo; @@ -49,9 +52,9 @@ public class HazelcastAggregationRepositoryCamelTestSupport extends CamelTestSup private static Config createConfig(String name) { Config config = new Config(); config.setInstanceName(name); + config.getMetricsConfig().setEnabled(false); config.getNetworkConfig().getJoin().getMulticastConfig().setEnabled(false); config.getNetworkConfig().getJoin().getTcpIpConfig().setEnabled(true).addMember("127.0.0.1"); - return config; } } diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/processor/idempotent/hazelcast/HazelcastIdempotentRepositoryTest.java b/components/camel-hazelcast/src/test/java/org/apache/camel/processor/idempotent/hazelcast/HazelcastIdempotentRepositoryTest.java index 40908af..5de61d2 100644 --- a/components/camel-hazelcast/src/test/java/org/apache/camel/processor/idempotent/hazelcast/HazelcastIdempotentRepositoryTest.java +++ b/components/camel-hazelcast/src/test/java/org/apache/camel/processor/idempotent/hazelcast/HazelcastIdempotentRepositoryTest.java @@ -16,20 +16,24 @@ */ package org.apache.camel.processor.idempotent.hazelcast; +import com.hazelcast.config.Config; import com.hazelcast.core.Hazelcast; import com.hazelcast.core.HazelcastInstance; import com.hazelcast.map.IMap; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.test.junit5.CamelTestSupport; -import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; +@TestInstance(TestInstance.Lifecycle.PER_CLASS) public class HazelcastIdempotentRepositoryTest extends CamelTestSupport { private IMap<String, Boolean> cache; @@ -39,24 +43,24 @@ public class HazelcastIdempotentRepositoryTest extends CamelTestSupport { private String key01 = "123"; private String key02 = "456"; - @Override - @BeforeEach - public void setUp() throws Exception { + @BeforeAll + void setupHazelcast() throws Exception { + Config config = new Config(); + config.getNetworkConfig().getJoin().getTcpIpConfig().setEnabled(false); + config.getNetworkConfig().getJoin().getAutoDetectionConfig().setEnabled(false); hazelcastInstance = Hazelcast.newHazelcastInstance(null); cache = hazelcastInstance.getMap("myRepo"); repo = new HazelcastIdempotentRepository(hazelcastInstance, "myRepo"); - super.setUp(); - cache.clear(); - repo.start(); } - @Override - @AfterEach - public void tearDown() throws Exception { - repo.stop(); - super.tearDown(); + @AfterAll + void teardownHazelcast() { + hazelcastInstance.getLifecycleService().terminate(); + } + + @BeforeEach + void clearCache() { cache.clear(); - hazelcastInstance.getLifecycleService().shutdown(); } @Test diff --git a/components/camel-hazelcast/src/test/resources/META-INF/spring/test-camel-context-hazelcast-instance-name-reference.xml b/components/camel-hazelcast/src/test/resources/META-INF/spring/test-camel-context-hazelcast-instance-name-reference.xml index 5532f06..61cf662 100644 --- a/components/camel-hazelcast/src/test/resources/META-INF/spring/test-camel-context-hazelcast-instance-name-reference.xml +++ b/components/camel-hazelcast/src/test/resources/META-INF/spring/test-camel-context-hazelcast-instance-name-reference.xml @@ -30,8 +30,13 @@ <bean id="config" class="com.hazelcast.config.Config"> <constructor-arg type="java.lang.String" value="HZ.INSTANCE" /> </bean> + <bean id="network" factory-bean="config" factory-method="getNetworkConfig"/> + <bean id="join" factory-bean="network" factory-method="getJoin"/> + <bean id="auto-detection" factory-bean="join" factory-method="getAutoDetectionConfig"> + <property name="enabled" value="false"/> + </bean> - <bean id="hazelcastInstance" class="com.hazelcast.core.Hazelcast" factory-method="newHazelcastInstance"> + <bean id="hazelcastInstance" class="com.hazelcast.core.Hazelcast" factory-method="newHazelcastInstance" depends-on="auto-detection"> <constructor-arg type="com.hazelcast.config.Config" ref="config"/> </bean> <camelContext xmlns="http://camel.apache.org/schema/spring"> diff --git a/components/camel-hazelcast/src/test/resources/hazelcast-custom.xml b/components/camel-hazelcast/src/test/resources/hazelcast-custom.xml index 740f230..6814cba 100644 --- a/components/camel-hazelcast/src/test/resources/hazelcast-custom.xml +++ b/components/camel-hazelcast/src/test/resources/hazelcast-custom.xml @@ -20,7 +20,7 @@ <hazelcast xmlns="http://www.hazelcast.com/schema/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.hazelcast.com/schema/config - http://www.hazelcast.com/schema/config/hazelcast-config-4.0.xsd"> + http://www.hazelcast.com/schema/config/hazelcast-config-4.1.xsd"> <!-- DEPRECATED SINCE: 4.0 group> <name>dev</name> @@ -36,9 +36,7 @@ <network> <port auto-increment="true">9876</port> <join> - <multicast enabled="false"/> - <tcp-ip enabled="false"/> - <aws enabled="false"/> + <auto-detection enabled="false"/> </join> <interfaces enabled="false"/> </network> diff --git a/components/camel-hazelcast/src/test/resources/hazelcast-default.xml b/components/camel-hazelcast/src/test/resources/hazelcast-default.xml index 5311c63..4cc0827 100644 --- a/components/camel-hazelcast/src/test/resources/hazelcast-default.xml +++ b/components/camel-hazelcast/src/test/resources/hazelcast-default.xml @@ -20,7 +20,7 @@ <hazelcast xmlns="http://www.hazelcast.com/schema/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.hazelcast.com/schema/config - http://www.hazelcast.com/schema/config/hazelcast-config-4.0.xsd"> + http://www.hazelcast.com/schema/config/hazelcast-config-4.1.xsd"> <!-- DEPRECATED SINCE: 4.0group> <name>dev</name> @@ -29,18 +29,21 @@ <!-- Disable the version check --> <properties> - <property name="hazelcast.phone.home.enabled">false</property> + <property name="hazelcast.phone.home.enabled">false</property> <property name="hazelcast.logging.type">slf4j</property> </properties> + <metrics enabled="false"/> + <network> <port auto-increment="true">5701</port> <join> + <auto-detection enabled="false"/> <multicast enabled="false"> <multicast-group>224.2.2.3</multicast-group> <multicast-port>54327</multicast-port> </multicast> - <tcp-ip enabled="true"> + <tcp-ip enabled="false"> <interface>127.0.0.1</interface> </tcp-ip> </join> diff --git a/components/camel-hazelcast/src/test/resources/hazelcast-named.xml b/components/camel-hazelcast/src/test/resources/hazelcast-named.xml index b2ce25f..d484761 100644 --- a/components/camel-hazelcast/src/test/resources/hazelcast-named.xml +++ b/components/camel-hazelcast/src/test/resources/hazelcast-named.xml @@ -20,7 +20,7 @@ <hazelcast xmlns="http://www.hazelcast.com/schema/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.hazelcast.com/schema/config - http://www.hazelcast.com/schema/config/hazelcast-config-4.0.xsd"> + http://www.hazelcast.com/schema/config/hazelcast-config-4.1.xsd"> <instance-name>camel-hz</instance-name> @@ -38,9 +38,7 @@ <network> <port auto-increment="true" port-count="100">9876</port> <join> - <multicast enabled="false"/> - <tcp-ip enabled="false"/> - <aws enabled="false"/> + <auto-detection enabled="false"/> </join> <interfaces enabled="false"/> </network>