ARTEMIS-3414 Disable OpenWire advisory support as default created configuration on CLI
This commit is contained in:
parent
e72e7e74e9
commit
f54c9156fa
|
@ -283,6 +283,12 @@ public class Create extends InputAbstract {
|
||||||
@Option(name = "--staticCluster", description = "Cluster node connectors list, separated by comma: Example \"tcp://server:61616,tcp://server2:61616,tcp://server3:61616\"")
|
@Option(name = "--staticCluster", description = "Cluster node connectors list, separated by comma: Example \"tcp://server:61616,tcp://server2:61616,tcp://server3:61616\"")
|
||||||
String staticNode;
|
String staticNode;
|
||||||
|
|
||||||
|
@Option(name = "--support-advisory", description = "If set, the generated configuration will allow advisories for the openwire protocol")
|
||||||
|
boolean supportAdvisory = false;
|
||||||
|
|
||||||
|
@Option(name = "--suppress-internal-management-objects", description = "If set, the generated configuration will register any advisory addresses/queues to management services for the openwire protocol")
|
||||||
|
boolean suppressInternalManagementObjects = false;
|
||||||
|
|
||||||
public String[] getStaticNodes() {
|
public String[] getStaticNodes() {
|
||||||
if (staticNode == null) {
|
if (staticNode == null) {
|
||||||
return new String[0];
|
return new String[0];
|
||||||
|
@ -626,6 +632,8 @@ public class Create extends InputAbstract {
|
||||||
}
|
}
|
||||||
filters.put("${fsync}", String.valueOf(!noJournalSync));
|
filters.put("${fsync}", String.valueOf(!noJournalSync));
|
||||||
filters.put("${default.port}", String.valueOf(defaultPort + portOffset));
|
filters.put("${default.port}", String.valueOf(defaultPort + portOffset));
|
||||||
|
filters.put("${support-advisory}", Boolean.toString(supportAdvisory));
|
||||||
|
filters.put("${suppress-internal-management-objects}", Boolean.toString(suppressInternalManagementObjects));
|
||||||
filters.put("${amqp.port}", String.valueOf(AMQP_PORT + portOffset));
|
filters.put("${amqp.port}", String.valueOf(AMQP_PORT + portOffset));
|
||||||
filters.put("${stomp.port}", String.valueOf(STOMP_PORT + portOffset));
|
filters.put("${stomp.port}", String.valueOf(STOMP_PORT + portOffset));
|
||||||
filters.put("${hq.port}", String.valueOf(HQ_PORT + portOffset));
|
filters.put("${hq.port}", String.valueOf(HQ_PORT + portOffset));
|
||||||
|
|
|
@ -102,7 +102,7 @@ ${jdbc}
|
||||||
|
|
||||||
|
|
||||||
<!-- Acceptor for every supported protocol -->
|
<!-- Acceptor for every supported protocol -->
|
||||||
<acceptor name="artemis">tcp://${host}:${default.port}?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;amqpMinLargeMessageSize=102400;protocols=CORE,AMQP,STOMP,HORNETQ,MQTT,OPENWIRE;useEpoll=true;amqpCredits=1000;amqpLowCredits=300;amqpDuplicateDetection=true</acceptor>
|
<acceptor name="artemis">tcp://${host}:${default.port}?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;amqpMinLargeMessageSize=102400;protocols=CORE,AMQP,STOMP,HORNETQ,MQTT,OPENWIRE;useEpoll=true;amqpCredits=1000;amqpLowCredits=300;amqpDuplicateDetection=true;supportAdvisory=${support-advisory};suppressInternalManagementObjects=${suppress-internal-management-objects}</acceptor>
|
||||||
${amqp-acceptor}${stomp-acceptor}${hornetq-acceptor}${mqtt-acceptor}
|
${amqp-acceptor}${stomp-acceptor}${hornetq-acceptor}${mqtt-acceptor}
|
||||||
</acceptors>
|
</acceptors>
|
||||||
|
|
||||||
|
|
|
@ -41,6 +41,7 @@ import java.nio.file.Files;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
import org.apache.activemq.artemis.api.core.ActiveMQIllegalStateException;
|
import org.apache.activemq.artemis.api.core.ActiveMQIllegalStateException;
|
||||||
|
@ -179,6 +180,51 @@ public class ArtemisTest extends CliTestBase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testOpenwireSupportAdvisoryDisabledByDefault() throws Exception {
|
||||||
|
FileConfiguration configuration = createFileConfiguration("supportAdvisory",
|
||||||
|
"--force", "--silent", "--no-web", "--no-autotune");
|
||||||
|
Map<String, Object> params = configuration.getAcceptorConfigurations()
|
||||||
|
.stream().filter(tc -> tc.getName().equals("artemis")).findFirst().get().getExtraParams();
|
||||||
|
Assert.assertFalse(Boolean.parseBoolean(params.get("supportAdvisory").toString()));
|
||||||
|
Assert.assertFalse(Boolean.parseBoolean(params.get("suppressInternalManagementObjects").toString()));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testOpenwireEnabledSupportAdvisory() throws Exception {
|
||||||
|
FileConfiguration configuration = createFileConfiguration("supportAdvisory",
|
||||||
|
"--force", "--silent", "--no-web", "--no-autotune",
|
||||||
|
"--support-advisory", "--suppress-internal-management-objects");
|
||||||
|
Map<String, Object> params = configuration.getAcceptorConfigurations()
|
||||||
|
.stream().filter(tc -> tc.getName().equals("artemis")).findFirst().get().getExtraParams();
|
||||||
|
Assert.assertTrue(Boolean.parseBoolean(params.get("supportAdvisory").toString()));
|
||||||
|
Assert.assertTrue(Boolean.parseBoolean(params.get("suppressInternalManagementObjects").toString()));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private FileConfiguration createFileConfiguration(String folder, String... createAdditionalArg) throws Exception {
|
||||||
|
File instanceFolder = temporaryFolder.newFolder(folder);
|
||||||
|
|
||||||
|
setupAuth(instanceFolder);
|
||||||
|
|
||||||
|
// This is usually set when run from the command line via artemis.profile
|
||||||
|
Run.setEmbedded(true);
|
||||||
|
final String[] createArgs = new String[2 + (createAdditionalArg == null ? 0 : createAdditionalArg.length)];
|
||||||
|
createArgs[0] = "create";
|
||||||
|
createArgs[1] = instanceFolder.getAbsolutePath();
|
||||||
|
if (createAdditionalArg != null) {
|
||||||
|
System.arraycopy(createAdditionalArg, 0, createArgs, 2, createAdditionalArg.length);
|
||||||
|
}
|
||||||
|
Artemis.main(createArgs);
|
||||||
|
System.setProperty("artemis.instance", instanceFolder.getAbsolutePath());
|
||||||
|
|
||||||
|
FileConfiguration fc = new FileConfiguration();
|
||||||
|
FileDeploymentManager deploymentManager = new FileDeploymentManager(new File(instanceFolder, "./etc/broker.xml").toURI().toString());
|
||||||
|
deploymentManager.addDeployable(fc);
|
||||||
|
deploymentManager.readConfiguration();
|
||||||
|
return fc;
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testWebConfig() throws Exception {
|
public void testWebConfig() throws Exception {
|
||||||
setupAuth();
|
setupAuth();
|
||||||
|
|
Loading…
Reference in New Issue