From 84e8a87325a976c9970b8e85d03fc33207623af3 Mon Sep 17 00:00:00 2001 From: jbertram Date: Fri, 21 Oct 2016 19:58:01 -0500 Subject: [PATCH] ARTEMIS-876 Remove all reliances on JMS prefixing --- .../destination/DestinationAction.java | 2 +- .../cli/commands/tools/XmlDataImporter.java | 6 +- .../activemq/cli/test/FileBrokerTest.java | 2 +- .../src/test/resources/broker-nojms.xml | 4 +- .../src/test/resources/broker-reload.xml | 4 +- artemis-cli/src/test/resources/broker.xml | 4 +- .../config/ActiveMQDefaultConfiguration.java | 3 +- .../api/core/client/ClientSession.java | 2 + .../management/ActiveMQServerControl.java | 12 ++ .../core/management/AddressSettingsInfo.java | 4 +- .../api/core/management/ResourceNames.java | 4 +- .../artemis/api/core/management/RoleInfo.java | 15 +- .../core/client/impl/ClientSessionImpl.java | 12 ++ .../core/impl/ActiveMQSessionContext.java | 7 + .../protocol/core/impl/PacketDecoder.java | 6 + .../core/protocol/core/impl/PacketImpl.java | 2 + .../impl/wireformat/CreateAddressMessage.java | 116 +++++++++++ .../activemq/artemis/core/security/Role.java | 31 ++- .../spi/core/remoting/SessionContext.java | 2 + .../artemis/utils/SecurityFormatter.java | 7 +- .../resources/activemq-version.properties | 2 +- .../jms/client/ActiveMQDestination.java | 40 ++-- .../artemis/jms/client/ActiveMQMessage.java | 29 ++- .../jms/client/ActiveMQMessageConsumer.java | 2 + .../jms/client/ActiveMQMessageProducer.java | 16 +- .../artemis/jms/client/ActiveMQQueue.java | 6 +- .../artemis/jms/client/ActiveMQSession.java | 34 ++-- .../artemis/jms/client/ActiveMQTopic.java | 4 +- .../management/impl/JMSServerControlImpl.java | 66 +++---- .../management/impl/JMSTopicControlImpl.java | 8 +- .../jms/server/impl/JMSServerManagerImpl.java | 181 +++++++++--------- .../impl/JMSManagementServiceImpl.java | 8 +- ...ResourceMultipleFileConfigurationTest.java | 2 +- ...MSResourceSingleFileConfigurationTest.java | 2 +- .../amqp/broker/ProtonProtocolManager.java | 3 +- .../amqp/converter/TestConversions.java | 2 +- .../protocol/openwire/OpenWireConnection.java | 3 +- .../protocol/openwire/amq/AMQConsumer.java | 11 +- .../protocol/openwire/amq/AMQSession.java | 7 +- .../protocol/openwire/util/OpenWireUtil.java | 19 +- .../core/protocol/stomp/StompConnection.java | 12 +- .../core/protocol/stomp/StompSession.java | 3 +- .../EmbeddedRestActiveMQJMSTest.java | 2 +- .../artemis/rest/test/EmbeddedTest.java | 2 +- .../activemq/artemis/rest/test/JMSTest.java | 20 +- .../artemis/rest/test/SelectorTest.java | 31 +-- .../activemq/artemis/rest/test/XmlTest.java | 2 +- artemis-rest/src/test/resources/broker.xml | 2 +- .../impl/ActiveMQServerControlImpl.java | 22 ++- .../core/persistence/AddressBindingInfo.java | 2 + .../core/persistence/QueueBindingInfo.java | 2 +- .../persistence/config/PersistedRoles.java | 26 ++- .../AbstractJournalStorageManager.java | 4 +- .../PersistentAddressBindingEncoding.java | 17 +- .../codec/PersistentQueueBindingEncoding.java | 14 +- .../core/postoffice/impl/PostOfficeImpl.java | 11 ++ .../postoffice/impl/SimpleAddressManager.java | 5 +- .../core/ServerSessionPacketHandler.java | 11 ++ .../artemis/core/security/CheckType.java | 6 + .../artemis/core/server/ActiveMQServer.java | 4 +- .../artemis/core/server/QueueConfig.java | 10 +- .../artemis/core/server/ServerSession.java | 3 + .../core/server/cluster/impl/BridgeImpl.java | 18 +- .../core/server/impl/ActiveMQServerImpl.java | 79 +++++--- .../artemis/core/server/impl/AddressInfo.java | 21 +- .../server/impl/PostOfficeJournalLoader.java | 3 +- .../artemis/core/server/impl/QueueImpl.java | 7 +- .../core/server/impl/ScaleDownHandler.java | 2 +- .../core/server/impl/ServerSessionImpl.java | 27 ++- .../impl/ManagementServiceImpl.java | 2 + .../core/settings/impl/AddressSettings.java | 43 ++--- .../impl/FileConfigurationParserTest.java | 2 +- .../config/impl/FileConfigurationTest.java | 4 +- .../WrongRoleFileConfigurationParserTest.java | 2 +- .../artemis/core/security/RoleTest.java | 25 ++- .../core/settings/AddressSettingsTest.java | 8 +- .../artemis/core/settings/RepositoryTest.java | 14 +- .../jms/example/ManagementExample.java | 4 +- .../jms/example/PreacknowledgeExample.java | 2 +- .../dup-send/src/main/java/PostOrder.java | 2 +- .../src/main/java/PostOrderWithId.java | 2 +- .../dup-send/src/main/java/ReceiveOrder.java | 2 +- .../messaging/test/AutoAckTopicTest.java | 2 +- .../jms-to-rest/src/main/java/JmsReceive.java | 2 +- .../jms-to-rest/src/main/java/JmsSend.java | 2 +- .../src/main/java/RestReceive.java | 2 +- .../jms-to-rest/src/main/java/RestSend.java | 2 +- .../rest/push/src/main/java/PostOrder.java | 2 +- .../rest/push/src/main/java/PushReg.java | 4 +- .../push/src/main/java/ReceiveShipping.java | 2 +- .../artemis/jms/example/ProtonCPPExample.java | 2 +- .../artemis/jms/example/AMQPQueueExample.java | 2 +- .../StompDualAuthenticationExample.java | 2 +- .../StompEmbeddedWithInterceptorExample.java | 2 +- .../artemis/jms/example/StompExample.java | 2 - .../artemis/jms/example/StompExample.java | 2 +- .../artemis/jms/example/StompExample.java | 2 +- .../artemis/jms/example/StompExample.java | 2 +- pom.xml | 2 +- .../artemiswrapper/ArtemisBrokerWrapper.java | 20 +- .../JmsQueueCompositeSendReceiveTest.java | 2 +- .../org/apache/activemq/OptimizedAckTest.java | 6 +- .../activemq/RemoveDestinationTest.java | 2 +- .../activemq/ZeroPrefetchConsumerTest.java | 2 +- .../transport/SoWriteTimeoutTest.java | 4 +- .../transport/failover/AMQ1925Test.java | 2 +- .../FailoverConsumerUnconsumedTest.java | 2 +- .../LargeMessageOverReplicationTest.java | 2 +- ...nSyncLargeMessageOverReplication2Test.java | 2 +- ...OnSyncLargeMessageOverReplicationTest.java | 2 +- .../byteman/StompInternalStateTest.java | 2 +- .../tests/extras/byteman/TimeoutXATest.java | 2 +- .../extras/jms/bridge/BridgeTestBase.java | 7 +- .../jms/bridge/ClusteredBridgeTestBase.java | 4 +- ...BMultipleHandlersServerDisconnectTest.java | 4 +- .../addressing/AddressingTest.java | 2 +- .../amqp/AmqpClientTestSupport.java | 4 +- .../amqp/AmqpDurableReceiverTest.java | 2 +- .../amqp/AmqpTempDestinationTest.java | 2 + .../amqp/ProtonMaxFrameSizeTest.java | 6 +- .../tests/integration/amqp/ProtonTest.java | 14 +- .../amqp/SendingAndReceivingTest.java | 2 +- .../cli/DestinationCommandTest.java | 4 +- .../client/AutoCreateJmsDestinationTest.java | 42 ++-- .../client/AutoDeleteJmsDestinationTest.java | 18 +- .../integration/client/HangConsumerTest.java | 4 +- .../client/InterruptedLargeMessageTest.java | 2 +- .../client/JMSMessageCounterTest.java | 5 +- .../client/JMSPagingFileDeleteTest.java | 6 +- .../client/JmsNettyNioStressTest.java | 4 +- .../client/MultipleProducersTest.java | 11 +- .../clientcrash/PendingDeliveriesTest.java | 4 +- .../cluster/bridge/BridgeTest.java | 6 +- .../cluster/distribution/ClusterTestBase.java | 4 +- .../distribution/SymmetricClusterTest.java | 22 +-- .../AutomaticColocatedQuorumVoteTest.java | 2 +- .../MultipleServerFailoverTestBase.java | 4 +- .../failover/SecurityFailoverTest.java | 2 +- .../crossprotocol/AMQPToOpenwireTest.java | 4 +- .../crossprotocol/OpenWireToAMQPTest.java | 4 +- .../divert/ReplicationWithDivertTest.java | 4 +- .../interceptors/InterceptorTest.java | 3 +- .../jms/ActiveMQConnectionFactoryTest.java | 17 +- .../integration/jms/JmsProducerTest.java | 1 - .../tests/integration/jms/RedeployTest.java | 8 +- .../jms/client/CreateQueueTest.java | 9 +- .../jms/client/TopicCleanupTest.java | 2 +- .../jms/cluster/BindingsClusterTest.java | 58 +++--- .../jms/cluster/JMSFailoverListenerTest.java | 5 +- .../jms/cluster/JMSFailoverTest.java | 7 +- .../jms/cluster/JMSReconnectTest.java | 7 +- .../cluster/LargeMessageOverBridgeTest.java | 20 +- .../cluster/TemporaryQueueClusterTest.java | 24 ++- .../jms/cluster/TopicClusterTest.java | 11 +- .../jms/consumer/ConsumerTest.java | 9 +- .../jms/divert/DivertAndACKClientTest.java | 2 +- .../jms/jms2client/NonExistentQueueTest.java | 2 +- .../management/JMSQueueControlTest.java | 2 +- .../JMSQueueControlUsingJMSTest.java | 3 +- .../management/JMSServerControl2Test.java | 20 +- .../management/JMSServerControlTest.java | 8 +- .../server/management/TopicControlTest.java | 9 +- .../management/TopicControlUsingJMSTest.java | 3 +- .../journal/DuplicateRecordIdTest.java | 2 +- .../integration/karaf/ArtemisFeatureTest.java | 2 +- .../management/ActiveMQServerControlTest.java | 10 +- .../ActiveMQServerControlUsingCoreTest.java | 14 ++ .../management/AddressControlTest.java | 4 +- .../AddressControlUsingCoreTest.java | 2 +- ...ManagementWithConfiguredAdminUserTest.java | 4 +- .../management/SecurityNotificationTest.java | 4 +- .../integration/mqtt/imported/MQTTTest.java | 2 +- .../openwire/BasicOpenWireTest.java | 8 +- .../openwire/OpenWireTestBase.java | 10 +- .../openwire/SimpleOpenWireTest.java | 18 +- .../openwire/VerySimpleOenwireTest.java | 4 +- .../amq/ProducerFlowControlSendFailTest.java | 2 +- .../openwire/amq/ProducerFlowControlTest.java | 2 +- .../integration/paging/PagingOrderTest.java | 14 +- .../integration/paging/PagingReceiveTest.java | 2 +- .../RolesConfigurationStorageTest.java | 10 +- .../integration/ra/ActiveMQClusteredTest.java | 2 +- .../ActiveMQMessageHandlerSecurityTest.java | 2 +- .../ra/ActiveMQMessageHandlerTest.java | 14 +- .../integration/ra/ActiveMQRATestBase.java | 6 +- .../tests/integration/ra/JMSContextTest.java | 2 +- .../ra/OutgoingConnectionTest.java | 2 +- .../ra/OutgoingConnectionTestJTA.java | 6 +- .../rest/RestDeserializationTest.java | 9 +- .../rest/util/QueueRestMessageContext.java | 2 +- .../rest/util/TopicRestMessageContext.java | 2 +- .../security/LDAPSecurityTest.java | 4 +- .../integration/security/SecurityTest.java | 102 +++++----- .../integration/server/ResourceLimitTest.java | 2 +- .../ssl/DualAuthenticationTest.java | 4 +- .../tests/integration/stomp/StompTest.java | 15 +- .../integration/stomp/StompTestBase.java | 8 +- .../util/AbstractStompClientConnection.java | 3 + .../integration/stomp/v11/StompV11Test.java | 4 +- .../stomp/v11/StompV11TestBase.java | 4 +- .../integration/stomp/v12/StompV12Test.java | 4 +- .../tests/util/JMSClusteredTestBase.java | 4 +- .../src/test/resources/reload-test-jms.xml | 4 +- .../resources/reload-test-updated-jms.xml | 8 +- .../jms/tests/ActiveMQServerTestCase.java | 2 +- .../artemis/jms/tests/BrowserTest.java | 2 +- .../jms/tests/MessageProducerTest.java | 2 +- .../artemis/jms/tests/SessionTest.java | 4 +- .../jms/tests/message/MessageHeaderTest.java | 5 + .../tools/container/LocalTestServer.java | 12 +- .../artemis/amqpJMS/ActiveMQAMQPAdmin.java | 4 +- .../message/headers/MessageHeaderTest.java | 4 +- .../storage/SendReceiveMultiThreadTest.java | 4 +- .../impl/WildcardAddressManagerUnitTest.java | 8 +- .../impl/ActiveMQSecurityManagerImplTest.java | 28 +-- .../unit/jms/ActiveMQDestinationTest.java | 21 +- 216 files changed, 1258 insertions(+), 850 deletions(-) create mode 100644 artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/wireformat/CreateAddressMessage.java diff --git a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/destination/DestinationAction.java b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/destination/DestinationAction.java index e161dd3c9d..55353d9e30 100644 --- a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/destination/DestinationAction.java +++ b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/destination/DestinationAction.java @@ -82,7 +82,7 @@ public abstract class DestinationAction extends ConnectionAbstract { ClientSessionFactory sessionFactory = locator.createSessionFactory(); ClientSession session = sessionFactory.createSession(user, password, false, true, true, false, ActiveMQClient.DEFAULT_ACK_BATCH_SIZE)) { session.start(); - ClientRequestor requestor = new ClientRequestor(session, "jms.queue.activemq.management"); + ClientRequestor requestor = new ClientRequestor(session, "activemq.management"); ClientMessage message = session.createMessage(false); cb.setUpInvocation(message); diff --git a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/XmlDataImporter.java b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/XmlDataImporter.java index 8cd0784000..587e4024fc 100644 --- a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/XmlDataImporter.java +++ b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/XmlDataImporter.java @@ -326,7 +326,7 @@ public final class XmlDataImporter extends ActionAbstract { // Get the ID of the queues involved so the message can be routed properly. This is done because we cannot // send directly to a queue, we have to send to an address instead but not all the queues related to the // address may need the message - try (ClientRequestor requestor = new ClientRequestor(managementSession, "jms.queue.activemq.management")) { + try (ClientRequestor requestor = new ClientRequestor(managementSession, "activemq.management")) { ClientMessage managementMessage = managementSession.createMessage(false); ManagementHelper.putAttribute(managementMessage, "core.queue." + queue, "ID"); managementSession.start(); @@ -825,7 +825,7 @@ public final class XmlDataImporter extends ActionAbstract { reader.next(); } - try (ClientRequestor requestor = new ClientRequestor(managementSession, "jms.queue.activemq.management")) { + try (ClientRequestor requestor = new ClientRequestor(managementSession, "activemq.management")) { ClientMessage managementMessage = managementSession.createMessage(false); ManagementHelper.putOperationInvocation(managementMessage, ResourceNames.JMS_SERVER, "createConnectionFactory", name, Boolean.parseBoolean(ha), discoveryGroupName.length() > 0, Integer.parseInt(type), connectors, entries, clientId, Long.parseLong(clientFailureCheckPeriod), Long.parseLong(connectionTtl), Long.parseLong(callTimeout), Long.parseLong(callFailoverTimeout), Integer.parseInt(minLargeMessageSize), Boolean.parseBoolean(compressLargeMessages), Integer.parseInt(consumerWindowSize), Integer.parseInt(consumerMaxRate), Integer.parseInt(confirmationWindowSize), Integer.parseInt(producerWindowSize), Integer.parseInt(producerMaxRate), Boolean.parseBoolean(blockOnAcknowledge), Boolean.parseBoolean(blockOnDurableSend), Boolean.parseBoolean(blockOnNonDurableSend), Boolean.parseBoolean(autoGroup), Boolean.parseBoolean(preacknowledge), loadBalancingPolicyClassName, Integer.parseInt(transactionBatchSize), Integer.parseInt(dupsOkBatchSize), Boolean.parseBoolean(useGlobalPools), Integer.parseInt(scheduledThreadMaxPoolSize), Integer.parseInt(threadMaxPoolSize), Long.parseLong(retryInterval), Double.parseDouble(retryIntervalMultiplier), Long.parseLong(maxRetryInterval), Integer.parseInt(reconnectAttempts), Boolean.parseBoolean(failoverOnInitialConnection), groupId); //Boolean.parseBoolean(cacheLargeMessagesClient)); @@ -883,7 +883,7 @@ public final class XmlDataImporter extends ActionAbstract { reader.next(); } - try (ClientRequestor requestor = new ClientRequestor(managementSession, "jms.queue.activemq.management")) { + try (ClientRequestor requestor = new ClientRequestor(managementSession, "activemq.management")) { ClientMessage managementMessage = managementSession.createMessage(false); if ("Queue".equals(type)) { ManagementHelper.putOperationInvocation(managementMessage, ResourceNames.JMS_SERVER, "createQueue", name, entries, selector); diff --git a/artemis-cli/src/test/java/org/apache/activemq/cli/test/FileBrokerTest.java b/artemis-cli/src/test/java/org/apache/activemq/cli/test/FileBrokerTest.java index 296a3d2082..a50a49fa69 100644 --- a/artemis-cli/src/test/java/org/apache/activemq/cli/test/FileBrokerTest.java +++ b/artemis-cli/src/test/java/org/apache/activemq/cli/test/FileBrokerTest.java @@ -114,7 +114,7 @@ public class FileBrokerTest { ServerLocator locator = ActiveMQClient.createServerLocator("tcp://localhost:61616"); ClientSessionFactory sf = locator.createSessionFactory(); ClientSession session = sf.createSession("myUser", "myPass", false, true, false, false, 0); - ClientProducer producer = session.createProducer("jms.queue.DLQ"); + ClientProducer producer = session.createProducer("DLQ"); producer.send(session.createMessage(true)); replacePatternInFile(path, "guest", "X"); diff --git a/artemis-cli/src/test/resources/broker-nojms.xml b/artemis-cli/src/test/resources/broker-nojms.xml index e0fcceda7f..11cb78738b 100644 --- a/artemis-cli/src/test/resources/broker-nojms.xml +++ b/artemis-cli/src/test/resources/broker-nojms.xml @@ -61,8 +61,8 @@ under the License. - jms.queue.DLQ - jms.queue.ExpiryQueue + DLQ + ExpiryQueue 0 10485760 10 diff --git a/artemis-cli/src/test/resources/broker-reload.xml b/artemis-cli/src/test/resources/broker-reload.xml index 3063f5f6a4..93f909cb90 100644 --- a/artemis-cli/src/test/resources/broker-reload.xml +++ b/artemis-cli/src/test/resources/broker-reload.xml @@ -64,8 +64,8 @@ under the License. - jms.queue.DLQ - jms.queue.ExpiryQueue + DLQ + ExpiryQueue 0 10485760 10 diff --git a/artemis-cli/src/test/resources/broker.xml b/artemis-cli/src/test/resources/broker.xml index de51e9a36c..d4e2400726 100644 --- a/artemis-cli/src/test/resources/broker.xml +++ b/artemis-cli/src/test/resources/broker.xml @@ -65,8 +65,8 @@ under the License. - jms.queue.DLQ - jms.queue.ExpiryQueue + DLQ + ExpiryQueue 0 10485760 10 diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/config/ActiveMQDefaultConfiguration.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/config/ActiveMQDefaultConfiguration.java index 52077f562a..979163485f 100644 --- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/config/ActiveMQDefaultConfiguration.java +++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/config/ActiveMQDefaultConfiguration.java @@ -157,8 +157,7 @@ public final class ActiveMQDefaultConfiguration { // true means that the server supports wild card routing private static boolean DEFAULT_WILDCARD_ROUTING_ENABLED = true; - // the name of the management address to send management messages to. It is prefixed with "jms.queue" so that JMS clients can send messages to it. - private static SimpleString DEFAULT_MANAGEMENT_ADDRESS = new SimpleString("jms.queue.activemq.management"); + private static SimpleString DEFAULT_MANAGEMENT_ADDRESS = new SimpleString("activemq.management"); // the name of the address that consumers bind to receive management notifications private static SimpleString DEFAULT_MANAGEMENT_NOTIFICATION_ADDRESS = new SimpleString("activemq.notifications"); diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/client/ClientSession.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/client/ClientSession.java index dd1c45cb56..fbd33d356c 100644 --- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/client/ClientSession.java +++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/client/ClientSession.java @@ -198,6 +198,8 @@ public interface ClientSession extends XAResource, AutoCloseable { */ int getVersion(); + void createAddress(final SimpleString address, final boolean multicast) throws ActiveMQException; + // Queue Operations ---------------------------------------------- /** diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.java index 075a5ef8e6..87a4a79b66 100644 --- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.java +++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.java @@ -747,6 +747,18 @@ public interface ActiveMQServerControl { @Parameter(desc = "a comma-separated list of roles allowed to send management messages messages", name = "manage") String manageRoles, @Parameter(desc = "a comma-separated list of roles allowed to browse queues", name = "browse") String browseRoles) throws Exception; + @Operation(desc = "Add security settings for addresses matching the addressMatch", impact = MBeanOperationInfo.ACTION) + void addSecuritySettings(@Parameter(desc = "an address match", name = "addressMatch") String addressMatch, + @Parameter(desc = "a comma-separated list of roles allowed to send messages", name = "send") String sendRoles, + @Parameter(desc = "a comma-separated list of roles allowed to consume messages", name = "consume") String consumeRoles, + @Parameter(desc = "a comma-separated list of roles allowed to create durable queues", name = "createDurableQueueRoles") String createDurableQueueRoles, + @Parameter(desc = "a comma-separated list of roles allowed to delete durable queues", name = "deleteDurableQueueRoles") String deleteDurableQueueRoles, + @Parameter(desc = "a comma-separated list of roles allowed to create non durable queues", name = "createNonDurableQueueRoles") String createNonDurableQueueRoles, + @Parameter(desc = "a comma-separated list of roles allowed to delete non durable queues", name = "deleteNonDurableQueueRoles") String deleteNonDurableQueueRoles, + @Parameter(desc = "a comma-separated list of roles allowed to send management messages messages", name = "manage") String manageRoles, + @Parameter(desc = "a comma-separated list of roles allowed to browse queues", name = "browse") String browseRoles, + @Parameter(desc = "a comma-separated list of roles allowed to create addresses", name = "createAddressRoles") String createAddressRoles) throws Exception; + @Operation(desc = "Remove security settings for an address", impact = MBeanOperationInfo.ACTION) void removeSecuritySettings(@Parameter(desc = "an address match", name = "addressMatch") String addressMatch) throws Exception; diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/AddressSettingsInfo.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/AddressSettingsInfo.java index b182470e9e..7c2b07450c 100644 --- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/AddressSettingsInfo.java +++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/AddressSettingsInfo.java @@ -67,7 +67,7 @@ public final class AddressSettingsInfo { public static AddressSettingsInfo from(final String jsonString) { JsonObject object = JsonUtil.readJsonObject(jsonString); - return new AddressSettingsInfo(object.getString("addressFullMessagePolicy"), object.getJsonNumber("maxSizeBytes").longValue(), object.getInt("pageSizeBytes"), object.getInt("pageCacheMaxSize"), object.getInt("maxDeliveryAttempts"), object.getJsonNumber("redeliveryDelay").longValue(), object.getJsonNumber("redeliveryMultiplier").doubleValue(), object.getJsonNumber("maxRedeliveryDelay").longValue(), object.getString("DLA"), object.getString("expiryAddress"), object.getBoolean("lastValueQueue"), object.getJsonNumber("redistributionDelay").longValue(), object.getBoolean("sendToDLAOnNoRoute"), object.getJsonNumber("slowConsumerThreshold").longValue(), object.getJsonNumber("slowConsumerCheckPeriod").longValue(), object.getString("slowConsumerPolicy"), object.getBoolean("autoCreateJmsQueues"), object.getBoolean("autoDeleteJmsQueues"), object.getBoolean("autoCreateJmsTopics"), object.getBoolean("autoDeleteJmsTopics")); + return new AddressSettingsInfo(object.getString("addressFullMessagePolicy"), object.getJsonNumber("maxSizeBytes").longValue(), object.getInt("pageSizeBytes"), object.getInt("pageCacheMaxSize"), object.getInt("maxDeliveryAttempts"), object.getJsonNumber("redeliveryDelay").longValue(), object.getJsonNumber("redeliveryMultiplier").doubleValue(), object.getJsonNumber("maxRedeliveryDelay").longValue(), object.getString("DLA"), object.getString("expiryAddress"), object.getBoolean("lastValueQueue"), object.getJsonNumber("redistributionDelay").longValue(), object.getBoolean("sendToDLAOnNoRoute"), object.getJsonNumber("slowConsumerThreshold").longValue(), object.getJsonNumber("slowConsumerCheckPeriod").longValue(), object.getString("slowConsumerPolicy"), object.getBoolean("autoCreateJmsQueues"), object.getBoolean("autoCreateJmsTopics"), object.getBoolean("autoDeleteJmsQueues"), object.getBoolean("autoDeleteJmsTopics")); } // Constructors -------------------------------------------------- @@ -89,8 +89,8 @@ public final class AddressSettingsInfo { long slowConsumerCheckPeriod, String slowConsumerPolicy, boolean autoCreateJmsQueues, - boolean autoDeleteJmsQueues, boolean autoCreateJmsTopics, + boolean autoDeleteJmsQueues, boolean autoDeleteJmsTopics) { this.addressFullMessagePolicy = addressFullMessagePolicy; this.maxSizeBytes = maxSizeBytes; diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ResourceNames.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ResourceNames.java index 37f74ed674..a8c7632c66 100644 --- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ResourceNames.java +++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ResourceNames.java @@ -44,9 +44,9 @@ public final class ResourceNames { public static final String JMS_SERVER = "jms.server"; - public static final String JMS_QUEUE = "jms.queue."; +// public static final String JMS_QUEUE = "jms.queue."; - public static final String JMS_TOPIC = "jms.topic."; +// public static final String JMS_TOPIC = "jms.topic."; public static final String JMS_CONNECTION_FACTORY = "jms.connectionfactory."; diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/RoleInfo.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/RoleInfo.java index d3fc9dbc8f..bbf12aa188 100644 --- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/RoleInfo.java +++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/RoleInfo.java @@ -45,6 +45,8 @@ public final class RoleInfo { private final boolean browse; + private final boolean createAddress; + /** * Returns an array of RoleInfo corresponding to the JSON serialization returned * by {@link AddressControl#getRolesAsJSON()}. @@ -54,7 +56,7 @@ public final class RoleInfo { RoleInfo[] roles = new RoleInfo[array.size()]; for (int i = 0; i < array.size(); i++) { JsonObject r = array.getJsonObject(i); - RoleInfo role = new RoleInfo(r.getString("name"), r.getBoolean("send"), r.getBoolean("consume"), r.getBoolean("createDurableQueue"), r.getBoolean("deleteDurableQueue"), r.getBoolean("createNonDurableQueue"), r.getBoolean("deleteNonDurableQueue"), r.getBoolean("manage"), r.getBoolean("browse")); + RoleInfo role = new RoleInfo(r.getString("name"), r.getBoolean("send"), r.getBoolean("consume"), r.getBoolean("createDurableQueue"), r.getBoolean("deleteDurableQueue"), r.getBoolean("createNonDurableQueue"), r.getBoolean("deleteNonDurableQueue"), r.getBoolean("manage"), r.getBoolean("browse"), r.getBoolean("createAddress")); roles[i] = role; } return roles; @@ -68,7 +70,8 @@ public final class RoleInfo { final boolean createNonDurableQueue, final boolean deleteNonDurableQueue, final boolean manage, - final boolean browse) { + final boolean browse, + final boolean createAddress) { this.name = name; this.send = send; this.consume = consume; @@ -78,6 +81,7 @@ public final class RoleInfo { this.deleteNonDurableQueue = deleteNonDurableQueue; this.manage = manage; this.browse = browse; + this.createAddress = createAddress; } /** @@ -142,4 +146,11 @@ public final class RoleInfo { public boolean isBrowse() { return browse; } + + /** + * Returns whether this role can create addresses. + */ + public boolean isCreateAddress() { + return createAddress; + } } diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl/ClientSessionImpl.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl/ClientSessionImpl.java index fd6355a822..2739109e1c 100644 --- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl/ClientSessionImpl.java +++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl/ClientSessionImpl.java @@ -278,6 +278,18 @@ public final class ClientSessionImpl implements ClientSessionInternal, FailureLi } + @Override + public void createAddress(final SimpleString address, final boolean multicast) throws ActiveMQException { + checkClosed(); + + startCall(); + try { + sessionContext.createAddress(address, multicast); + } finally { + endCall(); + } + } + @Override public void createQueue(final SimpleString address, final SimpleString queueName, diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/ActiveMQSessionContext.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/ActiveMQSessionContext.java index 56c7135a32..4e250373fd 100644 --- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/ActiveMQSessionContext.java +++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/ActiveMQSessionContext.java @@ -50,6 +50,7 @@ import org.apache.activemq.artemis.core.protocol.core.CommandConfirmationHandler import org.apache.activemq.artemis.core.protocol.core.CoreRemotingConnection; import org.apache.activemq.artemis.core.protocol.core.Packet; import org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ActiveMQExceptionMessage; +import org.apache.activemq.artemis.core.protocol.core.impl.wireformat.CreateAddressMessage; import org.apache.activemq.artemis.core.protocol.core.impl.wireformat.CreateQueueMessage; import org.apache.activemq.artemis.core.protocol.core.impl.wireformat.CreateSessionMessage; import org.apache.activemq.artemis.core.protocol.core.impl.wireformat.CreateSharedQueueMessage; @@ -582,6 +583,12 @@ public class ActiveMQSessionContext extends SessionContext { return response.getTimeoutSeconds(); } + @Override + public void createAddress(SimpleString address, final boolean multicast) throws ActiveMQException { + CreateAddressMessage request = new CreateAddressMessage(address, multicast, true); + sessionChannel.sendBlocking(request, PacketImpl.NULL_RESPONSE); + } + @Override public void createQueue(SimpleString address, SimpleString queueName, diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/PacketDecoder.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/PacketDecoder.java index 54c2022ab2..834822cb60 100644 --- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/PacketDecoder.java +++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/PacketDecoder.java @@ -27,6 +27,7 @@ import org.apache.activemq.artemis.core.protocol.core.impl.wireformat.CheckFailo import org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage; import org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V2; import org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V3; +import org.apache.activemq.artemis.core.protocol.core.impl.wireformat.CreateAddressMessage; import org.apache.activemq.artemis.core.protocol.core.impl.wireformat.CreateQueueMessage; import org.apache.activemq.artemis.core.protocol.core.impl.wireformat.CreateSessionMessage; import org.apache.activemq.artemis.core.protocol.core.impl.wireformat.CreateSessionResponseMessage; @@ -88,6 +89,7 @@ import static org.apache.activemq.artemis.core.protocol.core.impl.PacketImpl.CLU import static org.apache.activemq.artemis.core.protocol.core.impl.PacketImpl.CLUSTER_TOPOLOGY_V3; import static org.apache.activemq.artemis.core.protocol.core.impl.PacketImpl.CREATESESSION; import static org.apache.activemq.artemis.core.protocol.core.impl.PacketImpl.CREATESESSION_RESP; +import static org.apache.activemq.artemis.core.protocol.core.impl.PacketImpl.CREATE_ADDRESS; import static org.apache.activemq.artemis.core.protocol.core.impl.PacketImpl.CREATE_QUEUE; import static org.apache.activemq.artemis.core.protocol.core.impl.PacketImpl.CREATE_SHARED_QUEUE; import static org.apache.activemq.artemis.core.protocol.core.impl.PacketImpl.DELETE_QUEUE; @@ -235,6 +237,10 @@ public abstract class PacketDecoder implements Serializable { packet = new SessionQueueQueryResponseMessage_V2(); break; } + case CREATE_ADDRESS: { + packet = new CreateAddressMessage(); + break; + } case CREATE_QUEUE: { packet = new CreateQueueMessage(); break; diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/PacketImpl.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/PacketImpl.java index 6dddf3bd4b..e07d9b5cfc 100644 --- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/PacketImpl.java +++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/PacketImpl.java @@ -249,6 +249,8 @@ public class PacketImpl implements Packet { public static final byte SESS_BINDINGQUERY_RESP_V3 = -10; + public static final byte CREATE_ADDRESS = -11; + // Static -------------------------------------------------------- public PacketImpl(final byte type) { diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/wireformat/CreateAddressMessage.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/wireformat/CreateAddressMessage.java new file mode 100644 index 0000000000..484a2ac0c9 --- /dev/null +++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/wireformat/CreateAddressMessage.java @@ -0,0 +1,116 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.activemq.artemis.core.protocol.core.impl.wireformat; + +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.protocol.core.impl.PacketImpl; + +public class CreateAddressMessage extends PacketImpl { + + private SimpleString address; + + private boolean multicast; + + private boolean requiresResponse; + + public CreateAddressMessage(final SimpleString address, + final boolean multicast, + final boolean requiresResponse) { + this(); + + this.address = address; + this.multicast = multicast; + this.requiresResponse = requiresResponse; + } + + public CreateAddressMessage() { + super(CREATE_ADDRESS); + } + + // Public -------------------------------------------------------- + + @Override + public String toString() { + StringBuffer buff = new StringBuffer(getParentString()); + buff.append(", address=" + address); + buff.append(", multicast=" + multicast); + buff.append("]"); + return buff.toString(); + } + + public SimpleString getAddress() { + return address; + } + + public boolean isMulticast() { + return multicast; + } + + public boolean isRequiresResponse() { + return requiresResponse; + } + + public void setAddress(SimpleString address) { + this.address = address; + } + + @Override + public void encodeRest(final ActiveMQBuffer buffer) { + buffer.writeSimpleString(address); + buffer.writeBoolean(multicast); + buffer.writeBoolean(requiresResponse); + } + + @Override + public void decodeRest(final ActiveMQBuffer buffer) { + address = buffer.readSimpleString(); + multicast = buffer.readBoolean(); + requiresResponse = buffer.readBoolean(); + } + + @Override + public int hashCode() { + final int prime = 31; + int result = super.hashCode(); + result = prime * result + ((address == null) ? 0 : address.hashCode()); + result = prime * result + (multicast ? 1231 : 1237); + result = prime * result + (requiresResponse ? 1231 : 1237); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (!super.equals(obj)) + return false; + if (!(obj instanceof CreateAddressMessage)) + return false; + CreateAddressMessage other = (CreateAddressMessage) obj; + if (address == null) { + if (other.address != null) + return false; + } else if (!address.equals(other.address)) + return false; + if (multicast != other.multicast) + return false; + if (requiresResponse != other.requiresResponse) + return false; + return true; + } +} diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/security/Role.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/security/Role.java index 2efddfaac0..2792d526db 100644 --- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/security/Role.java +++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/security/Role.java @@ -34,6 +34,8 @@ public class Role implements Serializable { private final boolean consume; + private final boolean createAddress; + private final boolean createDurableQueue; private final boolean deleteDurableQueue; @@ -47,7 +49,7 @@ public class Role implements Serializable { private final boolean browse; public JsonObject toJson() { - return JsonLoader.createObjectBuilder().add("name", name).add("send", send).add("consume", consume).add("createDurableQueue", createDurableQueue).add("deleteDurableQueue", deleteDurableQueue).add("createNonDurableQueue", createNonDurableQueue).add("deleteNonDurableQueue", deleteNonDurableQueue).add("manage", manage).add("browse", browse).build(); + return JsonLoader.createObjectBuilder().add("name", name).add("send", send).add("consume", consume).add("createDurableQueue", createDurableQueue).add("deleteDurableQueue", deleteDurableQueue).add("createNonDurableQueue", createNonDurableQueue).add("deleteNonDurableQueue", deleteNonDurableQueue).add("manage", manage).add("browse", browse).add("createAddress", createAddress).build(); } /** @@ -84,12 +86,28 @@ public class Role implements Serializable { final boolean deleteNonDurableQueue, final boolean manage, final boolean browse) { + // This constructor exists for version compatibility on the API. If either createDurableQueue or createNonDurableQueue + // is true then createAddress will be true. + this(name, send, consume, createDurableQueue, deleteDurableQueue, createNonDurableQueue, deleteNonDurableQueue, manage, browse, createDurableQueue || createNonDurableQueue); + } + + public Role(final String name, + final boolean send, + final boolean consume, + final boolean createDurableQueue, + final boolean deleteDurableQueue, + final boolean createNonDurableQueue, + final boolean deleteNonDurableQueue, + final boolean manage, + final boolean browse, + final boolean createAddress) { if (name == null) { throw new NullPointerException("name is null"); } this.name = name; this.send = send; this.consume = consume; + this.createAddress = createAddress; this.createDurableQueue = createDurableQueue; this.deleteDurableQueue = deleteDurableQueue; this.createNonDurableQueue = createNonDurableQueue; @@ -110,6 +128,10 @@ public class Role implements Serializable { return consume; } + public boolean isCreateAddress() { + return createAddress; + } + public boolean isCreateDurableQueue() { return createDurableQueue; } @@ -136,6 +158,9 @@ public class Role implements Serializable { if (consume) { stringReturn.append(" consume "); } + if (createAddress) { + stringReturn.append(" createAddress "); + } if (createDurableQueue) { stringReturn.append(" createDurableQueue "); } @@ -174,6 +199,9 @@ public class Role implements Serializable { if (consume != role.consume) { return false; } + if (createAddress != role.createAddress) { + return false; + } if (createDurableQueue != role.createDurableQueue) { return false; } @@ -208,6 +236,7 @@ public class Role implements Serializable { result = name.hashCode(); result = 31 * result + (send ? 1 : 0); result = 31 * result + (consume ? 1 : 0); + result = 31 * result + (createAddress ? 1 : 0); result = 31 * result + (createDurableQueue ? 1 : 0); result = 31 * result + (deleteDurableQueue ? 1 : 0); result = 31 * result + (createNonDurableQueue ? 1 : 0); diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/spi/core/remoting/SessionContext.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/spi/core/remoting/SessionContext.java index 1f15cc6893..79d50c1c0f 100644 --- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/spi/core/remoting/SessionContext.java +++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/spi/core/remoting/SessionContext.java @@ -166,6 +166,8 @@ public abstract class SessionContext { public abstract void deleteQueue(SimpleString queueName) throws ActiveMQException; + public abstract void createAddress(SimpleString address, boolean multicast) throws ActiveMQException; + public abstract void createQueue(SimpleString address, SimpleString queueName, SimpleString filterString, diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/utils/SecurityFormatter.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/utils/SecurityFormatter.java index b4fe5815b2..7e9ff32255 100644 --- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/utils/SecurityFormatter.java +++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/utils/SecurityFormatter.java @@ -32,7 +32,8 @@ public class SecurityFormatter { String createNonDurableQueueRoles, String deleteNonDurableQueueRoles, String manageRoles, - String browseRoles) { + String browseRoles, + String createAddressRoles) { List createDurableQueue = toList(createDurableQueueRoles); List deleteDurableQueue = toList(deleteDurableQueueRoles); List createNonDurableQueue = toList(createNonDurableQueueRoles); @@ -41,6 +42,7 @@ public class SecurityFormatter { List consume = toList(consumeRoles); List manage = toList(manageRoles); List browse = toList(browseRoles); + List createAddress = toList(createAddressRoles); Set allRoles = new HashSet<>(); allRoles.addAll(createDurableQueue); @@ -51,10 +53,11 @@ public class SecurityFormatter { allRoles.addAll(consume); allRoles.addAll(manage); allRoles.addAll(browse); + allRoles.addAll(createAddress); Set roles = new HashSet<>(allRoles.size()); for (String role : allRoles) { - roles.add(new Role(role, send.contains(role), consume.contains(role), createDurableQueue.contains(role), deleteDurableQueue.contains(role), createNonDurableQueue.contains(role), deleteNonDurableQueue.contains(role), manageRoles.contains(role), browse.contains(role))); + roles.add(new Role(role, send.contains(role), consume.contains(role), createDurableQueue.contains(role), deleteDurableQueue.contains(role), createNonDurableQueue.contains(role), deleteNonDurableQueue.contains(role), manageRoles.contains(role), browse.contains(role), createAddressRoles.contains(role))); } return roles; } diff --git a/artemis-core-client/src/main/resources/activemq-version.properties b/artemis-core-client/src/main/resources/activemq-version.properties index b6f4af27c2..a39b4220eb 100644 --- a/artemis-core-client/src/main/resources/activemq-version.properties +++ b/artemis-core-client/src/main/resources/activemq-version.properties @@ -20,4 +20,4 @@ activemq.version.minorVersion=${activemq.version.minorVersion} activemq.version.microVersion=${activemq.version.microVersion} activemq.version.incrementingVersion=${activemq.version.incrementingVersion} activemq.version.versionTag=${activemq.version.versionTag} -activemq.version.compatibleVersionList=121,122,123,124,125,126,127,128 +activemq.version.compatibleVersionList=121,122,123,124,125,126,127,128,129 diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQDestination.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQDestination.java index 4aed49f881..37b0a98bc4 100644 --- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQDestination.java +++ b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQDestination.java @@ -43,13 +43,13 @@ public class ActiveMQDestination implements Destination, Serializable, Reference */ private static final long serialVersionUID = 5027962425462382883L; - public static final String JMS_QUEUE_ADDRESS_PREFIX = "jms.queue."; +// public static final String JMS_QUEUE_ADDRESS_PREFIX = "jms.queue."; - public static final String JMS_TEMP_QUEUE_ADDRESS_PREFIX = "jms.tempqueue."; +// public static final String JMS_TEMP_QUEUE_ADDRESS_PREFIX = "jms.tempqueue."; - public static final String JMS_TOPIC_ADDRESS_PREFIX = "jms.topic."; +// public static final String JMS_TOPIC_ADDRESS_PREFIX = "jms.topic."; - public static final String JMS_TEMP_TOPIC_ADDRESS_PREFIX = "jms.temptopic."; +// public static final String JMS_TEMP_TOPIC_ADDRESS_PREFIX = "jms.temptopic."; public static final String QUEUE_QUALIFIED_PREFIX = "queue://"; public static final String TOPIC_QUALIFIED_PREFIX = "topic://"; @@ -98,23 +98,23 @@ public class ActiveMQDestination implements Destination, Serializable, Reference } } - public static Destination fromAddress(final String address) { - if (address.startsWith(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX)) { - String name = address.substring(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX.length()); + public static Destination fromPrefixedName(final String address) { + if (address.startsWith(ActiveMQDestination.QUEUE_QUALIFIED_PREFIX)) { + String name = address.substring(ActiveMQDestination.QUEUE_QUALIFIED_PREFIX.length()); return createQueue(name); - } else if (address.startsWith(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX)) { - String name = address.substring(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX.length()); + } else if (address.startsWith(ActiveMQDestination.TOPIC_QUALIFIED_PREFIX)) { + String name = address.substring(ActiveMQDestination.TOPIC_QUALIFIED_PREFIX.length()); return createTopic(name); - } else if (address.startsWith(ActiveMQDestination.JMS_TEMP_QUEUE_ADDRESS_PREFIX)) { - String name = address.substring(ActiveMQDestination.JMS_TEMP_QUEUE_ADDRESS_PREFIX.length()); + } else if (address.startsWith(ActiveMQDestination.TEMP_QUEUE_QUALIFED_PREFIX)) { + String name = address.substring(ActiveMQDestination.TEMP_QUEUE_QUALIFED_PREFIX.length()); - return new ActiveMQTemporaryQueue(address, name, null); - } else if (address.startsWith(ActiveMQDestination.JMS_TEMP_TOPIC_ADDRESS_PREFIX)) { - String name = address.substring(ActiveMQDestination.JMS_TEMP_TOPIC_ADDRESS_PREFIX.length()); + return new ActiveMQTemporaryQueue(name, name, null); + } else if (address.startsWith(ActiveMQDestination.TEMP_TOPIC_QUALIFED_PREFIX)) { + String name = address.substring(ActiveMQDestination.TEMP_TOPIC_QUALIFED_PREFIX.length()); - return new ActiveMQTemporaryTopic(address, name, null); + return new ActiveMQTemporaryTopic(name, name, null); } else { throw new JMSRuntimeException("Invalid address " + address); } @@ -202,11 +202,11 @@ public class ActiveMQDestination implements Destination, Serializable, Reference } public static SimpleString createQueueAddressFromName(final String name) { - return new SimpleString(JMS_QUEUE_ADDRESS_PREFIX + name); + return new SimpleString(QUEUE_QUALIFIED_PREFIX + name); } public static SimpleString createTopicAddressFromName(final String name) { - return new SimpleString(JMS_TOPIC_ADDRESS_PREFIX + name); + return new SimpleString(TOPIC_QUALIFIED_PREFIX + name); } public static ActiveMQQueue createQueue(final String name) { @@ -218,11 +218,11 @@ public class ActiveMQDestination implements Destination, Serializable, Reference } public static ActiveMQTemporaryQueue createTemporaryQueue(final String name, final ActiveMQSession session) { - return new ActiveMQTemporaryQueue(JMS_TEMP_QUEUE_ADDRESS_PREFIX.concat(name), name, session); + return new ActiveMQTemporaryQueue(name, name, session); } public static ActiveMQTemporaryQueue createTemporaryQueue(final String name) { - return createTemporaryQueue(name, null); + return createTemporaryQueue(/*TEMP_QUEUE_QUALIFED_PREFIX + */name, null); } public static ActiveMQTemporaryQueue createTemporaryQueue(final ActiveMQSession session) { @@ -238,7 +238,7 @@ public class ActiveMQDestination implements Destination, Serializable, Reference } public static ActiveMQTemporaryTopic createTemporaryTopic(String name, final ActiveMQSession session) { - return new ActiveMQTemporaryTopic(JMS_TEMP_TOPIC_ADDRESS_PREFIX.concat(name), name, session); + return new ActiveMQTemporaryTopic(/*TEMP_TOPIC_QUALIFED_PREFIX + */name, name, session); } public static ActiveMQTemporaryTopic createTemporaryTopic(String name) { diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessage.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessage.java index 12b129659d..283f95832f 100644 --- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessage.java +++ b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessage.java @@ -47,6 +47,11 @@ import org.apache.activemq.artemis.core.message.impl.MessageInternal; import org.apache.activemq.artemis.reader.MessageUtil; import org.apache.activemq.artemis.utils.UUID; +import static org.apache.activemq.artemis.jms.client.ActiveMQDestination.QUEUE_QUALIFIED_PREFIX; +import static org.apache.activemq.artemis.jms.client.ActiveMQDestination.TEMP_QUEUE_QUALIFED_PREFIX; +import static org.apache.activemq.artemis.jms.client.ActiveMQDestination.TEMP_TOPIC_QUALIFED_PREFIX; +import static org.apache.activemq.artemis.jms.client.ActiveMQDestination.TOPIC_QUALIFIED_PREFIX; + /** * ActiveMQ Artemis implementation of a JMS Message. *
@@ -196,6 +201,8 @@ public class ActiveMQMessage implements javax.jms.Message { private long jmsDeliveryTime; + private boolean fromQueue; + // Constructors -------------------------------------------------- /* @@ -353,7 +360,7 @@ public class ActiveMQMessage implements javax.jms.Message { SimpleString repl = MessageUtil.getJMSReplyTo(message); if (repl != null) { - replyTo = ActiveMQDestination.fromAddress(repl.toString()); + replyTo = ActiveMQDestination.fromPrefixedName(repl.toString()); } } return replyTo; @@ -370,9 +377,19 @@ public class ActiveMQMessage implements javax.jms.Message { throw new InvalidDestinationException("Foreign destination " + dest); } + String prefix = ""; + if (dest instanceof ActiveMQTemporaryQueue) { + prefix = TEMP_QUEUE_QUALIFED_PREFIX; + } else if (dest instanceof ActiveMQQueue) { + prefix = QUEUE_QUALIFIED_PREFIX; + } else if (dest instanceof ActiveMQTemporaryTopic) { + prefix = TEMP_TOPIC_QUALIFED_PREFIX; + } else if (dest instanceof ActiveMQTopic) { + prefix = TOPIC_QUALIFIED_PREFIX; + } ActiveMQDestination jbd = (ActiveMQDestination) dest; - MessageUtil.setJMSReplyTo(message, jbd.getSimpleAddress()); + MessageUtil.setJMSReplyTo(message, SimpleString.toSimpleString(prefix + jbd.getAddress())); replyTo = jbd; } @@ -381,9 +398,9 @@ public class ActiveMQMessage implements javax.jms.Message { @Override public Destination getJMSDestination() throws JMSException { if (dest == null) { - SimpleString sdest = message.getAddress(); + SimpleString address = message.getAddress(); - dest = sdest == null ? null : ActiveMQDestination.fromAddress(sdest.toString()); + dest = address == null ? null : ActiveMQDestination.fromPrefixedName((fromQueue ? QUEUE_QUALIFIED_PREFIX : TOPIC_QUALIFIED_PREFIX) + address.toString()); } return dest; @@ -762,6 +779,10 @@ public class ActiveMQMessage implements javax.jms.Message { // Public -------------------------------------------------------- + public void setFromQueue(boolean fromQueue) { + this.fromQueue = fromQueue; + } + public void setIndividualAcknowledge() { this.individualAck = true; } diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessageConsumer.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessageConsumer.java index 8bc1fd8181..b449aeaacc 100644 --- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessageConsumer.java +++ b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessageConsumer.java @@ -240,6 +240,8 @@ public final class ActiveMQMessageConsumer implements QueueReceiver, TopicSubscr } else { coreMessage.acknowledge(); } + + jmsMsg.setFromQueue(destination instanceof ActiveMQQueue); } return jmsMsg; diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessageProducer.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessageProducer.java index 270cc9f59b..c552d69b55 100644 --- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessageProducer.java +++ b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessageProducer.java @@ -403,9 +403,19 @@ public class ActiveMQMessageProducer implements MessageProducer, QueueSender, To try { ClientSession.AddressQuery query = clientSession.addressQuery(address); - // if it's autoCreateJMSQueue we will let the PostOffice.route to execute the creation at the server's side - // as that's a more efficient path for such operation - if (!query.isExists() && ((address.toString().startsWith(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX) && !query.isAutoCreateJmsQueues()) || (address.toString().startsWith(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX) && !query.isAutoCreateJmsTopics()))) { + if (!query.isExists() && query.isAutoCreateJmsQueues()) { + if (destination.isQueue() && !destination.isTemporary()) { + clientSession.createAddress(address, false); + clientSession.createQueue(address, address, null, true); + } else if (destination.isQueue() && destination.isTemporary()) { + clientSession.createAddress(address, false); + clientSession.createTemporaryQueue(address, address); + } else if (!destination.isQueue() && !destination.isTemporary()) { + clientSession.createAddress(address, true); + } else if (!destination.isQueue() && destination.isTemporary()) { + clientSession.createAddress(address, true); + } + } else if (!query.isExists() && !query.isAutoCreateJmsQueues()) { throw new InvalidDestinationException("Destination " + address + " does not exist"); } else { connection.addKnownDestination(address); diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQQueue.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQQueue.java index c7a5728593..2632daed1c 100644 --- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQQueue.java +++ b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQQueue.java @@ -33,7 +33,7 @@ public class ActiveMQQueue extends ActiveMQDestination implements Queue { // Static -------------------------------------------------------- public static SimpleString createAddressFromName(final String name) { - return new SimpleString(JMS_QUEUE_ADDRESS_PREFIX + name); + return new SimpleString(name); } // Attributes ---------------------------------------------------- @@ -41,11 +41,11 @@ public class ActiveMQQueue extends ActiveMQDestination implements Queue { // Constructors -------------------------------------------------- public ActiveMQQueue(final String name) { - super(JMS_QUEUE_ADDRESS_PREFIX + name, name, false, true, null); + super(name, name, false, true, null); } public ActiveMQQueue(final String name, boolean temporary) { - super(JMS_QUEUE_ADDRESS_PREFIX + name, name, temporary, true, null); + super(name, name, temporary, true, null); } /** diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQSession.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQSession.java index 47d151225f..d40ca21367 100644 --- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQSession.java +++ b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQSession.java @@ -299,7 +299,15 @@ public class ActiveMQSession implements QueueSession, TopicSession { if (jbd != null) { ClientSession.AddressQuery response = session.addressQuery(jbd.getSimpleAddress()); - if (!response.isExists() && ((jbd.getAddress().startsWith(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX) && !response.isAutoCreateJmsQueues()) || (jbd.getAddress().startsWith(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX) && !response.isAutoCreateJmsTopics()))) { + if (!response.isExists() && response.isAutoCreateJmsQueues()) { + if (jbd.isQueue()) { + session.createAddress(jbd.getSimpleAddress(), false); + session.createQueue(jbd.getSimpleAddress(), jbd.getSimpleAddress(), null, true); + } else { + session.createAddress(jbd.getSimpleAddress(), true); + } + + } else if (!response.isExists() && !response.isAutoCreateJmsQueues()) { throw new InvalidDestinationException("Destination " + jbd.getName() + " does not exist"); } @@ -559,7 +567,7 @@ public class ActiveMQSession implements QueueSession, TopicSession { AddressQuery response = session.addressQuery(dest.getSimpleAddress()); - if (!response.isExists()) { + if (!response.isExists() && !response.isAutoCreateJmsTopics()) { throw ActiveMQJMSClientBundle.BUNDLE.destinationDoesNotExist(dest.getSimpleAddress()); } @@ -652,8 +660,12 @@ public class ActiveMQSession implements QueueSession, TopicSession { } else { AddressQuery response = session.addressQuery(dest.getSimpleAddress()); - if (!response.isExists() && !response.isAutoCreateJmsTopics()) { - throw new InvalidDestinationException("Topic " + dest.getName() + " does not exist"); + if (!response.isExists()) { + if (response.isAutoCreateJmsQueues()) { + session.createAddress(dest.getSimpleAddress(), true); + } else { + throw new InvalidDestinationException("Topic " + dest.getName() + " does not exist"); + } } connection.addKnownDestination(dest.getSimpleAddress()); @@ -774,26 +786,26 @@ public class ActiveMQSession implements QueueSession, TopicSession { throw JMSExceptionHelper.convertFromActiveMQException(ActiveMQJMSClientBundle.BUNDLE.invalidFilter(e, new SimpleString(filterString))); } - ActiveMQDestination jbq = (ActiveMQDestination) queue; + ActiveMQDestination activeMQDestination = (ActiveMQDestination) queue; - if (!jbq.isQueue()) { + if (!activeMQDestination.isQueue()) { throw new InvalidDestinationException("Cannot create a browser on a topic"); } try { - AddressQuery response = session.addressQuery(new SimpleString(jbq.getAddress())); + AddressQuery response = session.addressQuery(new SimpleString(activeMQDestination.getAddress())); if (!response.isExists()) { if (response.isAutoCreateJmsQueues()) { - session.createQueue(jbq.getSimpleAddress(), jbq.getSimpleAddress(), true); + session.createQueue(activeMQDestination.getSimpleAddress(), activeMQDestination.getSimpleAddress(), true); } else { - throw new InvalidDestinationException("Destination " + jbq.getName() + " does not exist"); + throw new InvalidDestinationException("Destination " + activeMQDestination.getName() + " does not exist"); } } } catch (ActiveMQException e) { throw JMSExceptionHelper.convertFromActiveMQException(e); } - return new ActiveMQQueueBrowser(options, (ActiveMQQueue) jbq, filterString, session); + return new ActiveMQQueueBrowser(options, (ActiveMQQueue) activeMQDestination, filterString, session); } @@ -1082,7 +1094,7 @@ public class ActiveMQSession implements QueueSession, TopicSession { AddressQuery query = session.addressQuery(topic.getSimpleAddress()); - if (!query.isExists() && !query.isAutoCreateJmsTopics()) { + if (!query.isExists() && !query.isAutoCreateJmsQueues()) { return null; } else { return topic; diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQTopic.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQTopic.java index 14f4e50398..5ffd918619 100644 --- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQTopic.java +++ b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQTopic.java @@ -32,7 +32,7 @@ public class ActiveMQTopic extends ActiveMQDestination implements Topic { // Static -------------------------------------------------------- public static SimpleString createAddressFromName(final String name) { - return new SimpleString(JMS_TOPIC_ADDRESS_PREFIX + name); + return new SimpleString(name); } // Attributes ---------------------------------------------------- @@ -44,7 +44,7 @@ public class ActiveMQTopic extends ActiveMQDestination implements Topic { } public ActiveMQTopic(final String name, boolean temporary) { - super(JMS_TOPIC_ADDRESS_PREFIX + name, name, temporary, false, null); + super(name, name, temporary, false, null); } /** diff --git a/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/management/impl/JMSServerControlImpl.java b/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/management/impl/JMSServerControlImpl.java index 974d8fbbc5..e9e2f3c1d9 100644 --- a/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/management/impl/JMSServerControlImpl.java +++ b/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/management/impl/JMSServerControlImpl.java @@ -16,7 +16,6 @@ */ package org.apache.activemq.artemis.jms.management.impl; -import javax.jms.JMSRuntimeException; import javax.json.JsonArray; import javax.json.JsonArrayBuilder; import javax.json.JsonObject; @@ -38,6 +37,7 @@ import java.util.Map; import java.util.Set; import java.util.concurrent.atomic.AtomicLong; +import org.apache.activemq.artemis.api.core.SimpleString; import org.apache.activemq.artemis.api.core.TransportConfiguration; import org.apache.activemq.artemis.api.core.client.ClientSession; import org.apache.activemq.artemis.api.core.management.Parameter; @@ -52,11 +52,12 @@ import org.apache.activemq.artemis.core.client.impl.TopologyMemberImpl; import org.apache.activemq.artemis.core.filter.Filter; import org.apache.activemq.artemis.core.management.impl.AbstractControl; import org.apache.activemq.artemis.core.management.impl.MBeanInfoHelper; +import org.apache.activemq.artemis.core.server.Queue; import org.apache.activemq.artemis.core.server.ServerConsumer; import org.apache.activemq.artemis.core.server.ServerSession; import org.apache.activemq.artemis.core.server.cluster.ClusterConnection; import org.apache.activemq.artemis.core.server.cluster.ClusterManager; -import org.apache.activemq.artemis.jms.client.ActiveMQDestination; +import org.apache.activemq.artemis.core.server.impl.AddressInfo; import org.apache.activemq.artemis.jms.server.ActiveMQJMSServerLogger; import org.apache.activemq.artemis.jms.server.JMSServerManager; import org.apache.activemq.artemis.jms.server.config.ConnectionFactoryConfiguration; @@ -101,28 +102,6 @@ public class JMSServerControlImpl extends AbstractControl implements JMSServerCo return trimmed; } - private static String[] determineJMSDestination(String coreAddress) { - String[] result = new String[2]; // destination name & type - if (coreAddress.startsWith(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX)) { - result[0] = coreAddress.substring(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX.length()); - result[1] = "queue"; - } else if (coreAddress.startsWith(ActiveMQDestination.JMS_TEMP_QUEUE_ADDRESS_PREFIX)) { - result[0] = coreAddress.substring(ActiveMQDestination.JMS_TEMP_QUEUE_ADDRESS_PREFIX.length()); - result[1] = "tempqueue"; - } else if (coreAddress.startsWith(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX)) { - result[0] = coreAddress.substring(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX.length()); - result[1] = "topic"; - } else if (coreAddress.startsWith(ActiveMQDestination.JMS_TEMP_TOPIC_ADDRESS_PREFIX)) { - result[0] = coreAddress.substring(ActiveMQDestination.JMS_TEMP_TOPIC_ADDRESS_PREFIX.length()); - result[1] = "temptopic"; - } else { - ActiveMQJMSServerLogger.LOGGER.debug("JMSServerControlImpl.determineJMSDestination()" + coreAddress); - // not related to JMS - return null; - } - return result; - } - public static MBeanNotificationInfo[] getNotificationInfos() { JMSNotificationType[] values = JMSNotificationType.values(); String[] names = new String[values.length]; @@ -822,24 +801,45 @@ public class JMSServerControlImpl extends AbstractControl implements JMSServerCo return server.getActiveMQServer().destroyConnectionWithSessionMetadata(ClientSession.JMS_SESSION_CLIENT_ID_PROPERTY, clientID); } - private JsonObject toJSONObject(ServerConsumer consumer) { - String[] destinationInfo = determineJMSDestination(consumer.getQueue().getAddress().toString()); - if (destinationInfo == null) { + private String determineJMSDestinationType(Queue queue) { + String result; + if (server.getActiveMQServer().getAddressInfo(SimpleString.toSimpleString(queue.getAddress().toString())).getRoutingType() == AddressInfo.RoutingType.ANYCAST) { + if (queue.isTemporary()) { + result = "tempqueue"; + } else { + result = "queue"; + } + } else if (server.getActiveMQServer().getAddressInfo(SimpleString.toSimpleString(queue.getAddress().toString())).getRoutingType() == AddressInfo.RoutingType.MULTICAST) { + if (queue.isTemporary()) { + result = "temptopic"; + } else { + result = "topic"; + } + } else { + ActiveMQJMSServerLogger.LOGGER.debug("JMSServerControlImpl.determineJMSDestinationType() " + queue); + // not related to JMS return null; } - JsonObjectBuilder obj = JsonLoader.createObjectBuilder().add("consumerID", consumer.getID()).add("connectionID", consumer.getConnectionID().toString()).add("sessionID", consumer.getSessionID()).add("queueName", consumer.getQueue().getName().toString()).add("browseOnly", consumer.isBrowseOnly()).add("creationTime", consumer.getCreationTime()).add("destinationName", destinationInfo[0]).add("destinationType", destinationInfo[1]); + return result; + } + + private JsonObject toJSONObject(ServerConsumer consumer) { + AddressInfo addressInfo = server.getActiveMQServer().getAddressInfo(SimpleString.toSimpleString(consumer.getQueue().getAddress().toString())); + if (addressInfo == null) { + return null; + } + JsonObjectBuilder obj = JsonLoader.createObjectBuilder().add("consumerID", consumer.getID()).add("connectionID", consumer.getConnectionID().toString()).add("sessionID", consumer.getSessionID()).add("queueName", consumer.getQueue().getName().toString()).add("browseOnly", consumer.isBrowseOnly()).add("creationTime", consumer.getCreationTime()).add("destinationName", consumer.getQueue().getAddress().toString()).add("destinationType", determineJMSDestinationType(consumer.getQueue())); // JMS consumer with message filter use the queue's filter Filter queueFilter = consumer.getQueue().getFilter(); if (queueFilter != null) { obj.add("filter", queueFilter.getFilterString().toString()); } - if (destinationInfo[1].equals("topic")) { - try { - ActiveMQDestination.decomposeQueueNameForDurableSubscription(consumer.getQueue().getName().toString()); - obj.add("durable", true); - } catch (IllegalArgumentException | JMSRuntimeException e) { + if (addressInfo.getRoutingType().equals(AddressInfo.RoutingType.MULTICAST)) { + if (consumer.getQueue().isTemporary()) { obj.add("durable", false); + } else { + obj.add("durable", true); } } else { obj.add("durable", false); diff --git a/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/management/impl/JMSTopicControlImpl.java b/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/management/impl/JMSTopicControlImpl.java index d81de51a92..d215b59874 100644 --- a/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/management/impl/JMSTopicControlImpl.java +++ b/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/management/impl/JMSTopicControlImpl.java @@ -300,16 +300,16 @@ public class JMSTopicControlImpl extends StandardMBean implements TopicControl { String clientID = null; String subName = null; - if (queue.isDurable() && !queue.getName().startsWith(ResourceNames.JMS_TOPIC)) { + if (queue.isDurable()) { Pair pair = ActiveMQDestination.decomposeQueueNameForDurableSubscription(queue.getName()); clientID = pair.getA(); subName = pair.getB(); - } else if (queue.getName().startsWith(ResourceNames.JMS_TOPIC)) { + } else { // in the case of heirarchical topics the queue name will not follow the . pattern of normal // durable subscribers so skip decomposing the name for the client ID and subscription name and just // hard-code it - clientID = "ActiveMQ"; - subName = "ActiveMQ"; + clientID = ""; + subName = ""; } String filter = queue.getFilter() != null ? queue.getFilter() : null; diff --git a/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/server/impl/JMSServerManagerImpl.java b/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/server/impl/JMSServerManagerImpl.java index 36b4d8b7cc..191e117857 100644 --- a/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/server/impl/JMSServerManagerImpl.java +++ b/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/server/impl/JMSServerManagerImpl.java @@ -28,7 +28,6 @@ import java.net.InetAddress; import java.net.URL; import java.net.UnknownHostException; import java.util.ArrayList; -import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; @@ -57,12 +56,9 @@ import org.apache.activemq.artemis.core.security.Role; import org.apache.activemq.artemis.core.server.ActivateCallback; import org.apache.activemq.artemis.core.server.ActiveMQServer; import org.apache.activemq.artemis.core.server.ActiveMQServerLogger; -import org.apache.activemq.artemis.core.server.PostQueueCreationCallback; -import org.apache.activemq.artemis.core.server.PostQueueDeletionCallback; import org.apache.activemq.artemis.core.server.Queue; -import org.apache.activemq.artemis.core.server.QueueCreator; -import org.apache.activemq.artemis.core.server.QueueDeleter; import org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl; +import org.apache.activemq.artemis.core.server.impl.AddressInfo; import org.apache.activemq.artemis.core.server.management.Notification; import org.apache.activemq.artemis.core.server.reload.ReloadCallback; import org.apache.activemq.artemis.core.server.reload.ReloadManager; @@ -392,15 +388,15 @@ public class JMSServerManagerImpl implements JMSServerManager, ActivateCallback return; } - server.setJMSQueueCreator(new JMSDestinationCreator()); - - server.setJMSQueueDeleter(new JMSQueueDeleter()); +// server.setJMSQueueCreator(new JMSDestinationCreator()); +// +// server.setJMSQueueDeleter(new JMSQueueDeleter()); server.registerActivateCallback(this); - server.registerPostQueueCreationCallback(new JMSPostQueueCreationCallback()); - - server.registerPostQueueDeletionCallback(new JMSPostQueueDeletionCallback()); +// server.registerPostQueueCreationCallback(new JMSPostQueueCreationCallback()); +// +// server.registerPostQueueDeletionCallback(new JMSPostQueueDeletionCallback()); /** * See this method's javadoc. *

@@ -797,11 +793,11 @@ public class JMSServerManagerImpl implements JMSServerManager, ActivateCallback public synchronized boolean destroyQueue(final String name, final boolean removeConsumers) throws Exception { checkInitialised(); - server.destroyQueue(ActiveMQDestination.createQueueAddressFromName(name), null, !removeConsumers, removeConsumers); + server.destroyQueue(SimpleString.toSimpleString(name), null, !removeConsumers, removeConsumers); // if the queue has consumers and 'removeConsumers' is false then the queue won't actually be removed // therefore only remove the queue from Bindings, etc. if the queue is actually removed - if (this.server.getPostOffice().getBinding(ActiveMQDestination.createQueueAddressFromName(name)) == null) { + if (this.server.getPostOffice().getBinding(SimpleString.toSimpleString(name)) == null) { removeFromBindings(queues, queueBindings, name); queues.remove(name); @@ -826,7 +822,7 @@ public class JMSServerManagerImpl implements JMSServerManager, ActivateCallback @Override public synchronized boolean destroyTopic(final String name, final boolean removeConsumers) throws Exception { checkInitialised(); - AddressControl addressControl = (AddressControl) server.getManagementService().getResource(ResourceNames.CORE_ADDRESS + ActiveMQDestination.createTopicAddressFromName(name)); + AddressControl addressControl = (AddressControl) server.getManagementService().getResource(ResourceNames.CORE_ADDRESS + name); if (addressControl != null) { for (String queueName : addressControl.getQueueNames()) { Binding binding = server.getPostOffice().getBinding(new SimpleString(queueName)); @@ -1096,6 +1092,8 @@ public class JMSServerManagerImpl implements JMSServerManager, ActivateCallback coreFilterString = SelectorTranslator.convertToActiveMQFilterString(selectorString); } + server.createOrUpdateAddressInfo(new AddressInfo(SimpleString.toSimpleString(activeMQQueue.getName())).setRoutingType(AddressInfo.RoutingType.ANYCAST).setDefaultMaxQueueConsumers(-1)); + Queue queue = server.deployQueue(SimpleString.toSimpleString(activeMQQueue.getAddress()), SimpleString.toSimpleString(activeMQQueue.getAddress()), SimpleString.toSimpleString(coreFilterString), durable, false, autoCreated); queues.put(queueName, activeMQQueue); @@ -1131,7 +1129,8 @@ public class JMSServerManagerImpl implements JMSServerManager, ActivateCallback // checks when routing messages to a topic that // does not exist - otherwise we would not be able to distinguish from a non existent topic and one with no // subscriptions - core has no notion of a topic - server.deployQueue(SimpleString.toSimpleString(activeMQTopic.getAddress()), SimpleString.toSimpleString(activeMQTopic.getAddress()), SimpleString.toSimpleString(JMSServerManagerImpl.REJECT_FILTER), true, false, autoCreated); +// server.deployQueue(SimpleString.toSimpleString(activeMQTopic.getAddress()), SimpleString.toSimpleString(activeMQTopic.getAddress()), SimpleString.toSimpleString(JMSServerManagerImpl.REJECT_FILTER), true, false, autoCreated); + server.createOrUpdateAddressInfo(new AddressInfo(SimpleString.toSimpleString(activeMQTopic.getAddress()))); topics.put(topicName, activeMQTopic); @@ -1643,95 +1642,95 @@ public class JMSServerManagerImpl implements JMSServerManager, ActivateCallback * This class is responsible for auto-creating the JMS (and underlying core) resources when a client sends a message * to a non-existent JMS queue or topic */ - class JMSDestinationCreator implements QueueCreator { +// class JMSDestinationCreator implements QueueCreator { +// +// @Override +// public boolean create(SimpleString address) throws Exception { +// AddressSettings settings = server.getAddressSettingsRepository().getMatch(address.toString()); +// if (address.toString().startsWith(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX) && settings.isAutoCreateJmsQueues()) { +// return internalCreateJMSQueue(false, address.toString().substring(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX.length()), null, true, true); +// } else if (address.toString().startsWith(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX) && settings.isAutoCreateJmsTopics()) { +// return createTopic(false, address.toString().substring(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX.length()), true); +// } else { +// return false; +// } +// } +// } - @Override - public boolean create(SimpleString address) throws Exception { - AddressSettings settings = server.getAddressSettingsRepository().getMatch(address.toString()); - if (address.toString().startsWith(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX) && settings.isAutoCreateJmsQueues()) { - return internalCreateJMSQueue(false, address.toString().substring(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX.length()), null, true, true); - } else if (address.toString().startsWith(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX) && settings.isAutoCreateJmsTopics()) { - return createTopic(false, address.toString().substring(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX.length()), true); - } else { - return false; - } - } - } - - class JMSQueueDeleter implements QueueDeleter { - - @Override - public boolean delete(SimpleString queueName) throws Exception { - Queue queue = server.locateQueue(queueName); - SimpleString address = queue.getAddress(); - AddressSettings settings = server.getAddressSettingsRepository().getMatch(address.toString()); - long consumerCount = queue.getConsumerCount(); - long messageCount = queue.getMessageCount(); - - if (address.toString().startsWith(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX) && settings.isAutoDeleteJmsQueues() && queue.getMessageCount() == 0) { - if (ActiveMQJMSServerLogger.LOGGER.isDebugEnabled()) { - ActiveMQJMSServerLogger.LOGGER.debug("deleting auto-created queue \"" + queueName + ".\" consumerCount = " + consumerCount + "; messageCount = " + messageCount + "; isAutoDeleteJmsQueues = " + settings.isAutoDeleteJmsQueues()); - } - - return destroyQueue(queueName.toString().substring(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX.length()), false); - } else { - return false; - } - } - } +// class JMSQueueDeleter implements QueueDeleter { +// +// @Override +// public boolean delete(SimpleString queueName) throws Exception { +// Queue queue = server.locateQueue(queueName); +// SimpleString address = queue.getAddress(); +// AddressSettings settings = server.getAddressSettingsRepository().getMatch(address.toString()); +// long consumerCount = queue.getConsumerCount(); +// long messageCount = queue.getMessageCount(); +// +// if (address.toString().startsWith(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX) && settings.getAutoDeleteJmsQueues() && queue.getMessageCount() == 0) { +// if (ActiveMQJMSServerLogger.LOGGER.isDebugEnabled()) { +// ActiveMQJMSServerLogger.LOGGER.debug("deleting auto-created queue \"" + queueName + ".\" consumerCount = " + consumerCount + "; messageCount = " + messageCount + "; getAutoDeleteJmsQueues = " + settings.getAutoDeleteJmsQueues()); +// } +// +// return destroyQueue(queueName.toString().substring(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX.length()), false); +// } else { +// return false; +// } +// } +// } /** * When a core queue is created with a jms.topic prefix this class will create the associated JMS resources * retroactively. This would happen if, for example, a client created a subscription a non-existent JMS topic and * autoCreateJmsTopics = true. */ - class JMSPostQueueCreationCallback implements PostQueueCreationCallback { - - @Override - public void callback(SimpleString queueName) throws Exception { - Queue queue = server.locateQueue(queueName); - String address = queue.getAddress().toString(); - - AddressSettings settings = server.getAddressSettingsRepository().getMatch(address.toString()); - /* When a topic is created a dummy subscription is created which never receives any messages; when the queue - * for that dummy subscription is created we don't want to call createTopic again. Therefore we make sure the - * queue name doesn't start with the topic prefix. - */ - if (address.toString().startsWith(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX) && settings.isAutoCreateJmsTopics() && !queueName.toString().startsWith(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX)) { - createTopic(false, address.toString().substring(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX.length()), true); - } - } - } +// class JMSPostQueueCreationCallback implements PostQueueCreationCallback { +// +// @Override +// public void callback(SimpleString queueName) throws Exception { +// Queue queue = server.locateQueue(queueName); +// String address = queue.getAddress().toString(); +// +// AddressSettings settings = server.getAddressSettingsRepository().getMatch(address.toString()); +// /* When a topic is created a dummy subscription is created which never receives any messages; when the queue +// * for that dummy subscription is created we don't want to call createTopic again. Therefore we make sure the +// * queue name doesn't start with the topic prefix. +// */ +// if (address.toString().startsWith(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX) && settings.isAutoCreateJmsTopics() && !queueName.toString().startsWith(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX)) { +// createTopic(false, address.toString().substring(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX.length()), true); +// } +// } +// } /** * When a core queue representing a JMS topic subscription is deleted this class will check to see if that was the * last subscription on the topic and if so and autoDeleteJmsTopics = true then it will delete the JMS resources * for that topic. */ - class JMSPostQueueDeletionCallback implements PostQueueDeletionCallback { - - @Override - public void callback(SimpleString address, SimpleString queueName) throws Exception { - Queue queue = server.locateQueue(address); - Collection bindings = server.getPostOffice().getBindingsForAddress(address).getBindings(); - - AddressSettings settings = server.getAddressSettingsRepository().getMatch(address.toString()); - - if (address.toString().startsWith(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX) && settings.isAutoDeleteJmsTopics() && bindings.size() == 1 && queue != null && queue.isAutoCreated()) { - try { - destroyTopic(address.toString().substring(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX.length())); - } catch (IllegalStateException e) { - /* - * During shutdown the callback can be invoked after the JMSServerManager is already shut down so we just - * ignore the exception in that case - */ - if (ActiveMQJMSServerLogger.LOGGER.isDebugEnabled()) { - ActiveMQJMSServerLogger.LOGGER.debug("Failed to destroy topic", e); - } - } - } - } - } +// class JMSPostQueueDeletionCallback implements PostQueueDeletionCallback { +// +// @Override +// public void callback(SimpleString address, SimpleString queueName) throws Exception { +// Queue queue = server.locateQueue(address); +// Collection bindings = server.getPostOffice().getBindingsForAddress(address).getBindings(); +// +// AddressSettings settings = server.getAddressSettingsRepository().getMatch(address.toString()); +// +// if (address.toString().startsWith(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX) && settings.isAutoDeleteJmsTopics() && bindings.size() == 1 && queue != null && queue.isAutoCreated()) { +// try { +// destroyTopic(address.toString().substring(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX.length())); +// } catch (IllegalStateException e) { +// /* +// * During shutdown the callback can be invoked after the JMSServerManager is already shut down so we just +// * ignore the exception in that case +// */ +// if (ActiveMQJMSServerLogger.LOGGER.isDebugEnabled()) { +// ActiveMQJMSServerLogger.LOGGER.debug("Failed to destroy topic", e); +// } +// } +// } +// } +// } private final class JMSReloader implements ReloadCallback { diff --git a/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/server/management/impl/JMSManagementServiceImpl.java b/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/server/management/impl/JMSManagementServiceImpl.java index 0c56e247fa..2b3f7a2697 100644 --- a/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/server/management/impl/JMSManagementServiceImpl.java +++ b/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/server/management/impl/JMSManagementServiceImpl.java @@ -89,14 +89,14 @@ public class JMSManagementServiceImpl implements JMSManagementService { ObjectName objectName = managementService.getObjectNameBuilder().getJMSQueueObjectName(queue.getQueueName()); JMSQueueControlImpl control = new JMSQueueControlImpl(queue, coreQueueControl, jmsServerManager, counter); managementService.registerInJMX(objectName, control); - managementService.registerInRegistry(ResourceNames.JMS_QUEUE + queue.getQueueName(), control); + managementService.registerInRegistry(queue.getQueueName(), control); } @Override public synchronized void unregisterQueue(final String name) throws Exception { ObjectName objectName = managementService.getObjectNameBuilder().getJMSQueueObjectName(name); managementService.unregisterFromJMX(objectName); - managementService.unregisterFromRegistry(ResourceNames.JMS_QUEUE + name); + managementService.unregisterFromRegistry(name); } @Override @@ -105,14 +105,14 @@ public class JMSManagementServiceImpl implements JMSManagementService { AddressControl addressControl = (AddressControl) managementService.getResource(ResourceNames.CORE_ADDRESS + topic.getAddress()); JMSTopicControlImpl control = new JMSTopicControlImpl(topic, jmsServerManager, addressControl, managementService); managementService.registerInJMX(objectName, control); - managementService.registerInRegistry(ResourceNames.JMS_TOPIC + topic.getTopicName(), control); + managementService.registerInRegistry(topic.getTopicName(), control); } @Override public synchronized void unregisterTopic(final String name) throws Exception { ObjectName objectName = managementService.getObjectNameBuilder().getJMSTopicObjectName(name); managementService.unregisterFromJMX(objectName); - managementService.unregisterFromRegistry(ResourceNames.JMS_TOPIC + name); + managementService.unregisterFromRegistry(name); } @Override diff --git a/artemis-junit/src/test/java/org/apache/activemq/artemis/junit/EmbeddedJMSResourceMultipleFileConfigurationTest.java b/artemis-junit/src/test/java/org/apache/activemq/artemis/junit/EmbeddedJMSResourceMultipleFileConfigurationTest.java index ceb06e84c5..7e3b3132f8 100644 --- a/artemis-junit/src/test/java/org/apache/activemq/artemis/junit/EmbeddedJMSResourceMultipleFileConfigurationTest.java +++ b/artemis-junit/src/test/java/org/apache/activemq/artemis/junit/EmbeddedJMSResourceMultipleFileConfigurationTest.java @@ -76,7 +76,7 @@ public class EmbeddedJMSResourceMultipleFileConfigurationTest { List boundQueues = jmsServer.getTopicQueues(TEST_TOPIC); assertNotNull("List should never be null", boundQueues); - assertEquals("Should have two queues bound to topic " + TEST_TOPIC, 2, boundQueues.size()); + assertEquals("Should have two queues bound to topic " + TEST_TOPIC, 1, boundQueues.size()); } } \ No newline at end of file diff --git a/artemis-junit/src/test/java/org/apache/activemq/artemis/junit/EmbeddedJMSResourceSingleFileConfigurationTest.java b/artemis-junit/src/test/java/org/apache/activemq/artemis/junit/EmbeddedJMSResourceSingleFileConfigurationTest.java index 5ca3560748..9651a7ab5f 100644 --- a/artemis-junit/src/test/java/org/apache/activemq/artemis/junit/EmbeddedJMSResourceSingleFileConfigurationTest.java +++ b/artemis-junit/src/test/java/org/apache/activemq/artemis/junit/EmbeddedJMSResourceSingleFileConfigurationTest.java @@ -76,7 +76,7 @@ public class EmbeddedJMSResourceSingleFileConfigurationTest { List boundQueues = jmsServer.getTopicQueues(TEST_TOPIC); assertNotNull("List should never be null", boundQueues); - assertEquals("Should have two queues bound to topic " + TEST_TOPIC, 2, boundQueues.size()); + assertEquals("Should have two queues bound to topic " + TEST_TOPIC, 1, boundQueues.size()); } } \ No newline at end of file diff --git a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/ProtonProtocolManager.java b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/ProtonProtocolManager.java index f5b6c780f0..9b84dc1413 100644 --- a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/ProtonProtocolManager.java +++ b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/ProtonProtocolManager.java @@ -58,7 +58,8 @@ public class ProtonProtocolManager implements ProtocolManager, Noti * used when you want to treat senders as a subscription on an address rather than consuming from the actual queue for * the address. This can be changed on the acceptor. * */ - private String pubSubPrefix = ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX; + // TODO fix this + private String pubSubPrefix = ActiveMQDestination.TOPIC_QUALIFIED_PREFIX; private int maxFrameSize = AMQPConstants.Connection.DEFAULT_MAX_FRAME_SIZE; diff --git a/artemis-protocols/artemis-amqp-protocol/src/test/java/org/apache/activemq/artemis/protocol/amqp/converter/TestConversions.java b/artemis-protocols/artemis-amqp-protocol/src/test/java/org/apache/activemq/artemis/protocol/amqp/converter/TestConversions.java index 96ce90e07d..6beee36414 100644 --- a/artemis-protocols/artemis-amqp-protocol/src/test/java/org/apache/activemq/artemis/protocol/amqp/converter/TestConversions.java +++ b/artemis-protocols/artemis-amqp-protocol/src/test/java/org/apache/activemq/artemis/protocol/amqp/converter/TestConversions.java @@ -248,7 +248,7 @@ public class TestConversions extends Assert { } private void simulatePersistence(ServerMessage serverMessage) { - serverMessage.setAddress(new SimpleString("jms.queue.SomeAddress")); + serverMessage.setAddress(new SimpleString("SomeAddress")); // This is just to simulate what would happen during the persistence of the message // We need to still be able to recover the message when we read it back ((EncodingSupport) serverMessage).encode(new EmptyBuffer()); diff --git a/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireConnection.java b/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireConnection.java index 93c9bde04b..725733c627 100644 --- a/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireConnection.java +++ b/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireConnection.java @@ -792,8 +792,7 @@ public class OpenWireConnection extends AbstractRemotingConnection implements Se @Override public void tempQueueDeleted(SimpleString bindingName) { - String amqName = OpenWireUtil.toAMQAddress(bindingName.toString()); - ActiveMQDestination dest = new ActiveMQTempQueue(amqName); + ActiveMQDestination dest = new ActiveMQTempQueue(bindingName.toString()); if (!AdvisorySupport.isAdvisoryTopic(dest)) { AMQConnectionContext context = getContext(); diff --git a/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQConsumer.java b/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQConsumer.java index 7f4f2d108d..7f7907e449 100644 --- a/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQConsumer.java +++ b/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQConsumer.java @@ -25,6 +25,7 @@ import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; +import org.apache.activemq.artemis.api.core.ActiveMQQueueExistsException; import org.apache.activemq.artemis.api.core.SimpleString; import org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl; import org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter; @@ -84,9 +85,9 @@ public class AMQConsumer { if (openwireDestination.isTopic()) { if (openwireDestination.isTemporary()) { - address = new SimpleString("jms.temptopic." + physicalName); + address = new SimpleString(physicalName); } else { - address = new SimpleString("jms.topic." + physicalName); + address = new SimpleString(physicalName); } SimpleString queueName = createTopicSubscription(info.isDurable(), info.getClientId(), physicalName, info.getSubscriptionName(), selector, address); @@ -95,7 +96,11 @@ public class AMQConsumer { serverConsumer.setlowConsumerDetection(slowConsumerDetectionListener); } else { SimpleString queueName = OpenWireUtil.toCoreAddress(openwireDestination); - session.getCoreServer().getJMSDestinationCreator().create(queueName); + try { + session.getCoreServer().createQueue(queueName, queueName, null, true, false); + } catch (ActiveMQQueueExistsException e) { + // ignore + } serverConsumer = session.getCoreSession().createConsumer(nativeId, queueName, selector, info.isBrowser(), false, -1); serverConsumer.setlowConsumerDetection(slowConsumerDetectionListener); AddressSettings addrSettings = session.getCoreServer().getAddressSettingsRepository().getMatch(queueName.toString()); diff --git a/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQSession.java b/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQSession.java index 426f4e64ef..5cab686ff3 100644 --- a/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQSession.java +++ b/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQSession.java @@ -23,6 +23,7 @@ import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; +import org.apache.activemq.artemis.api.core.ActiveMQQueueExistsException; import org.apache.activemq.artemis.api.core.SimpleString; import org.apache.activemq.artemis.core.paging.PagingStore; import org.apache.activemq.artemis.core.postoffice.RoutingStatus; @@ -145,7 +146,11 @@ public class AMQSession implements SessionCallback { for (ActiveMQDestination openWireDest : dests) { if (openWireDest.isQueue()) { SimpleString queueName = OpenWireUtil.toCoreAddress(openWireDest); - getCoreServer().getJMSDestinationCreator().create(queueName); + try { + getCoreServer().createQueue(queueName, queueName, null, true, false); + } catch (ActiveMQQueueExistsException e) { + // ignore + } } AMQConsumer consumer = new AMQConsumer(this, openWireDest, info, scheduledPool); diff --git a/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/util/OpenWireUtil.java b/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/util/OpenWireUtil.java index 0ad6043cd1..a6e72924db 100644 --- a/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/util/OpenWireUtil.java +++ b/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/util/OpenWireUtil.java @@ -28,11 +28,6 @@ import org.apache.activemq.command.TransactionId; import org.apache.activemq.command.XATransactionId; import org.apache.activemq.util.ByteSequence; -import static org.apache.activemq.artemis.jms.client.ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX; -import static org.apache.activemq.artemis.jms.client.ActiveMQDestination.JMS_TEMP_QUEUE_ADDRESS_PREFIX; -import static org.apache.activemq.artemis.jms.client.ActiveMQDestination.JMS_TEMP_TOPIC_ADDRESS_PREFIX; -import static org.apache.activemq.artemis.jms.client.ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX; - public class OpenWireUtil { public static ActiveMQBuffer toActiveMQBuffer(ByteSequence bytes) { @@ -45,23 +40,19 @@ public class OpenWireUtil { public static SimpleString toCoreAddress(ActiveMQDestination dest) { if (dest.isQueue()) { if (dest.isTemporary()) { - return new SimpleString(JMS_TEMP_QUEUE_ADDRESS_PREFIX + dest.getPhysicalName()); + return new SimpleString(dest.getPhysicalName()); } else { - return new SimpleString(JMS_QUEUE_ADDRESS_PREFIX + dest.getPhysicalName()); + return new SimpleString(dest.getPhysicalName()); } } else { if (dest.isTemporary()) { - return new SimpleString(JMS_TEMP_TOPIC_ADDRESS_PREFIX + dest.getPhysicalName()); + return new SimpleString(dest.getPhysicalName()); } else { - return new SimpleString(JMS_TOPIC_ADDRESS_PREFIX + dest.getPhysicalName()); + return new SimpleString(dest.getPhysicalName()); } } } - public static String toAMQAddress(String coreAddress) { - return coreAddress.replace(JMS_QUEUE_ADDRESS_PREFIX, "").replace(JMS_TEMP_QUEUE_ADDRESS_PREFIX, "").replace(JMS_TOPIC_ADDRESS_PREFIX, "").replace(JMS_TEMP_TOPIC_ADDRESS_PREFIX, ""); - } - /** * We convert the core address to an ActiveMQ Destination. We use the actual address on the message rather than the * destination set on the consumer because it maybe different and the JMS spec says that it should be what ever was @@ -70,7 +61,7 @@ public class OpenWireUtil { */ public static ActiveMQDestination toAMQAddress(ServerMessage message, ActiveMQDestination actualDestination) { String address = message.getAddress().toString(); - String strippedAddress = toAMQAddress(address); + String strippedAddress = address;//.replace(JMS_QUEUE_ADDRESS_PREFIX, "").replace(JMS_TEMP_QUEUE_ADDRESS_PREFIX, "").replace(JMS_TOPIC_ADDRESS_PREFIX, "").replace(JMS_TEMP_TOPIC_ADDRESS_PREFIX, ""); if (actualDestination.isQueue()) { return new ActiveMQQueue(strippedAddress); } else { diff --git a/artemis-protocols/artemis-stomp-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/stomp/StompConnection.java b/artemis-protocols/artemis-stomp-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/stomp/StompConnection.java index 6dcff64e70..e58d4da9fb 100644 --- a/artemis-protocols/artemis-stomp-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/stomp/StompConnection.java +++ b/artemis-protocols/artemis-stomp-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/stomp/StompConnection.java @@ -29,6 +29,7 @@ import java.util.concurrent.ScheduledExecutorService; import org.apache.activemq.artemis.api.core.ActiveMQBuffer; import org.apache.activemq.artemis.api.core.ActiveMQBuffers; import org.apache.activemq.artemis.api.core.ActiveMQException; +import org.apache.activemq.artemis.api.core.ActiveMQQueueExistsException; import org.apache.activemq.artemis.api.core.SimpleString; import org.apache.activemq.artemis.api.core.client.ActiveMQClient; import org.apache.activemq.artemis.core.protocol.stomp.v10.StompFrameHandlerV10; @@ -37,8 +38,8 @@ import org.apache.activemq.artemis.core.remoting.CloseListener; import org.apache.activemq.artemis.core.remoting.FailureListener; import org.apache.activemq.artemis.core.remoting.impl.netty.TransportConstants; import org.apache.activemq.artemis.core.server.ActiveMQServerLogger; -import org.apache.activemq.artemis.core.server.QueueCreator; import org.apache.activemq.artemis.core.server.ServerMessage; +import org.apache.activemq.artemis.core.server.impl.AddressInfo; import org.apache.activemq.artemis.core.server.impl.ServerMessageImpl; import org.apache.activemq.artemis.spi.core.protocol.RemotingConnection; import org.apache.activemq.artemis.spi.core.remoting.Acceptor; @@ -253,11 +254,12 @@ public final class StompConnection implements RemotingConnection { } public void autoCreateDestinationIfPossible(String queue) throws ActiveMQStompException { + // TODO: STOMP clients will have to prefix their destination with queue:// or topic:// so we can determine what to do here try { - QueueCreator queueCreator = manager.getServer().getJMSDestinationCreator(); - if (queueCreator != null) { - queueCreator.create(SimpleString.toSimpleString(queue)); - } + manager.getServer().createOrUpdateAddressInfo(new AddressInfo(SimpleString.toSimpleString(queue)).setRoutingType(AddressInfo.RoutingType.ANYCAST)); + manager.getServer().createQueue(SimpleString.toSimpleString(queue), SimpleString.toSimpleString(queue), null, true, false); + } catch (ActiveMQQueueExistsException e) { + // ignore } catch (Exception e) { throw new ActiveMQStompException(e.getMessage(), e).setHandler(frameHandler); } diff --git a/artemis-protocols/artemis-stomp-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/stomp/StompSession.java b/artemis-protocols/artemis-stomp-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/stomp/StompSession.java index f86dd920f3..d207544603 100644 --- a/artemis-protocols/artemis-stomp-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/stomp/StompSession.java +++ b/artemis-protocols/artemis-stomp-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/stomp/StompSession.java @@ -39,6 +39,7 @@ import org.apache.activemq.artemis.core.server.MessageReference; import org.apache.activemq.artemis.core.server.ServerConsumer; import org.apache.activemq.artemis.core.server.ServerMessage; import org.apache.activemq.artemis.core.server.ServerSession; +import org.apache.activemq.artemis.core.server.impl.AddressInfo; import org.apache.activemq.artemis.core.server.impl.ServerMessageImpl; import org.apache.activemq.artemis.core.server.impl.ServerSessionImpl; import org.apache.activemq.artemis.spi.core.protocol.RemotingConnection; @@ -285,7 +286,7 @@ public class StompSession implements SessionCallback { receiveCredits = -1; } - if (destination.startsWith("jms.topic")) { + if (manager.getServer().getAddressInfo(SimpleString.toSimpleString(destination)).getRoutingType().equals(AddressInfo.RoutingType.MULTICAST)) { // subscribes to a topic pubSub = true; if (durableSubscriptionName != null) { diff --git a/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/integration/EmbeddedRestActiveMQJMSTest.java b/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/integration/EmbeddedRestActiveMQJMSTest.java index 9e10ef7eb2..f012020bc8 100644 --- a/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/integration/EmbeddedRestActiveMQJMSTest.java +++ b/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/integration/EmbeddedRestActiveMQJMSTest.java @@ -65,7 +65,7 @@ public class EmbeddedRestActiveMQJMSTest { List connectors = createInVmConnector(); server.getEmbeddedJMS().getJMSServerManager().createConnectionFactory("ConnectionFactory", false, JMSFactoryType.CF, connectors, "ConnectionFactory"); - ClientRequest request = new ClientRequest(TestPortProvider.generateURL("/queues/jms.queue.exampleQueue")); + ClientRequest request = new ClientRequest(TestPortProvider.generateURL("/queues/exampleQueue")); ClientResponse response = request.head(); response.releaseConnection(); diff --git a/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/test/EmbeddedTest.java b/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/test/EmbeddedTest.java index dea9c0e0ed..dc0ea0fb4d 100644 --- a/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/test/EmbeddedTest.java +++ b/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/test/EmbeddedTest.java @@ -94,7 +94,7 @@ public class EmbeddedTest { @Test public void testTransform() throws Exception { - ClientRequest request = new ClientRequest(TestPortProvider.generateURL("/queues/jms.queue.exampleQueue")); + ClientRequest request = new ClientRequest(TestPortProvider.generateURL("/queues/exampleQueue")); ClientResponse response = request.head(); response.releaseConnection(); diff --git a/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/test/JMSTest.java b/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/test/JMSTest.java index c3228ad81e..77d88d1a2e 100644 --- a/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/test/JMSTest.java +++ b/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/test/JMSTest.java @@ -106,7 +106,7 @@ public class JMSTest extends MessageTestBase { } public static Destination createDestination(String dest) { - ActiveMQDestination destination = (ActiveMQDestination) ActiveMQDestination.fromAddress(dest); + ActiveMQDestination destination = (ActiveMQDestination) ActiveMQDestination.fromPrefixedName(dest); System.out.println("SimpleAddress: " + destination.getSimpleAddress()); return destination; } @@ -150,8 +150,9 @@ public class JMSTest extends MessageTestBase { @Test public void testJmsConsumer() throws Exception { - String queueName = ActiveMQDestination.createQueueAddressFromName("testQueue2").toString(); - System.out.println("Queue name: " + queueName); + String queueName = "testQueue2"; + String prefixedQueueName = ActiveMQDestination.createQueueAddressFromName(queueName).toString(); + System.out.println("Queue name: " + prefixedQueueName); QueueDeployment deployment = new QueueDeployment(); deployment.setDuplicatesAllowed(true); deployment.setDurableSend(false); @@ -160,7 +161,7 @@ public class JMSTest extends MessageTestBase { Connection conn = connectionFactory.createConnection(); try { Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE); - Destination destination = createDestination(queueName); + Destination destination = createDestination(prefixedQueueName); MessageConsumer consumer = session.createConsumer(destination); consumer.setMessageListener(new Listener()); conn.start(); @@ -196,8 +197,9 @@ public class JMSTest extends MessageTestBase { @Test public void testJmsProducer() throws Exception { - String queueName = ActiveMQDestination.createQueueAddressFromName("testQueue").toString(); - System.out.println("Queue name: " + queueName); + String queueName = "testQueue"; + String prefixedQueueName = ActiveMQDestination.createQueueAddressFromName(queueName).toString(); + System.out.println("Queue name: " + prefixedQueueName); QueueDeployment deployment = new QueueDeployment(); deployment.setDuplicatesAllowed(true); deployment.setDurableSend(false); @@ -221,7 +223,7 @@ public class JMSTest extends MessageTestBase { Order order = new Order(); order.setName("1"); order.setAmount("$5.00"); - publish(queueName, order, null); + publish(prefixedQueueName, order, null); ClientResponse res = consumeNext.request().header("Accept-Wait", "2").accept("application/xml").post(String.class); Assert.assertEquals(200, res.getStatus()); @@ -238,7 +240,7 @@ public class JMSTest extends MessageTestBase { Order order = new Order(); order.setName("1"); order.setAmount("$5.00"); - publish(queueName, order, null); + publish(prefixedQueueName, order, null); ClientResponse res = consumeNext.request().header("Accept-Wait", "2").accept("application/json").post(String.class); Assert.assertEquals(200, res.getStatus()); @@ -255,7 +257,7 @@ public class JMSTest extends MessageTestBase { Order order = new Order(); order.setName("2"); order.setAmount("$15.00"); - publish(queueName, order, "application/xml"); + publish(prefixedQueueName, order, "application/xml"); ClientResponse res = consumeNext.request().header("Accept-Wait", "2").post(String.class); Assert.assertEquals(200, res.getStatus()); diff --git a/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/test/SelectorTest.java b/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/test/SelectorTest.java index 176d61efa5..1491f51a50 100644 --- a/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/test/SelectorTest.java +++ b/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/test/SelectorTest.java @@ -45,12 +45,13 @@ import static org.jboss.resteasy.test.TestPortProvider.generateURL; public class SelectorTest extends MessageTestBase { public static ConnectionFactory connectionFactory; - public static String topicName = ActiveMQDestination.createQueueAddressFromName("testTopic").toString(); + public static String topicName = "testTopic"; + public static String prefixedTopicName = ActiveMQDestination.createQueueAddressFromName(topicName).toString(); @BeforeClass public static void setup() throws Exception { connectionFactory = new ActiveMQJMSConnectionFactory(manager.getQueueManager().getServerLocator()); - System.out.println("Queue name: " + topicName); + System.out.println("Queue name: " + prefixedTopicName); TopicDeployment deployment = new TopicDeployment(); deployment.setDuplicatesAllowed(true); deployment.setDurableSend(false); @@ -118,7 +119,7 @@ public class SelectorTest extends MessageTestBase { } public static Destination createDestination(String dest) { - ActiveMQDestination destination = (ActiveMQDestination) ActiveMQDestination.fromAddress(dest); + ActiveMQDestination destination = (ActiveMQDestination) ActiveMQDestination.fromPrefixedName(dest); System.out.println("SimpleAddress: " + destination.getSimpleAddress()); return destination; } @@ -203,32 +204,32 @@ public class SelectorTest extends MessageTestBase { Order order = new Order(); order.setName("1"); order.setAmount("$5.00"); - publish(topicName, order, null, "1"); + publish(prefixedTopicName, order, null, "1"); Thread.sleep(200); Assert.assertEquals(order, PushReceiver.oneOrder); order.setName("2"); - publish(topicName, order, null, "2"); + publish(prefixedTopicName, order, null, "2"); Thread.sleep(200); Assert.assertEquals(order, PushReceiver.twoOrder); order.setName("3"); - publish(topicName, order, null, "2"); + publish(prefixedTopicName, order, null, "2"); Thread.sleep(200); Assert.assertEquals(order, PushReceiver.twoOrder); order.setName("4"); - publish(topicName, order, null, "1"); + publish(prefixedTopicName, order, null, "1"); Thread.sleep(200); Assert.assertEquals(order, PushReceiver.oneOrder); order.setName("5"); - publish(topicName, order, null, "1"); + publish(prefixedTopicName, order, null, "1"); Thread.sleep(200); Assert.assertEquals(order, PushReceiver.oneOrder); order.setName("6"); - publish(topicName, order, null, "1"); + publish(prefixedTopicName, order, null, "1"); Thread.sleep(200); Assert.assertEquals(order, PushReceiver.oneOrder); @@ -262,17 +263,17 @@ public class SelectorTest extends MessageTestBase { Order order = new Order(); order.setName("1"); order.setAmount("$5.00"); - publish(topicName, order, null, "1"); + publish(prefixedTopicName, order, null, "1"); order.setName("2"); - publish(topicName, order, null, "2"); + publish(prefixedTopicName, order, null, "2"); order.setName("3"); - publish(topicName, order, null, "2"); + publish(prefixedTopicName, order, null, "2"); order.setName("4"); - publish(topicName, order, null, "1"); + publish(prefixedTopicName, order, null, "1"); order.setName("5"); - publish(topicName, order, null, "1"); + publish(prefixedTopicName, order, null, "1"); order.setName("6"); - publish(topicName, order, null, "1"); + publish(prefixedTopicName, order, null, "1"); { order.setName("1"); diff --git a/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/test/XmlTest.java b/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/test/XmlTest.java index 2c0bd9de69..726e16e812 100644 --- a/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/test/XmlTest.java +++ b/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/test/XmlTest.java @@ -27,7 +27,7 @@ public class XmlTest { @Test public void testPush() throws Exception { String xml = "\n" + - " jms.queue.bar\n" + + " bar\n" + " true\n" + " 10\n" + " \n" + diff --git a/artemis-rest/src/test/resources/broker.xml b/artemis-rest/src/test/resources/broker.xml index 2993d98bc5..4d76412ead 100644 --- a/artemis-rest/src/test/resources/broker.xml +++ b/artemis-rest/src/test/resources/broker.xml @@ -39,7 +39,7 @@ - + diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/ActiveMQServerControlImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/ActiveMQServerControlImpl.java index fcbf15ca3a..9140fe49ad 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/ActiveMQServerControlImpl.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/ActiveMQServerControlImpl.java @@ -1505,15 +1505,29 @@ public class ActiveMQServerControlImpl extends AbstractControl implements Active final String deleteNonDurableQueueRoles, final String manageRoles, final String browseRoles) throws Exception { + addSecuritySettings(addressMatch, sendRoles, consumeRoles, createDurableQueueRoles, deleteDurableQueueRoles, createNonDurableQueueRoles, deleteNonDurableQueueRoles, manageRoles, browseRoles, ""); + } + + @Override + public void addSecuritySettings(final String addressMatch, + final String sendRoles, + final String consumeRoles, + final String createDurableQueueRoles, + final String deleteDurableQueueRoles, + final String createNonDurableQueueRoles, + final String deleteNonDurableQueueRoles, + final String manageRoles, + final String browseRoles, + final String createAddressRoles) throws Exception { checkStarted(); clearIO(); try { - Set roles = SecurityFormatter.createSecurity(sendRoles, consumeRoles, createDurableQueueRoles, deleteDurableQueueRoles, createNonDurableQueueRoles, deleteNonDurableQueueRoles, manageRoles, browseRoles); + Set roles = SecurityFormatter.createSecurity(sendRoles, consumeRoles, createDurableQueueRoles, deleteDurableQueueRoles, createNonDurableQueueRoles, deleteNonDurableQueueRoles, manageRoles, browseRoles, createAddressRoles); server.getSecurityRepository().addMatch(addressMatch, roles); - PersistedRoles persistedRoles = new PersistedRoles(addressMatch, sendRoles, consumeRoles, createDurableQueueRoles, deleteDurableQueueRoles, createNonDurableQueueRoles, deleteNonDurableQueueRoles, manageRoles, browseRoles); + PersistedRoles persistedRoles = new PersistedRoles(addressMatch, sendRoles, consumeRoles, createDurableQueueRoles, deleteDurableQueueRoles, createNonDurableQueueRoles, deleteNonDurableQueueRoles, manageRoles, browseRoles, createAddressRoles); storageManager.storeSecurityRoles(persistedRoles); } finally { @@ -1588,7 +1602,7 @@ public class ActiveMQServerControlImpl extends AbstractControl implements Active if (addressSettings.getExpiryAddress() != null) { settings.add("expiryAddress", addressSettings.getExpiryAddress().toString()); } - return settings.add("expiryDelay", addressSettings.getExpiryDelay()).add("maxDeliveryAttempts", addressSettings.getMaxDeliveryAttempts()).add("pageCacheMaxSize", addressSettings.getPageCacheMaxSize()).add("maxSizeBytes", addressSettings.getMaxSizeBytes()).add("pageSizeBytes", addressSettings.getPageSizeBytes()).add("redeliveryDelay", addressSettings.getRedeliveryDelay()).add("redeliveryMultiplier", addressSettings.getRedeliveryMultiplier()).add("maxRedeliveryDelay", addressSettings.getMaxRedeliveryDelay()).add("redistributionDelay", addressSettings.getRedistributionDelay()).add("lastValueQueue", addressSettings.isLastValueQueue()).add("sendToDLAOnNoRoute", addressSettings.isSendToDLAOnNoRoute()).add("addressFullMessagePolicy", policy).add("slowConsumerThreshold", addressSettings.getSlowConsumerThreshold()).add("slowConsumerCheckPeriod", addressSettings.getSlowConsumerCheckPeriod()).add("slowConsumerPolicy", consumerPolicy).add("autoCreateJmsQueues", addressSettings.isAutoCreateJmsQueues()).add("autoDeleteJmsQueues", addressSettings.isAutoDeleteJmsQueues()).add("autoCreateJmsTopics", addressSettings.isAutoCreateJmsTopics()).add("autoDeleteJmsTopics", addressSettings.isAutoDeleteJmsTopics()).build().toString(); + return settings.add("expiryDelay", addressSettings.getExpiryDelay()).add("maxDeliveryAttempts", addressSettings.getMaxDeliveryAttempts()).add("pageCacheMaxSize", addressSettings.getPageCacheMaxSize()).add("maxSizeBytes", addressSettings.getMaxSizeBytes()).add("pageSizeBytes", addressSettings.getPageSizeBytes()).add("redeliveryDelay", addressSettings.getRedeliveryDelay()).add("redeliveryMultiplier", addressSettings.getRedeliveryMultiplier()).add("maxRedeliveryDelay", addressSettings.getMaxRedeliveryDelay()).add("redistributionDelay", addressSettings.getRedistributionDelay()).add("lastValueQueue", addressSettings.isLastValueQueue()).add("sendToDLAOnNoRoute", addressSettings.isSendToDLAOnNoRoute()).add("addressFullMessagePolicy", policy).add("slowConsumerThreshold", addressSettings.getSlowConsumerThreshold()).add("slowConsumerCheckPeriod", addressSettings.getSlowConsumerCheckPeriod()).add("slowConsumerPolicy", consumerPolicy).add("autoCreateJmsQueues", addressSettings.isAutoCreateJmsQueues()).add("autoCreateJmsTopics", addressSettings.isAutoCreateJmsTopics()).add("autoDeleteJmsQueues", addressSettings.getAutoDeleteJmsQueues()).add("autoDeleteJmsTopics", addressSettings.getAutoDeleteJmsQueues()).build().toString(); } @Override @@ -1661,8 +1675,6 @@ public class ActiveMQServerControlImpl extends AbstractControl implements Active } addressSettings.setAutoCreateJmsQueues(autoCreateJmsQueues); addressSettings.setAutoDeleteJmsQueues(autoDeleteJmsQueues); - addressSettings.setAutoCreateJmsTopics(autoCreateJmsTopics); - addressSettings.setAutoDeleteJmsTopics(autoDeleteJmsTopics); server.getAddressSettingsRepository().addMatch(address, addressSettings); storageManager.storeAddressSetting(new PersistedAddressSetting(new SimpleString(address), addressSettings)); diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/AddressBindingInfo.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/AddressBindingInfo.java index 838be122a8..2240ccdcb7 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/AddressBindingInfo.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/AddressBindingInfo.java @@ -27,4 +27,6 @@ public interface AddressBindingInfo { AddressInfo.RoutingType getRoutingType(); + int getDefaultMaxConsumers(); + } diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/QueueBindingInfo.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/QueueBindingInfo.java index 4d435c610f..3a0c240594 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/QueueBindingInfo.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/QueueBindingInfo.java @@ -52,5 +52,5 @@ public interface QueueBindingInfo { boolean isDeleteOnNoConsumers(); - void setDeleteOnNoConsumers(); + void setDeleteOnNoConsumers(boolean deleteOnNoConsumers); } diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/config/PersistedRoles.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/config/PersistedRoles.java index 383a75f3e4..ffa0dbb9a8 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/config/PersistedRoles.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/config/PersistedRoles.java @@ -46,6 +46,8 @@ public class PersistedRoles implements EncodingSupport { private SimpleString browseRoles; + private SimpleString createAddressRoles; + // Static -------------------------------------------------------- // Constructors -------------------------------------------------- @@ -72,7 +74,8 @@ public class PersistedRoles implements EncodingSupport { final String createNonDurableQueueRoles, final String deleteNonDurableQueueRoles, final String manageRoles, - final String browseRoles) { + final String browseRoles, + final String createAddressRoles) { super(); this.addressMatch = SimpleString.toSimpleString(addressMatch); this.sendRoles = SimpleString.toSimpleString(sendRoles); @@ -83,6 +86,7 @@ public class PersistedRoles implements EncodingSupport { this.deleteNonDurableQueueRoles = SimpleString.toSimpleString(deleteNonDurableQueueRoles); this.manageRoles = SimpleString.toSimpleString(manageRoles); this.browseRoles = SimpleString.toSimpleString(browseRoles); + this.createAddressRoles = SimpleString.toSimpleString(createAddressRoles); } // Public -------------------------------------------------------- @@ -158,6 +162,13 @@ public class PersistedRoles implements EncodingSupport { return browseRoles.toString(); } + /** + * @return the createAddressRoles + */ + public String getCreateAddressRoles() { + return createAddressRoles.toString(); + } + @Override public void encode(final ActiveMQBuffer buffer) { buffer.writeSimpleString(addressMatch); @@ -169,6 +180,7 @@ public class PersistedRoles implements EncodingSupport { buffer.writeNullableSimpleString(deleteNonDurableQueueRoles); buffer.writeNullableSimpleString(manageRoles); buffer.writeNullableSimpleString(browseRoles); + buffer.writeNullableSimpleString(createAddressRoles); } @Override @@ -180,7 +192,8 @@ public class PersistedRoles implements EncodingSupport { SimpleString.sizeofNullableString(createNonDurableQueueRoles) + SimpleString.sizeofNullableString(deleteNonDurableQueueRoles) + SimpleString.sizeofNullableString(manageRoles) + - SimpleString.sizeofNullableString(browseRoles); + SimpleString.sizeofNullableString(browseRoles) + + SimpleString.sizeofNullableString(createAddressRoles); } @@ -195,6 +208,7 @@ public class PersistedRoles implements EncodingSupport { deleteNonDurableQueueRoles = buffer.readNullableSimpleString(); manageRoles = buffer.readNullableSimpleString(); browseRoles = buffer.readNullableSimpleString(); + createAddressRoles = buffer.readNullableSimpleString(); } /* (non-Javadoc) @@ -212,6 +226,7 @@ public class PersistedRoles implements EncodingSupport { result = prime * result + ((deleteNonDurableQueueRoles == null) ? 0 : deleteNonDurableQueueRoles.hashCode()); result = prime * result + ((manageRoles == null) ? 0 : manageRoles.hashCode()); result = prime * result + ((browseRoles == null) ? 0 : browseRoles.hashCode()); + result = prime * result + ((createAddressRoles == null) ? 0 : createAddressRoles.hashCode()); result = prime * result + ((sendRoles == null) ? 0 : sendRoles.hashCode()); result = prime * result + (int) (storeId ^ (storeId >>> 32)); return result; @@ -269,6 +284,11 @@ public class PersistedRoles implements EncodingSupport { return false; } else if (!browseRoles.equals(other.browseRoles)) return false; + if (createAddressRoles == null) { + if (other.createAddressRoles != null) + return false; + } else if (!createAddressRoles.equals(other.createAddressRoles)) + return false; if (sendRoles == null) { if (other.sendRoles != null) return false; @@ -303,6 +323,8 @@ public class PersistedRoles implements EncodingSupport { manageRoles + ", browseRoles=" + browseRoles + + ", createAddressRoles=" + + createAddressRoles + "]"; } diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/AbstractJournalStorageManager.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/AbstractJournalStorageManager.java index af506c13cb..2299e208ad 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/AbstractJournalStorageManager.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/AbstractJournalStorageManager.java @@ -1221,7 +1221,7 @@ public abstract class AbstractJournalStorageManager implements StorageManager { SimpleString filterString = filter == null ? null : filter.getFilterString(); - PersistentQueueBindingEncoding bindingEncoding = new PersistentQueueBindingEncoding(queue.getName(), binding.getAddress(), filterString, queue.getUser(), queue.isAutoCreated()); + PersistentQueueBindingEncoding bindingEncoding = new PersistentQueueBindingEncoding(queue.getName(), binding.getAddress(), filterString, queue.getUser(), queue.isAutoCreated(), queue.getMaxConsumers(), queue.isDeleteOnNoConsumers()); readLock(); try { @@ -1268,7 +1268,7 @@ public abstract class AbstractJournalStorageManager implements StorageManager { @Override public void addAddressBinding(final long tx, final AddressInfo addressInfo) throws Exception { - PersistentAddressBindingEncoding bindingEncoding = new PersistentAddressBindingEncoding(addressInfo.getName(), addressInfo.getRoutingType()); + PersistentAddressBindingEncoding bindingEncoding = new PersistentAddressBindingEncoding(addressInfo.getName(), addressInfo.getRoutingType(), addressInfo.getDefaultMaxQueueConsumers()); readLock(); try { diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/codec/PersistentAddressBindingEncoding.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/codec/PersistentAddressBindingEncoding.java index 7ef7e4d82f..3821b34307 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/codec/PersistentAddressBindingEncoding.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/codec/PersistentAddressBindingEncoding.java @@ -29,6 +29,8 @@ public class PersistentAddressBindingEncoding implements EncodingSupport, Addres public SimpleString name; + public int defaultMaxConsumers; + public AddressInfo.RoutingType routingType; public PersistentAddressBindingEncoding() { @@ -41,13 +43,17 @@ public class PersistentAddressBindingEncoding implements EncodingSupport, Addres name + ", routingType=" + routingType + + ", defaultMaxConsumers=" + + defaultMaxConsumers + "]"; } public PersistentAddressBindingEncoding(final SimpleString name, - final AddressInfo.RoutingType routingType) { + final AddressInfo.RoutingType routingType, + final int defaultMaxConsumers) { this.name = name; this.routingType = routingType; + this.defaultMaxConsumers = defaultMaxConsumers; } @Override @@ -69,20 +75,27 @@ public class PersistentAddressBindingEncoding implements EncodingSupport, Addres return routingType; } + @Override + public int getDefaultMaxConsumers() { + return defaultMaxConsumers; + } + @Override public void decode(final ActiveMQBuffer buffer) { name = buffer.readSimpleString(); routingType = AddressInfo.RoutingType.getType(buffer.readByte()); + defaultMaxConsumers = buffer.readInt(); } @Override public void encode(final ActiveMQBuffer buffer) { buffer.writeSimpleString(name); buffer.writeByte(routingType.getType()); + buffer.writeInt(defaultMaxConsumers); } @Override public int getEncodeSize() { - return SimpleString.sizeofString(name) + DataConstants.SIZE_BYTE; + return SimpleString.sizeofString(name) + DataConstants.SIZE_BYTE + DataConstants.SIZE_INT; } } diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/codec/PersistentQueueBindingEncoding.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/codec/PersistentQueueBindingEncoding.java index 169cd7df85..88bc1cff43 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/codec/PersistentQueueBindingEncoding.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/codec/PersistentQueueBindingEncoding.java @@ -72,12 +72,16 @@ public class PersistentQueueBindingEncoding implements EncodingSupport, QueueBin final SimpleString address, final SimpleString filterString, final SimpleString user, - final boolean autoCreated) { + final boolean autoCreated, + final int maxConsumers, + final boolean deleteOnNoConsumers) { this.name = name; this.address = address; this.filterString = filterString; this.user = user; this.autoCreated = autoCreated; + this.maxConsumers = maxConsumers; + this.deleteOnNoConsumers = deleteOnNoConsumers; } @Override @@ -134,12 +138,12 @@ public class PersistentQueueBindingEncoding implements EncodingSupport, QueueBin @Override public int getMaxConsumers() { - return 0; + return maxConsumers; } @Override public void setMaxConsumers(int maxConsumers) { - + this.maxConsumers = maxConsumers; } @Override @@ -148,8 +152,8 @@ public class PersistentQueueBindingEncoding implements EncodingSupport, QueueBin } @Override - public void setDeleteOnNoConsumers() { - + public void setDeleteOnNoConsumers(boolean deleteOnNoConsumers) { + this.deleteOnNoConsumers = deleteOnNoConsumers; } @Override diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/impl/PostOfficeImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/impl/PostOfficeImpl.java index 6c654bf3c8..4c51373413 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/impl/PostOfficeImpl.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/impl/PostOfficeImpl.java @@ -421,11 +421,21 @@ public class PostOfficeImpl implements PostOffice, NotificationListener, Binding @Override public AddressInfo addAddressInfo(AddressInfo addressInfo) { + try { + getServer().getManagementService().registerAddress(addressInfo.getName()); + } catch (Exception e) { + e.printStackTrace(); + } return addressManager.addAddressInfo(addressInfo); } @Override public AddressInfo addOrUpdateAddressInfo(AddressInfo addressInfo) { + try { + getServer().getManagementService().registerAddress(addressInfo.getName()); + } catch (Exception e) { + e.printStackTrace(); + } return addressManager.addOrUpdateAddressInfo(addressInfo); } @@ -490,6 +500,7 @@ public class PostOfficeImpl implements PostOffice, NotificationListener, Binding throw new ActiveMQNonExistentQueueException(); } + // TODO: see whether we still want to do this or not if (deleteData && addressManager.getBindingsForRoutingAddress(binding.getAddress()) == null) { pagingManager.deletePageStore(binding.getAddress()); diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/impl/SimpleAddressManager.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/impl/SimpleAddressManager.java index 969a1a916a..6ed2564184 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/impl/SimpleAddressManager.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/impl/SimpleAddressManager.java @@ -23,7 +23,6 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import org.apache.activemq.artemis.api.core.SimpleString; -import org.apache.activemq.artemis.core.paging.impl.Page; import org.apache.activemq.artemis.core.postoffice.Address; import org.apache.activemq.artemis.core.postoffice.AddressManager; import org.apache.activemq.artemis.core.postoffice.Binding; @@ -39,7 +38,7 @@ import org.jboss.logging.Logger; */ public class SimpleAddressManager implements AddressManager { - private static final Logger logger = Logger.getLogger(Page.class); + private static final Logger logger = Logger.getLogger(SimpleAddressManager.class); private final ConcurrentMap addressInfoMap = new ConcurrentHashMap<>(); @@ -196,7 +195,7 @@ public class SimpleAddressManager implements AddressManager { private AddressInfo updateAddressInfo(AddressInfo from, AddressInfo to) { synchronized (from) { from.setRoutingType(to.getRoutingType()); - from.setDefaultMaxConsumers(to.getDefaultMaxConsumers()); + from.setDefaultMaxQueueConsumers(to.getDefaultMaxQueueConsumers()); from.setDefaultDeleteOnNoConsumers(to.isDefaultDeleteOnNoConsumers()); return from; } diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/protocol/core/ServerSessionPacketHandler.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/protocol/core/ServerSessionPacketHandler.java index 2a45f29618..be71a927f3 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/protocol/core/ServerSessionPacketHandler.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/protocol/core/ServerSessionPacketHandler.java @@ -30,6 +30,7 @@ import org.apache.activemq.artemis.core.io.IOCallback; import org.apache.activemq.artemis.core.persistence.StorageManager; import org.apache.activemq.artemis.core.protocol.core.impl.PacketImpl; import org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ActiveMQExceptionMessage; +import org.apache.activemq.artemis.core.protocol.core.impl.wireformat.CreateAddressMessage; import org.apache.activemq.artemis.core.protocol.core.impl.wireformat.CreateQueueMessage; import org.apache.activemq.artemis.core.protocol.core.impl.wireformat.CreateSharedQueueMessage; import org.apache.activemq.artemis.core.protocol.core.impl.wireformat.NullResponseMessage; @@ -82,6 +83,7 @@ import org.apache.activemq.artemis.core.server.ServerSession; import org.apache.activemq.artemis.spi.core.remoting.Connection; import org.jboss.logging.Logger; +import static org.apache.activemq.artemis.core.protocol.core.impl.PacketImpl.CREATE_ADDRESS; import static org.apache.activemq.artemis.core.protocol.core.impl.PacketImpl.CREATE_QUEUE; import static org.apache.activemq.artemis.core.protocol.core.impl.PacketImpl.CREATE_SHARED_QUEUE; import static org.apache.activemq.artemis.core.protocol.core.impl.PacketImpl.DELETE_QUEUE; @@ -220,6 +222,15 @@ public class ServerSessionPacketHandler implements ChannelHandler { break; } + case CREATE_ADDRESS: { + CreateAddressMessage request = (CreateAddressMessage) packet; + requiresResponse = request.isRequiresResponse(); + session.createAddress(request.getAddress(), request.isMulticast()); + if (requiresResponse) { + response = new NullResponseMessage(); + } + break; + } case CREATE_QUEUE: { CreateQueueMessage request = (CreateQueueMessage) packet; requiresResponse = request.isRequiresResponse(); diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/security/CheckType.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/security/CheckType.java index 7d4cc00bec..abea943595 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/security/CheckType.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/security/CheckType.java @@ -29,6 +29,12 @@ public enum CheckType { return role.isConsume(); } }, + CREATE_ADDRESS { + @Override + public boolean hasRole(final Role role) { + return role.isCreateAddress(); + } + }, CREATE_DURABLE_QUEUE { @Override public boolean hasRole(final Role role) { diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ActiveMQServer.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ActiveMQServer.java index 00b04c31b6..4c5b56696f 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ActiveMQServer.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ActiveMQServer.java @@ -473,7 +473,7 @@ public interface ActiveMQServer extends ActiveMQComponent { void removeClientConnection(String clientId); - AddressInfo createOrUpdateAddressInfo(AddressInfo addressInfo); + AddressInfo createOrUpdateAddressInfo(AddressInfo addressInfo) throws Exception; - AddressInfo removeAddressInfo(SimpleString address); + AddressInfo removeAddressInfo(SimpleString address) throws Exception; } diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/QueueConfig.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/QueueConfig.java index 3b7ed710b1..81834be355 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/QueueConfig.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/QueueConfig.java @@ -33,7 +33,7 @@ public final class QueueConfig { private final boolean durable; private final boolean temporary; private final boolean autoCreated; - private final int maxConsumers; + private final Integer maxConsumers; private final boolean deleteOnNoConsumers; public static final class Builder { @@ -47,7 +47,7 @@ public final class QueueConfig { private boolean durable; private boolean temporary; private boolean autoCreated; - private int maxConsumers; + private Integer maxConsumers; private boolean deleteOnNoConsumers; private Builder(final long id, final SimpleString name) { @@ -112,7 +112,7 @@ public final class QueueConfig { return this; } - public Builder maxConsumers(final int maxConsumers) { + public Builder maxConsumers(final Integer maxConsumers) { this.maxConsumers = maxConsumers; return this; } @@ -185,7 +185,7 @@ public final class QueueConfig { final boolean durable, final boolean temporary, final boolean autoCreated, - final int maxConsumers, + final Integer maxConsumers, final boolean deleteOnNoConsumers) { this.id = id; this.address = address; @@ -240,7 +240,7 @@ public final class QueueConfig { return deleteOnNoConsumers; } - public int maxConsumers() { + public Integer maxConsumers() { return maxConsumers; } diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ServerSession.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ServerSession.java index ab3898c282..910eb223d8 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ServerSession.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ServerSession.java @@ -26,6 +26,7 @@ import org.apache.activemq.artemis.core.message.impl.MessageInternal; import org.apache.activemq.artemis.core.persistence.OperationContext; import org.apache.activemq.artemis.core.postoffice.RoutingStatus; import org.apache.activemq.artemis.core.security.SecurityAuth; +import org.apache.activemq.artemis.core.server.impl.AddressInfo; import org.apache.activemq.artemis.core.transaction.Transaction; import org.apache.activemq.artemis.spi.core.protocol.RemotingConnection; @@ -109,6 +110,8 @@ public interface ServerSession extends SecurityAuth { boolean temporary, boolean durable) throws Exception; + AddressInfo createAddress(final SimpleString address, final boolean multicast) throws Exception; + void deleteQueue(SimpleString name) throws Exception; ServerConsumer createConsumer(long consumerID, diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/impl/BridgeImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/impl/BridgeImpl.java index d928fff51f..b828bee887 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/impl/BridgeImpl.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/impl/BridgeImpl.java @@ -78,10 +78,6 @@ public class BridgeImpl implements Bridge, SessionFailureListener, SendAcknowled // Attributes ---------------------------------------------------- - private static final SimpleString JMS_QUEUE_ADDRESS_PREFIX = new SimpleString("jms.queue."); - - private static final SimpleString JMS_TOPIC_ADDRESS_PREFIX = new SimpleString("jms.topic."); - protected final ServerLocatorInternal serverLocator; protected final Executor executor; @@ -879,16 +875,10 @@ public class BridgeImpl implements Bridge, SessionFailureListener, SendAcknowled return; } - if (forwardingAddress.startsWith(BridgeImpl.JMS_QUEUE_ADDRESS_PREFIX) || forwardingAddress.startsWith(BridgeImpl.JMS_TOPIC_ADDRESS_PREFIX)) { - if (!query.isExists()) { - ActiveMQServerLogger.LOGGER.errorQueryingBridge(forwardingAddress, retryCount); - scheduleRetryConnect(); - return; - } - } else { - if (!query.isExists()) { - ActiveMQServerLogger.LOGGER.bridgeNoBindings(getName(), getForwardingAddress(), getForwardingAddress()); - } + if (!query.isExists()) { + ActiveMQServerLogger.LOGGER.errorQueryingBridge(forwardingAddress, retryCount); + scheduleRetryConnect(); + return; } } diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ActiveMQServerImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ActiveMQServerImpl.java index 3578ce3f5d..67e60f1094 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ActiveMQServerImpl.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ActiveMQServerImpl.java @@ -50,7 +50,6 @@ import java.util.concurrent.atomic.AtomicInteger; import org.apache.activemq.artemis.api.config.ActiveMQDefaultConfiguration; import org.apache.activemq.artemis.api.core.Pair; import org.apache.activemq.artemis.api.core.SimpleString; -import org.apache.activemq.artemis.api.core.management.ResourceNames; import org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl; import org.apache.activemq.artemis.core.config.BridgeConfiguration; import org.apache.activemq.artemis.core.config.Configuration; @@ -692,14 +691,15 @@ public class ActiveMQServerImpl implements ActiveMQServer { return postOffice.isAddressBound(SimpleString.toSimpleString(address)); } + // TODO: this should probably look at the addresses too, not just queue bindings @Override public BindingQueryResult bindingQuery(SimpleString address) throws Exception { if (address == null) { throw ActiveMQMessageBundle.BUNDLE.addressIsNull(); } - boolean autoCreateJmsQueues = address.toString().startsWith(ResourceNames.JMS_QUEUE) && getAddressSettingsRepository().getMatch(address.toString()).isAutoCreateJmsQueues(); - boolean autoCreateJmsTopics = address.toString().startsWith(ResourceNames.JMS_TOPIC) && getAddressSettingsRepository().getMatch(address.toString()).isAutoCreateJmsTopics(); + boolean autoCreateJmsQueues = getAddressSettingsRepository().getMatch(address.toString()).isAutoCreateJmsQueues(); + boolean autoCreateJmsTopics = getAddressSettingsRepository().getMatch(address.toString()).isAutoCreateJmsTopics(); List names = new ArrayList<>(); @@ -728,7 +728,7 @@ public class ActiveMQServerImpl implements ActiveMQServer { throw ActiveMQMessageBundle.BUNDLE.queueNameIsNull(); } - boolean autoCreateJmsQueues = name.toString().startsWith(ResourceNames.JMS_QUEUE) && getAddressSettingsRepository().getMatch(name.toString()).isAutoCreateJmsQueues(); + boolean autoCreateJmsQueues = getAddressSettingsRepository().getMatch(name.toString()).isAutoCreateJmsQueues(); QueueQueryResult response; @@ -1628,11 +1628,8 @@ public class ActiveMQServerImpl implements ActiveMQServer { final Integer maxConsumers, final Boolean deleteOnNoConsumers) throws Exception { - if (resourceName.toString().toLowerCase().startsWith("jms.topic")) { - ActiveMQServerLogger.LOGGER.deployTopic(resourceName); - } else { - ActiveMQServerLogger.LOGGER.deployQueue(resourceName); - } + // TODO: fix logging here as this could be for a topic or queue + ActiveMQServerLogger.LOGGER.deployQueue(resourceName); return createQueue(address, resourceName, filterString, null, durable, temporary, true, false, autoCreated, maxConsumers, deleteOnNoConsumers); } @@ -1662,6 +1659,10 @@ public class ActiveMQServerImpl implements ActiveMQServer { final SecurityAuth session, final boolean checkConsumerCount, final boolean removeConsumers) throws Exception { + if (postOffice == null) { + return; + } + addressSettingsRepository.clearCache(); Binding binding = postOffice.getBinding(queueName); @@ -2210,7 +2211,7 @@ public class ActiveMQServerImpl implements ActiveMQServer { AddressInfo info = new AddressInfo(SimpleString.toSimpleString(config.getName())); info.setRoutingType(config.getRoutingType()); info.setDefaultDeleteOnNoConsumers(config.getDefaultDeleteOnNoConsumers()); - info.setDefaultMaxConsumers(config.getDefaultMaxConsumers()); + info.setDefaultMaxQueueConsumers(config.getDefaultMaxConsumers()); createOrUpdateAddressInfo(info); deployQueuesFromListCoreQueueConfiguration(config.getQueueConfigurations()); @@ -2323,20 +2324,34 @@ public class ActiveMQServerImpl implements ActiveMQServer { List roles = storageManager.recoverPersistedRoles(); for (PersistedRoles roleItem : roles) { - Set setRoles = SecurityFormatter.createSecurity(roleItem.getSendRoles(), roleItem.getConsumeRoles(), roleItem.getCreateDurableQueueRoles(), roleItem.getDeleteDurableQueueRoles(), roleItem.getCreateNonDurableQueueRoles(), roleItem.getDeleteNonDurableQueueRoles(), roleItem.getManageRoles(), roleItem.getBrowseRoles()); + Set setRoles = SecurityFormatter.createSecurity(roleItem.getSendRoles(), roleItem.getConsumeRoles(), roleItem.getCreateDurableQueueRoles(), roleItem.getDeleteDurableQueueRoles(), roleItem.getCreateNonDurableQueueRoles(), roleItem.getDeleteNonDurableQueueRoles(), roleItem.getManageRoles(), roleItem.getBrowseRoles(), roleItem.getCreateAddressRoles()); securityRepository.addMatch(roleItem.getAddressMatch().toString(), setRoles); } } @Override - public AddressInfo createOrUpdateAddressInfo(AddressInfo addressInfo) { - return postOffice.addOrUpdateAddressInfo(addressInfo); + public AddressInfo createOrUpdateAddressInfo(AddressInfo addressInfo) throws Exception { + AddressInfo result = postOffice.addOrUpdateAddressInfo(addressInfo); + + // TODO: is this the right way to do this? + long txID = storageManager.generateID(); + storageManager.addAddressBinding(txID, addressInfo); + storageManager.commitBindings(txID); + + return result; } @Override - public AddressInfo removeAddressInfo(SimpleString address) { - return postOffice.removeAddressInfo(address); + public AddressInfo removeAddressInfo(SimpleString address) throws Exception { + AddressInfo result = postOffice.removeAddressInfo(address); + + // TODO: is this the right way to do this? +// long txID = storageManager.generateID(); +// storageManager.deleteAddressBinding(txID, getAddressInfo(address).getID()); +// storageManager.commitBindings(txID); + + return result; } @Override @@ -2394,30 +2409,25 @@ public class ActiveMQServerImpl implements ActiveMQServer { final long queueID = storageManager.generateID(); final QueueConfig.Builder queueConfigBuilder; - final SimpleString address; if (addressName == null) { queueConfigBuilder = QueueConfig.builderWith(queueID, queueName); - address = queueName; } else { queueConfigBuilder = QueueConfig.builderWith(queueID, queueName, addressName); - address = addressName; } - - AddressInfo defaultAddressInfo = new AddressInfo(address); + AddressInfo defaultAddressInfo = new AddressInfo(addressName); // FIXME This boils down to a putIfAbsent (avoids race). This should be reflected in the API. - AddressInfo info = postOffice.addAddressInfo(defaultAddressInfo); + AddressInfo info = postOffice.getAddressInfo(addressName); - boolean addressExists = true; if (info == null) { info = defaultAddressInfo; - addressExists = false; } final boolean isDeleteOnNoConsumers = deleteOnNoConsumers == null ? info.isDefaultDeleteOnNoConsumers() : deleteOnNoConsumers; - final int noMaxConsumers = maxConsumers == null ? info.getDefaultMaxConsumers() : maxConsumers; + final int noMaxConsumers = maxConsumers == null ? info.getDefaultMaxQueueConsumers() : maxConsumers; - final QueueConfig queueConfig = queueConfigBuilder.filter(filter) + final QueueConfig queueConfig = queueConfigBuilder + .filter(filter) .pagingManager(pagingManager) .user(user) .durable(durable) @@ -2428,6 +2438,15 @@ public class ActiveMQServerImpl implements ActiveMQServer { .build(); final Queue queue = queueFactory.createQueueWith(queueConfig); + boolean addressAlreadyExists = true; + + if (postOffice.getAddressInfo(queue.getAddress()) == null) { + postOffice.addAddressInfo(new AddressInfo(queue.getAddress()) + .setRoutingType(AddressInfo.RoutingType.MULTICAST) + .setDefaultMaxQueueConsumers(maxConsumers == null ? ActiveMQDefaultConfiguration.getDefaultMaxQueueConsumers() : maxConsumers)); + addressAlreadyExists = false; + } + if (transientQueue) { queue.setConsumersRefCount(new TransientQueueManagerImpl(this, queue.getName())); } else if (queue.isAutoCreated()) { @@ -2437,10 +2456,10 @@ public class ActiveMQServerImpl implements ActiveMQServer { final QueueBinding localQueueBinding = new LocalQueueBinding(getAddressInfo(queue.getAddress()), queue, nodeManager.getNodeId()); if (queue.isDurable()) { - if (!addressExists) { - storageManager.addAddressBinding(txID, getAddressInfo(address)); - } storageManager.addQueueBinding(txID, localQueueBinding); + if (!addressAlreadyExists) { + storageManager.addAddressBinding(txID, getAddressInfo(queue.getAddress())); + } } try { @@ -2467,7 +2486,9 @@ public class ActiveMQServerImpl implements ActiveMQServer { throw e; } - managementService.registerAddress(queue.getAddress()); + if (!addressAlreadyExists) { + managementService.registerAddress(queue.getAddress()); + } managementService.registerQueue(queue, queue.getAddress(), storageManager); callPostQueueCreationCallbacks(queue.getName()); diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/AddressInfo.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/AddressInfo.java index 7c71c1fa27..488c4b21f7 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/AddressInfo.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/AddressInfo.java @@ -27,7 +27,7 @@ public class AddressInfo { private boolean defaultDeleteOnNoConsumers = ActiveMQDefaultConfiguration.getDefaultDeleteQueueOnNoConsumers(); - private int defaultMaxConsumers = ActiveMQDefaultConfiguration.getDefaultMaxQueueConsumers(); + private int defaultMaxQueueConsumers = ActiveMQDefaultConfiguration.getDefaultMaxQueueConsumers(); public AddressInfo(SimpleString name) { this.name = name; @@ -51,12 +51,12 @@ public class AddressInfo { return this; } - public int getDefaultMaxConsumers() { - return defaultMaxConsumers; + public int getDefaultMaxQueueConsumers() { + return defaultMaxQueueConsumers; } - public AddressInfo setDefaultMaxConsumers(int defaultMaxConsumers) { - this.defaultMaxConsumers = defaultMaxConsumers; + public AddressInfo setDefaultMaxQueueConsumers(int defaultMaxQueueConsumers) { + this.defaultMaxQueueConsumers = defaultMaxQueueConsumers; return this; } @@ -64,6 +64,17 @@ public class AddressInfo { return name; } + @Override + public String toString() { + StringBuffer buff = new StringBuffer(); + buff.append("AddressInfo [name=" + name); + buff.append(", routingType=" + routingType); + buff.append(", defaultMaxQueueConsumers=" + defaultMaxQueueConsumers); + buff.append(", defaultDeleteOnNoConsumers=" + defaultDeleteOnNoConsumers); + buff.append("]"); + return buff.toString(); + } + public enum RoutingType { MULTICAST, ANYCAST; diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/PostOfficeJournalLoader.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/PostOfficeJournalLoader.java index 6f4cf03440..dc64dddc2e 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/PostOfficeJournalLoader.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/PostOfficeJournalLoader.java @@ -180,7 +180,8 @@ public class PostOfficeJournalLoader implements JournalLoader { // TODO: figure out what else to set here AddressInfo addressInfo = new AddressInfo(addressBindingInfo.getName()) - .setRoutingType(addressBindingInfo.getRoutingType()); + .setRoutingType(addressBindingInfo.getRoutingType()) + .setDefaultMaxQueueConsumers(addressBindingInfo.getDefaultMaxConsumers()); postOffice.addAddressInfo(addressInfo); managementService.registerAddress(addressInfo.getName()); diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java index 7e68382b13..c391b906cf 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java @@ -40,6 +40,7 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; +import org.apache.activemq.artemis.api.config.ActiveMQDefaultConfiguration; import org.apache.activemq.artemis.api.core.ActiveMQException; import org.apache.activemq.artemis.api.core.Message; import org.apache.activemq.artemis.api.core.Pair; @@ -380,9 +381,9 @@ public class QueueImpl implements Queue { this.autoCreated = autoCreated; - this.maxConsumers = maxConsumers == null ? addressInfo.getDefaultMaxConsumers() : maxConsumers; + this.maxConsumers = maxConsumers == null ? (addressInfo == null ? ActiveMQDefaultConfiguration.getDefaultMaxQueueConsumers() : addressInfo.getDefaultMaxQueueConsumers()) : maxConsumers; - this.deleteOnNoConsumers = deleteOnNoConsumers == null ? addressInfo.isDefaultDeleteOnNoConsumers() : deleteOnNoConsumers; + this.deleteOnNoConsumers = deleteOnNoConsumers == null ? (addressInfo == null ? ActiveMQDefaultConfiguration.getDefaultDeleteQueueOnNoConsumers() : addressInfo.isDefaultDeleteOnNoConsumers()) : deleteOnNoConsumers; this.postOffice = postOffice; @@ -1883,7 +1884,7 @@ public class QueueImpl implements Queue { @Override public String toString() { - return "QueueImpl[name=" + name.toString() + ", postOffice=" + this.postOffice + "]@" + Integer.toHexString(System.identityHashCode(this)); + return "QueueImpl[name=" + name.toString() + ", postOffice=" + this.postOffice + ", temp=" + this.temporary + "]@" + Integer.toHexString(System.identityHashCode(this)); } private synchronized void internalAddTail(final MessageReference ref) { diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ScaleDownHandler.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ScaleDownHandler.java index dc62676e3f..9c1e2095a6 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ScaleDownHandler.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ScaleDownHandler.java @@ -439,7 +439,7 @@ public class ScaleDownHandler { private Integer getQueueID(ClientSession session, SimpleString queueName) throws Exception { Integer queueID = -1; Object result; - try (ClientRequestor requestor = new ClientRequestor(session, "jms.queue.activemq.management")) { + try (ClientRequestor requestor = new ClientRequestor(session, "activemq.management")) { ClientMessage managementMessage = session.createMessage(false); ManagementHelper.putAttribute(managementMessage, "core.queue." + queueName, "ID"); session.start(); diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ServerSessionImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ServerSessionImpl.java index 83193292d2..000c72a05c 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ServerSessionImpl.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ServerSessionImpl.java @@ -41,7 +41,6 @@ import org.apache.activemq.artemis.api.core.SimpleString; import org.apache.activemq.artemis.api.core.client.ClientSession; import org.apache.activemq.artemis.api.core.management.CoreNotificationType; import org.apache.activemq.artemis.api.core.management.ManagementHelper; -import org.apache.activemq.artemis.api.core.management.ResourceNames; import org.apache.activemq.artemis.core.client.impl.ClientMessageImpl; import org.apache.activemq.artemis.core.exception.ActiveMQXAException; import org.apache.activemq.artemis.core.filter.Filter; @@ -521,14 +520,7 @@ public class ServerSessionImpl implements ServerSession, FailureListener { server.checkQueueCreationLimit(getUsername()); - Queue queue; - - // any non-temporary JMS destination created via this method should be marked as auto-created - if (!temporary && ((address.toString().startsWith(ResourceNames.JMS_QUEUE) && address.equals(name)) || address.toString().startsWith(ResourceNames.JMS_TOPIC))) { - queue = server.createQueue(address, name, filterString, SimpleString.toSimpleString(getUsername()), durable, temporary, true, maxConsumers, deleteOnNoConsumers); - } else { - queue = server.createQueue(address, name, filterString, SimpleString.toSimpleString(getUsername()), durable, temporary, maxConsumers, deleteOnNoConsumers); - } + Queue queue = server.createQueue(address, name, filterString, SimpleString.toSimpleString(getUsername()), durable, temporary, maxConsumers, deleteOnNoConsumers); if (temporary) { // Temporary queue in core simply means the queue will be deleted if @@ -558,6 +550,17 @@ public class ServerSessionImpl implements ServerSession, FailureListener { } + @Override + public AddressInfo createAddress(final SimpleString address, final boolean multicast) throws Exception { + // make sure the user has privileges to create this queue + securityCheck(address, CheckType.CREATE_ADDRESS, this); + AddressInfo.RoutingType routingType = multicast ? AddressInfo.RoutingType.MULTICAST : AddressInfo.RoutingType.ANYCAST; + + AddressInfo addressInfo = server.createOrUpdateAddressInfo(new AddressInfo(address).setRoutingType(routingType)); + + return addressInfo; + } + @Override public void createSharedQueue(final SimpleString address, final SimpleString name, @@ -1516,6 +1519,12 @@ public class ServerSessionImpl implements ServerSession, FailureListener { SimpleString replyTo = message.getSimpleStringProperty(ClientMessageImpl.REPLYTO_HEADER_NAME); if (replyTo != null) { + // TODO: move this check somewhere else? this is a JMS-specific bit of logic in the core impl + if (replyTo.toString().startsWith("queue://") || replyTo.toString().startsWith("topic://")) { + replyTo = SimpleString.toSimpleString(replyTo.toString().substring(8)); + } else if (replyTo.toString().startsWith("temp-queue://") || replyTo.toString().startsWith("temp-topic://")) { + replyTo = SimpleString.toSimpleString(replyTo.toString().substring(13)); + } reply.setAddress(replyTo); doSend(tx, reply, direct, false); diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/management/impl/ManagementServiceImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/management/impl/ManagementServiceImpl.java index 44da08a145..d3103bcd05 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/management/impl/ManagementServiceImpl.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/management/impl/ManagementServiceImpl.java @@ -464,11 +464,13 @@ public class ManagementServiceImpl implements ManagementService { public synchronized void registerInRegistry(final String resourceName, final Object managedResource) { unregisterFromRegistry(resourceName); + ActiveMQServerLogger.LOGGER.info("Registering: " + resourceName); registry.put(resourceName, managedResource); } @Override public synchronized void unregisterFromRegistry(final String resourceName) { + ActiveMQServerLogger.LOGGER.info("Unregistering: " + resourceName, new Exception()); registry.remove(resourceName); } diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/settings/impl/AddressSettings.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/settings/impl/AddressSettings.java index 0d14c7cd64..68d96568a3 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/settings/impl/AddressSettings.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/settings/impl/AddressSettings.java @@ -52,9 +52,9 @@ public class AddressSettings implements Mergeable, Serializable public static final boolean DEFAULT_LAST_VALUE_QUEUE = false; - public static final boolean DEFAULT_AUTO_CREATE_QUEUES = true; + public static final boolean DEFAULT_AUTO_CREATE_JMS_QUEUES = true; - public static final boolean DEFAULT_AUTO_DELETE_QUEUES = true; + public static final boolean DEFAULT_AUTO_DELETE_JMS_QUEUES = true; public static final boolean DEFAULT_AUTO_CREATE_TOPICS = true; @@ -166,7 +166,7 @@ public class AddressSettings implements Mergeable, Serializable } public boolean isAutoCreateJmsQueues() { - return autoCreateJmsQueues != null ? autoCreateJmsQueues : AddressSettings.DEFAULT_AUTO_CREATE_QUEUES; + return autoCreateJmsQueues != null ? autoCreateJmsQueues : AddressSettings.DEFAULT_AUTO_CREATE_JMS_QUEUES; } public AddressSettings setAutoCreateJmsQueues(final boolean autoCreateJmsQueues) { @@ -174,8 +174,8 @@ public class AddressSettings implements Mergeable, Serializable return this; } - public boolean isAutoDeleteJmsQueues() { - return autoDeleteJmsQueues != null ? autoDeleteJmsQueues : AddressSettings.DEFAULT_AUTO_DELETE_QUEUES; + public boolean getAutoDeleteJmsQueues() { + return autoDeleteJmsQueues != null ? autoDeleteJmsQueues : AddressSettings.DEFAULT_AUTO_DELETE_JMS_QUEUES; } public AddressSettings setAutoDeleteJmsQueues(final boolean autoDeleteJmsQueues) { @@ -193,7 +193,7 @@ public class AddressSettings implements Mergeable, Serializable } public boolean isAutoDeleteJmsTopics() { - return autoDeleteJmsTopics != null ? autoDeleteJmsTopics : AddressSettings.DEFAULT_AUTO_DELETE_QUEUES; + return autoDeleteJmsTopics != null ? autoDeleteJmsTopics : AddressSettings.DEFAULT_AUTO_DELETE_TOPICS; } public AddressSettings setAutoDeleteJmsTopics(final boolean autoDeleteJmsTopics) { @@ -459,9 +459,9 @@ public class AddressSettings implements Mergeable, Serializable if (autoDeleteJmsQueues == null) { autoDeleteJmsQueues = merged.autoDeleteJmsQueues; } - if (autoCreateJmsTopics == null) { - autoCreateJmsTopics = merged.autoCreateJmsTopics; - } +// if (autoCreateJmsTopics == null) { +// autoCreateJmsTopics = merged.autoCreateJmsTopics; +// } if (autoDeleteJmsTopics == null) { autoDeleteJmsTopics = merged.autoDeleteJmsTopics; } @@ -532,7 +532,7 @@ public class AddressSettings implements Mergeable, Serializable autoDeleteJmsQueues = BufferHelper.readNullableBoolean(buffer); - autoCreateJmsTopics = BufferHelper.readNullableBoolean(buffer); +// autoCreateJmsTopics = BufferHelper.readNullableBoolean(buffer); autoDeleteJmsTopics = BufferHelper.readNullableBoolean(buffer); @@ -565,7 +565,7 @@ public class AddressSettings implements Mergeable, Serializable BufferHelper.sizeOfNullableSimpleString(slowConsumerPolicy != null ? slowConsumerPolicy.toString() : null) + BufferHelper.sizeOfNullableBoolean(autoCreateJmsQueues) + BufferHelper.sizeOfNullableBoolean(autoDeleteJmsQueues) + - BufferHelper.sizeOfNullableBoolean(autoCreateJmsTopics) + +// BufferHelper.sizeOfNullableBoolean(autoCreateJmsTopics) + BufferHelper.sizeOfNullableBoolean(autoDeleteJmsTopics) + BufferHelper.sizeOfNullableInteger(managementBrowsePageSize) + BufferHelper.sizeOfNullableLong(maxSizeBytesRejectThreshold); @@ -615,7 +615,7 @@ public class AddressSettings implements Mergeable, Serializable BufferHelper.writeNullableBoolean(buffer, autoDeleteJmsQueues); - BufferHelper.writeNullableBoolean(buffer, autoCreateJmsTopics); +// BufferHelper.writeNullableBoolean(buffer, autoCreateJmsTopics); BufferHelper.writeNullableBoolean(buffer, autoDeleteJmsTopics); @@ -652,7 +652,7 @@ public class AddressSettings implements Mergeable, Serializable result = prime * result + ((slowConsumerPolicy == null) ? 0 : slowConsumerPolicy.hashCode()); result = prime * result + ((autoCreateJmsQueues == null) ? 0 : autoCreateJmsQueues.hashCode()); result = prime * result + ((autoDeleteJmsQueues == null) ? 0 : autoDeleteJmsQueues.hashCode()); - result = prime * result + ((autoCreateJmsTopics == null) ? 0 : autoCreateJmsTopics.hashCode()); +// result = prime * result + ((autoCreateJmsTopics == null) ? 0 : autoCreateJmsTopics.hashCode()); result = prime * result + ((autoDeleteJmsTopics == null) ? 0 : autoDeleteJmsTopics.hashCode()); result = prime * result + ((managementBrowsePageSize == null) ? 0 : managementBrowsePageSize.hashCode()); result = prime * result + ((queuePrefetch == null) ? 0 : queuePrefetch.hashCode()); @@ -778,11 +778,11 @@ public class AddressSettings implements Mergeable, Serializable } else if (!autoDeleteJmsQueues.equals(other.autoDeleteJmsQueues)) return false; - if (autoCreateJmsTopics == null) { - if (other.autoCreateJmsTopics != null) - return false; - } else if (!autoCreateJmsTopics.equals(other.autoCreateJmsTopics)) - return false; +// if (autoCreateJmsTopics == null) { +// if (other.autoCreateJmsTopics != null) +// return false; +// } else if (!autoCreateJmsTopics.equals(other.autoCreateJmsTopics)) +// return false; if (autoDeleteJmsTopics == null) { if (other.autoDeleteJmsTopics != null) return false; @@ -854,11 +854,10 @@ public class AddressSettings implements Mergeable, Serializable slowConsumerPolicy + ", autoCreateJmsQueues=" + autoCreateJmsQueues + - ", autoDeleteJmsQueues=" + - autoDeleteJmsQueues + + ", autoDeleteJmsQueues=" + autoDeleteJmsQueues + ", autoCreateJmsTopics=" + - autoCreateJmsTopics + - ", autoDeleteJmsTopics=" + +// autoCreateJmsTopics + +// ", autoDeleteJmsTopics=" + autoDeleteJmsTopics + ", managementBrowsePageSize=" + managementBrowsePageSize + diff --git a/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/FileConfigurationParserTest.java b/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/FileConfigurationParserTest.java index 9653760cd6..f2b01439ec 100644 --- a/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/FileConfigurationParserTest.java +++ b/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/FileConfigurationParserTest.java @@ -170,7 +170,7 @@ public class FileConfigurationParserTest extends ActiveMQTestBase { "" + "\n" + "" + "\n" + "" + "\n" + - "" + "\n" + "jms.queue.DLQ\n" + "\n" + "jms.queue.ExpiryQueue\n" + "\n" + "0\n" + "\n" + "10485760\n" + "\n" + "10" + "\n" + "BLOCK" + "\n" + + "" + "\n" + "DLQ\n" + "\n" + "ExpiryQueue\n" + "\n" + "0\n" + "\n" + "10485760\n" + "\n" + "10" + "\n" + "BLOCK" + "\n" + "" + "\n" + "" + "\n"; diff --git a/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/FileConfigurationTest.java b/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/FileConfigurationTest.java index 0d53a71ae5..41af399a87 100644 --- a/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/FileConfigurationTest.java +++ b/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/FileConfigurationTest.java @@ -299,7 +299,7 @@ public class FileConfigurationTest extends ConfigurationImplTest { assertEquals(5, conf.getAddressesSettings().get("a1").getSlowConsumerCheckPeriod()); assertEquals(SlowConsumerPolicy.NOTIFY, conf.getAddressesSettings().get("a1").getSlowConsumerPolicy()); assertEquals(true, conf.getAddressesSettings().get("a1").isAutoCreateJmsQueues()); - assertEquals(true, conf.getAddressesSettings().get("a1").isAutoDeleteJmsQueues()); + assertEquals(true, conf.getAddressesSettings().get("a1").getAutoDeleteJmsQueues()); assertEquals(true, conf.getAddressesSettings().get("a1").isAutoCreateJmsTopics()); assertEquals(true, conf.getAddressesSettings().get("a1").isAutoDeleteJmsTopics()); @@ -314,7 +314,7 @@ public class FileConfigurationTest extends ConfigurationImplTest { assertEquals(15, conf.getAddressesSettings().get("a2").getSlowConsumerCheckPeriod()); assertEquals(SlowConsumerPolicy.KILL, conf.getAddressesSettings().get("a2").getSlowConsumerPolicy()); assertEquals(false, conf.getAddressesSettings().get("a2").isAutoCreateJmsQueues()); - assertEquals(false, conf.getAddressesSettings().get("a2").isAutoDeleteJmsQueues()); + assertEquals(false, conf.getAddressesSettings().get("a2").getAutoDeleteJmsQueues()); assertEquals(false, conf.getAddressesSettings().get("a2").isAutoCreateJmsTopics()); assertEquals(false, conf.getAddressesSettings().get("a2").isAutoDeleteJmsTopics()); diff --git a/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/WrongRoleFileConfigurationParserTest.java b/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/WrongRoleFileConfigurationParserTest.java index d3f76797d9..b19aee0fb1 100644 --- a/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/WrongRoleFileConfigurationParserTest.java +++ b/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/WrongRoleFileConfigurationParserTest.java @@ -89,7 +89,7 @@ public class WrongRoleFileConfigurationParserTest extends ActiveMQTestBase { "" + "\n" + "" + "\n" + "" + "\n" + - "" + "\n" + "jms.queue.DLQ\n" + "\n" + "jms.queue.ExpiryQueue\n" + "\n" + "0\n" + "\n" + "10485760\n" + "\n" + "10" + "\n" + "BLOCK" + "\n" + + "" + "\n" + "DLQ\n" + "\n" + "ExpiryQueue\n" + "\n" + "0\n" + "\n" + "10485760\n" + "\n" + "10" + "\n" + "BLOCK" + "\n" + "" + "\n" + "" + "\n" + ""; diff --git a/artemis-server/src/test/java/org/apache/activemq/artemis/core/security/RoleTest.java b/artemis-server/src/test/java/org/apache/activemq/artemis/core/security/RoleTest.java index 3a1729a180..5274db6e45 100644 --- a/artemis-server/src/test/java/org/apache/activemq/artemis/core/security/RoleTest.java +++ b/artemis-server/src/test/java/org/apache/activemq/artemis/core/security/RoleTest.java @@ -21,6 +21,7 @@ import org.junit.Test; import static org.apache.activemq.artemis.core.security.CheckType.BROWSE; import static org.apache.activemq.artemis.core.security.CheckType.CONSUME; +import static org.apache.activemq.artemis.core.security.CheckType.CREATE_ADDRESS; import static org.apache.activemq.artemis.core.security.CheckType.CREATE_DURABLE_QUEUE; import static org.apache.activemq.artemis.core.security.CheckType.CREATE_NON_DURABLE_QUEUE; import static org.apache.activemq.artemis.core.security.CheckType.DELETE_DURABLE_QUEUE; @@ -41,7 +42,7 @@ public class RoleTest extends Assert { @Test public void testWriteRole() throws Exception { - Role role = new Role("testWriteRole", true, false, false, false, false, false, false, false); + Role role = new Role("testWriteRole", true, false, false, false, false, false, false, false, false); Assert.assertTrue(SEND.hasRole(role)); Assert.assertFalse(CONSUME.hasRole(role)); Assert.assertFalse(CREATE_DURABLE_QUEUE.hasRole(role)); @@ -50,11 +51,12 @@ public class RoleTest extends Assert { Assert.assertFalse(DELETE_NON_DURABLE_QUEUE.hasRole(role)); Assert.assertFalse(MANAGE.hasRole(role)); Assert.assertFalse(BROWSE.hasRole(role)); + Assert.assertFalse(CREATE_ADDRESS.hasRole(role)); } @Test public void testReadRole() throws Exception { - Role role = new Role("testReadRole", false, true, false, false, false, false, false, true); + Role role = new Role("testReadRole", false, true, false, false, false, false, false, true, false); Assert.assertFalse(SEND.hasRole(role)); Assert.assertTrue(CONSUME.hasRole(role)); Assert.assertFalse(CREATE_DURABLE_QUEUE.hasRole(role)); @@ -63,11 +65,12 @@ public class RoleTest extends Assert { Assert.assertFalse(DELETE_NON_DURABLE_QUEUE.hasRole(role)); Assert.assertFalse(MANAGE.hasRole(role)); Assert.assertTrue(BROWSE.hasRole(role)); + Assert.assertFalse(CREATE_ADDRESS.hasRole(role)); } @Test public void testCreateRole() throws Exception { - Role role = new Role("testCreateRole", false, false, true, false, false, false, false, false); + Role role = new Role("testCreateRole", false, false, true, false, false, false, false, false, false); Assert.assertFalse(SEND.hasRole(role)); Assert.assertFalse(CONSUME.hasRole(role)); Assert.assertTrue(CREATE_DURABLE_QUEUE.hasRole(role)); @@ -76,11 +79,12 @@ public class RoleTest extends Assert { Assert.assertFalse(DELETE_NON_DURABLE_QUEUE.hasRole(role)); Assert.assertFalse(MANAGE.hasRole(role)); Assert.assertFalse(BROWSE.hasRole(role)); + Assert.assertFalse(CREATE_ADDRESS.hasRole(role)); } @Test public void testManageRole() throws Exception { - Role role = new Role("testManageRole", false, false, false, false, false, false, true, false); + Role role = new Role("testManageRole", false, false, false, false, false, false, true, false, false); Assert.assertFalse(SEND.hasRole(role)); Assert.assertFalse(CONSUME.hasRole(role)); Assert.assertFalse(CREATE_DURABLE_QUEUE.hasRole(role)); @@ -89,16 +93,17 @@ public class RoleTest extends Assert { Assert.assertFalse(DELETE_NON_DURABLE_QUEUE.hasRole(role)); Assert.assertTrue(MANAGE.hasRole(role)); Assert.assertFalse(BROWSE.hasRole(role)); + Assert.assertFalse(CREATE_ADDRESS.hasRole(role)); } @Test public void testEqualsAndHashcode() throws Exception { - Role role = new Role("testEquals", true, true, true, false, false, false, false, false); - Role sameRole = new Role("testEquals", true, true, true, false, false, false, false, false); - Role roleWithDifferentName = new Role("notEquals", true, true, true, false, false, false, false, false); - Role roleWithDifferentRead = new Role("testEquals", false, true, true, false, false, false, false, false); - Role roleWithDifferentWrite = new Role("testEquals", true, false, true, false, false, false, false, false); - Role roleWithDifferentCreate = new Role("testEquals", true, true, false, false, false, false, false, false); + Role role = new Role("testEquals", true, true, true, false, false, false, false, false, false); + Role sameRole = new Role("testEquals", true, true, true, false, false, false, false, false, false); + Role roleWithDifferentName = new Role("notEquals", true, true, true, false, false, false, false, false, false); + Role roleWithDifferentRead = new Role("testEquals", false, true, true, false, false, false, false, false, false); + Role roleWithDifferentWrite = new Role("testEquals", true, false, true, false, false, false, false, false, false); + Role roleWithDifferentCreate = new Role("testEquals", true, true, false, false, false, false, false, false, false); Assert.assertTrue(role.equals(role)); diff --git a/artemis-server/src/test/java/org/apache/activemq/artemis/core/settings/AddressSettingsTest.java b/artemis-server/src/test/java/org/apache/activemq/artemis/core/settings/AddressSettingsTest.java index 202f2ba259..3861782464 100644 --- a/artemis-server/src/test/java/org/apache/activemq/artemis/core/settings/AddressSettingsTest.java +++ b/artemis-server/src/test/java/org/apache/activemq/artemis/core/settings/AddressSettingsTest.java @@ -39,10 +39,10 @@ public class AddressSettingsTest extends ActiveMQTestBase { Assert.assertEquals(AddressSettings.DEFAULT_SLOW_CONSUMER_THRESHOLD, addressSettings.getSlowConsumerThreshold()); Assert.assertEquals(AddressSettings.DEFAULT_SLOW_CONSUMER_CHECK_PERIOD, addressSettings.getSlowConsumerCheckPeriod()); Assert.assertEquals(AddressSettings.DEFAULT_SLOW_CONSUMER_POLICY, addressSettings.getSlowConsumerPolicy()); - Assert.assertEquals(AddressSettings.DEFAULT_AUTO_CREATE_QUEUES, addressSettings.isAutoCreateJmsQueues()); - Assert.assertEquals(AddressSettings.DEFAULT_AUTO_DELETE_QUEUES, addressSettings.isAutoDeleteJmsQueues()); - Assert.assertEquals(AddressSettings.DEFAULT_AUTO_CREATE_TOPICS, addressSettings.isAutoCreateJmsTopics()); - Assert.assertEquals(AddressSettings.DEFAULT_AUTO_DELETE_TOPICS, addressSettings.isAutoDeleteJmsTopics()); + Assert.assertEquals(AddressSettings.DEFAULT_AUTO_CREATE_JMS_QUEUES, addressSettings.isAutoCreateJmsQueues()); + Assert.assertEquals(AddressSettings.DEFAULT_AUTO_DELETE_JMS_QUEUES, addressSettings.getAutoDeleteJmsQueues()); +// Assert.assertEquals(AddressSettings.DEFAULT_AUTO_CREATE_TOPICS, addressSettings.isAutoCreateJmsTopics()); +// Assert.assertEquals(AddressSettings.DEFAULT_AUTO_DELETE_TOPICS, addressSettings.isAutoDeleteJmsTopics()); } @Test diff --git a/artemis-server/src/test/java/org/apache/activemq/artemis/core/settings/RepositoryTest.java b/artemis-server/src/test/java/org/apache/activemq/artemis/core/settings/RepositoryTest.java index 2f59240171..b8678ae8a6 100644 --- a/artemis-server/src/test/java/org/apache/activemq/artemis/core/settings/RepositoryTest.java +++ b/artemis-server/src/test/java/org/apache/activemq/artemis/core/settings/RepositoryTest.java @@ -72,13 +72,13 @@ public class RepositoryTest extends ActiveMQTestBase { public void testSingletwo() { securityRepository.addMatch("queues.another.aq.*", new HashSet()); HashSet roles = new HashSet<>(2); - roles.add(new Role("test1", true, true, true, true, true, true, true, true)); - roles.add(new Role("test2", true, true, true, true, true, true, true, true)); + roles.add(new Role("test1", true, true, true, true, true, true, true, true, true)); + roles.add(new Role("test2", true, true, true, true, true, true, true, true, true)); securityRepository.addMatch("queues.aq", roles); HashSet roles2 = new HashSet<>(2); - roles2.add(new Role("test1", true, true, true, true, true, true, true, true)); - roles2.add(new Role("test2", true, true, true, true, true, true, true, true)); - roles2.add(new Role("test3", true, true, true, true, true, true, true, true)); + roles2.add(new Role("test1", true, true, true, true, true, true, true, true, true)); + roles2.add(new Role("test2", true, true, true, true, true, true, true, true, true)); + roles2.add(new Role("test3", true, true, true, true, true, true, true, true, true)); securityRepository.addMatch("queues.another.andanother", roles2); HashSet hashSet = securityRepository.getMatch("queues.another.andanother"); @@ -89,8 +89,8 @@ public class RepositoryTest extends ActiveMQTestBase { public void testWithoutWildcard() { securityRepository.addMatch("queues.1.*", new HashSet()); HashSet roles = new HashSet<>(2); - roles.add(new Role("test1", true, true, true, true, true, true, true, true)); - roles.add(new Role("test2", true, true, true, true, true, true, true, true)); + roles.add(new Role("test1", true, true, true, true, true, true, true, true, true)); + roles.add(new Role("test2", true, true, true, true, true, true, true, true, true)); securityRepository.addMatch("queues.2.aq", roles); HashSet hashSet = securityRepository.getMatch("queues.2.aq"); Assert.assertEquals(hashSet.size(), 2); diff --git a/examples/features/standard/management/src/main/java/org/apache/activemq/artemis/jms/example/ManagementExample.java b/examples/features/standard/management/src/main/java/org/apache/activemq/artemis/jms/example/ManagementExample.java index 79a4898bf5..f1ceb3a143 100644 --- a/examples/features/standard/management/src/main/java/org/apache/activemq/artemis/jms/example/ManagementExample.java +++ b/examples/features/standard/management/src/main/java/org/apache/activemq/artemis/jms/example/ManagementExample.java @@ -81,7 +81,7 @@ public class ManagementExample { // Step 13. Use a helper class to fill the JMS message with management information: // * the name of the resource to manage // * in this case, we want to retrieve the value of the messageCount of the queue - JMSManagementHelper.putAttribute(m, "jms.queue.exampleQueue", "messageCount"); + JMSManagementHelper.putAttribute(m, "exampleQueue", "messageCount"); // Step 14. Use the requestor to send the request and wait for the reply Message reply = requestor.request(m); @@ -97,7 +97,7 @@ public class ManagementExample { // * the object name of the resource to manage (i.e. the queue) // * in this case, we want to call the "removeMessage" operation with the JMS MessageID // of the message sent to the queue in step 8. - JMSManagementHelper.putOperationInvocation(m, "jms.queue.exampleQueue", "removeMessage", message.getJMSMessageID()); + JMSManagementHelper.putOperationInvocation(m, "exampleQueue", "removeMessage", message.getJMSMessageID()); // Step 18 Use the requestor to send the request and wait for the reply reply = requestor.request(m); diff --git a/examples/features/standard/pre-acknowledge/src/main/java/org/apache/activemq/artemis/jms/example/PreacknowledgeExample.java b/examples/features/standard/pre-acknowledge/src/main/java/org/apache/activemq/artemis/jms/example/PreacknowledgeExample.java index 4962535010..8a3fe100b9 100644 --- a/examples/features/standard/pre-acknowledge/src/main/java/org/apache/activemq/artemis/jms/example/PreacknowledgeExample.java +++ b/examples/features/standard/pre-acknowledge/src/main/java/org/apache/activemq/artemis/jms/example/PreacknowledgeExample.java @@ -113,7 +113,7 @@ public class PreacknowledgeExample { Message m = session.createMessage(); - JMSManagementHelper.putAttribute(m, "jms.queue.exampleQueue", "messageCount"); + JMSManagementHelper.putAttribute(m, "exampleQueue", "messageCount"); Message response = requestor.request(m); diff --git a/examples/features/standard/rest/dup-send/src/main/java/PostOrder.java b/examples/features/standard/rest/dup-send/src/main/java/PostOrder.java index dfa37fe0cc..c2d1dca3ca 100644 --- a/examples/features/standard/rest/dup-send/src/main/java/PostOrder.java +++ b/examples/features/standard/rest/dup-send/src/main/java/PostOrder.java @@ -23,7 +23,7 @@ public class PostOrder { public static void main(String[] args) throws Exception { // first get the create URL for the shipping queue - ClientRequest request = new ClientRequest("http://localhost:8080/queues/jms.queue.orders"); + ClientRequest request = new ClientRequest("http://localhost:8080/queues/orders"); ClientResponse res = request.head(); Link create = res.getHeaderAsLink("msg-create"); diff --git a/examples/features/standard/rest/dup-send/src/main/java/PostOrderWithId.java b/examples/features/standard/rest/dup-send/src/main/java/PostOrderWithId.java index 2e87398ef0..af864e4855 100644 --- a/examples/features/standard/rest/dup-send/src/main/java/PostOrderWithId.java +++ b/examples/features/standard/rest/dup-send/src/main/java/PostOrderWithId.java @@ -26,7 +26,7 @@ public class PostOrderWithId { throw new RuntimeException("You must pass in a parameter"); // first get the create URL for the shipping queue - ClientRequest request = new ClientRequest("http://localhost:8080/queues/jms.queue.orders"); + ClientRequest request = new ClientRequest("http://localhost:8080/queues/orders"); ClientResponse res = request.head(); Link create = res.getHeaderAsLink("msg-create-with-id"); diff --git a/examples/features/standard/rest/dup-send/src/main/java/ReceiveOrder.java b/examples/features/standard/rest/dup-send/src/main/java/ReceiveOrder.java index e16d4eee64..3c29ae0c95 100644 --- a/examples/features/standard/rest/dup-send/src/main/java/ReceiveOrder.java +++ b/examples/features/standard/rest/dup-send/src/main/java/ReceiveOrder.java @@ -23,7 +23,7 @@ public class ReceiveOrder { public static void main(String[] args) throws Exception { // first get the create URL for the shipping queue - ClientRequest request = new ClientRequest("http://localhost:8080/queues/jms.queue.orders"); + ClientRequest request = new ClientRequest("http://localhost:8080/queues/orders"); ClientResponse res = request.head(); Link pullConsumers = res.getHeaderAsLink("msg-pull-consumers"); res.releaseConnection(); diff --git a/examples/features/standard/rest/javascript-chat/src/test/java/org/jboss/resteasy/messaging/test/AutoAckTopicTest.java b/examples/features/standard/rest/javascript-chat/src/test/java/org/jboss/resteasy/messaging/test/AutoAckTopicTest.java index 10fb311a72..4f15a54019 100644 --- a/examples/features/standard/rest/javascript-chat/src/test/java/org/jboss/resteasy/messaging/test/AutoAckTopicTest.java +++ b/examples/features/standard/rest/javascript-chat/src/test/java/org/jboss/resteasy/messaging/test/AutoAckTopicTest.java @@ -31,7 +31,7 @@ public class AutoAckTopicTest { //todo fix //@Test public void testSuccessFirst() throws Exception { - ClientRequest request = new ClientRequest("http://localhost:8080/topics/jms.topic.chat"); + ClientRequest request = new ClientRequest("http://localhost:8080/topics/chat"); ClientResponse response = request.head(); Assert.assertEquals("*****", 200, response.getStatus()); diff --git a/examples/features/standard/rest/jms-to-rest/src/main/java/JmsReceive.java b/examples/features/standard/rest/jms-to-rest/src/main/java/JmsReceive.java index 54ca51f0a7..5af794bbde 100644 --- a/examples/features/standard/rest/jms-to-rest/src/main/java/JmsReceive.java +++ b/examples/features/standard/rest/jms-to-rest/src/main/java/JmsReceive.java @@ -32,7 +32,7 @@ public class JmsReceive { public static void main(String[] args) throws Exception { System.out.println("Receive Setup..."); ConnectionFactory factory = new ActiveMQJMSConnectionFactory("tcp://localhost:61616"); - Destination destination = ActiveMQDestination.fromAddress("jms.queue.orders"); + Destination destination = ActiveMQDestination.fromPrefixedName("queue://orders"); try (Connection conn = factory.createConnection()) { Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE); diff --git a/examples/features/standard/rest/jms-to-rest/src/main/java/JmsSend.java b/examples/features/standard/rest/jms-to-rest/src/main/java/JmsSend.java index 7d5734f3b0..9c4217a393 100644 --- a/examples/features/standard/rest/jms-to-rest/src/main/java/JmsSend.java +++ b/examples/features/standard/rest/jms-to-rest/src/main/java/JmsSend.java @@ -29,7 +29,7 @@ public class JmsSend { public static void main(String[] args) throws Exception { ConnectionFactory factory = new ActiveMQJMSConnectionFactory("tcp://localhost:61616"); - Destination destination = ActiveMQDestination.fromAddress("jms.queue.orders"); + Destination destination = ActiveMQDestination.fromPrefixedName("queue://orders"); try (Connection conn = factory.createConnection()) { Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE); diff --git a/examples/features/standard/rest/jms-to-rest/src/main/java/RestReceive.java b/examples/features/standard/rest/jms-to-rest/src/main/java/RestReceive.java index 34b915407d..e134c46148 100644 --- a/examples/features/standard/rest/jms-to-rest/src/main/java/RestReceive.java +++ b/examples/features/standard/rest/jms-to-rest/src/main/java/RestReceive.java @@ -23,7 +23,7 @@ public class RestReceive { public static void main(String[] args) throws Exception { // first get the create URL for the shipping queue - ClientRequest request = new ClientRequest("http://localhost:8080/queues/jms.queue.orders"); + ClientRequest request = new ClientRequest("http://localhost:8080/queues/orders"); ClientResponse res = request.head(); Link pullConsumers = res.getHeaderAsLink("msg-pull-consumers"); res = pullConsumers.request().formParameter("autoAck", "false").post(); diff --git a/examples/features/standard/rest/jms-to-rest/src/main/java/RestSend.java b/examples/features/standard/rest/jms-to-rest/src/main/java/RestSend.java index e9649ac3be..eb28d6d550 100644 --- a/examples/features/standard/rest/jms-to-rest/src/main/java/RestSend.java +++ b/examples/features/standard/rest/jms-to-rest/src/main/java/RestSend.java @@ -23,7 +23,7 @@ public class RestSend { public static void main(String[] args) throws Exception { // first get the create URL for the shipping queue - ClientRequest request = new ClientRequest("http://localhost:8080/queues/jms.queue.orders"); + ClientRequest request = new ClientRequest("http://localhost:8080/queues/orders"); ClientResponse res = request.head(); Link create = res.getHeaderAsLink("msg-create"); diff --git a/examples/features/standard/rest/push/src/main/java/PostOrder.java b/examples/features/standard/rest/push/src/main/java/PostOrder.java index 5ceaecd86d..9e6d86987a 100644 --- a/examples/features/standard/rest/push/src/main/java/PostOrder.java +++ b/examples/features/standard/rest/push/src/main/java/PostOrder.java @@ -29,7 +29,7 @@ public class PostOrder { public static void main(String[] args) throws Exception { ConnectionFactory factory = new ActiveMQJMSConnectionFactory("tcp://localhost:61616"); - Destination destination = ActiveMQDestination.fromAddress("jms.queue.orders"); + Destination destination = ActiveMQDestination.fromPrefixedName("queue://orders"); try (Connection conn = factory.createConnection()) { Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE); diff --git a/examples/features/standard/rest/push/src/main/java/PushReg.java b/examples/features/standard/rest/push/src/main/java/PushReg.java index 05466d614c..630c62a7d3 100644 --- a/examples/features/standard/rest/push/src/main/java/PushReg.java +++ b/examples/features/standard/rest/push/src/main/java/PushReg.java @@ -25,7 +25,7 @@ public class PushReg { public static void main(String[] args) throws Exception { // get the push consumers factory resource - ClientRequest request = new ClientRequest("http://localhost:8080/queues/jms.queue.orders"); + ClientRequest request = new ClientRequest("http://localhost:8080/queues/orders"); ClientResponse res = request.head(); Link pushConsumers = res.getHeaderAsLink("msg-push-consumers"); @@ -33,7 +33,7 @@ public class PushReg { // Really, just create a link with the shipping URL and the type you want posted PushRegistration reg = new PushRegistration(); XmlLink target = new XmlLink(); - target.setHref("http://localhost:8080/queues/jms.queue.shipping"); + target.setHref("http://localhost:8080/queues/shipping"); target.setType("application/xml"); target.setRelationship("destination"); reg.setTarget(target); diff --git a/examples/features/standard/rest/push/src/main/java/ReceiveShipping.java b/examples/features/standard/rest/push/src/main/java/ReceiveShipping.java index b422c03da2..ca6838bb6e 100644 --- a/examples/features/standard/rest/push/src/main/java/ReceiveShipping.java +++ b/examples/features/standard/rest/push/src/main/java/ReceiveShipping.java @@ -31,7 +31,7 @@ public class ReceiveShipping { public static void main(String[] args) throws Exception { ConnectionFactory factory = new ActiveMQJMSConnectionFactory("tcp://localhost:61616"); - Destination destination = ActiveMQDestination.fromAddress("jms.queue.shipping"); + Destination destination = ActiveMQDestination.fromPrefixedName("queue://shipping"); try (Connection conn = factory.createConnection()) { Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE); diff --git a/examples/protocols/amqp/proton-cpp/src/main/java/org/apache/activemq/artemis/jms/example/ProtonCPPExample.java b/examples/protocols/amqp/proton-cpp/src/main/java/org/apache/activemq/artemis/jms/example/ProtonCPPExample.java index c8fd1ff8bf..a166dc2a90 100644 --- a/examples/protocols/amqp/proton-cpp/src/main/java/org/apache/activemq/artemis/jms/example/ProtonCPPExample.java +++ b/examples/protocols/amqp/proton-cpp/src/main/java/org/apache/activemq/artemis/jms/example/ProtonCPPExample.java @@ -107,7 +107,7 @@ public class ProtonCPPExample { Message m = session.createMessage(); - JMSManagementHelper.putAttribute(m, "jms.queue.exampleQueue", "messageCount"); + JMSManagementHelper.putAttribute(m, "exampleQueue", "messageCount"); Message response = requestor.request(m); diff --git a/examples/protocols/amqp/queue/src/main/java/org/apache/activemq/artemis/jms/example/AMQPQueueExample.java b/examples/protocols/amqp/queue/src/main/java/org/apache/activemq/artemis/jms/example/AMQPQueueExample.java index 8386fc4fb0..632f8f1f59 100644 --- a/examples/protocols/amqp/queue/src/main/java/org/apache/activemq/artemis/jms/example/AMQPQueueExample.java +++ b/examples/protocols/amqp/queue/src/main/java/org/apache/activemq/artemis/jms/example/AMQPQueueExample.java @@ -41,7 +41,7 @@ public class AMQPQueueExample { Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); // Step 3. Create a sender - Queue queue = session.createQueue("jms.queue.exampleQueue"); + Queue queue = session.createQueue("exampleQueue"); MessageProducer sender = session.createProducer(queue); // Step 4. send a few simple message diff --git a/examples/protocols/stomp/stomp-dual-authentication/src/main/java/org/apache/activemq/artemis/jms/example/StompDualAuthenticationExample.java b/examples/protocols/stomp/stomp-dual-authentication/src/main/java/org/apache/activemq/artemis/jms/example/StompDualAuthenticationExample.java index 6aa5c81efe..75d015c6bd 100644 --- a/examples/protocols/stomp/stomp-dual-authentication/src/main/java/org/apache/activemq/artemis/jms/example/StompDualAuthenticationExample.java +++ b/examples/protocols/stomp/stomp-dual-authentication/src/main/java/org/apache/activemq/artemis/jms/example/StompDualAuthenticationExample.java @@ -70,7 +70,7 @@ public class StompDualAuthenticationExample { // jms.queue.exampleQueue address with a text body String text = "Hello, world from Stomp!"; String message = "SEND\n" + - "destination: jms.queue.exampleQueue\n" + + "destination: exampleQueue\n" + "\n" + text + END_OF_FRAME; diff --git a/examples/protocols/stomp/stomp-embedded-interceptor/src/main/java/org/apache/activemq/artemis/jms/example/StompEmbeddedWithInterceptorExample.java b/examples/protocols/stomp/stomp-embedded-interceptor/src/main/java/org/apache/activemq/artemis/jms/example/StompEmbeddedWithInterceptorExample.java index 91a7c9899b..12d8a44d6b 100644 --- a/examples/protocols/stomp/stomp-embedded-interceptor/src/main/java/org/apache/activemq/artemis/jms/example/StompEmbeddedWithInterceptorExample.java +++ b/examples/protocols/stomp/stomp-embedded-interceptor/src/main/java/org/apache/activemq/artemis/jms/example/StompEmbeddedWithInterceptorExample.java @@ -52,7 +52,7 @@ public class StompEmbeddedWithInterceptorExample { // jms.queue.exampleQueue address with a text body String text = "Hello World from Stomp 1.2 !"; String message = "SEND\n" + - "destination:jms.queue.exampleQueue" + + "destination:exampleQueue" + "\n" + text + END_OF_FRAME; diff --git a/examples/protocols/stomp/stomp-jms/src/main/java/org/apache/activemq/artemis/jms/example/StompExample.java b/examples/protocols/stomp/stomp-jms/src/main/java/org/apache/activemq/artemis/jms/example/StompExample.java index d466ab6f46..838a7e42ad 100644 --- a/examples/protocols/stomp/stomp-jms/src/main/java/org/apache/activemq/artemis/jms/example/StompExample.java +++ b/examples/protocols/stomp/stomp-jms/src/main/java/org/apache/activemq/artemis/jms/example/StompExample.java @@ -32,9 +32,7 @@ public class StompExample { public static void main(final String[] args) throws Exception { StompJmsConnectionFactory factory = new StompJmsConnectionFactory(); - factory.setQueuePrefix("jms.queue."); factory.setDisconnectTimeout(5000); - factory.setTopicPrefix("jms.topic."); factory.setBrokerURI("tcp://localhost:61616"); Connection connection = factory.createConnection(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); diff --git a/examples/protocols/stomp/stomp/src/main/java/org/apache/activemq/artemis/jms/example/StompExample.java b/examples/protocols/stomp/stomp/src/main/java/org/apache/activemq/artemis/jms/example/StompExample.java index 98cae66fa3..9515ae9a3b 100644 --- a/examples/protocols/stomp/stomp/src/main/java/org/apache/activemq/artemis/jms/example/StompExample.java +++ b/examples/protocols/stomp/stomp/src/main/java/org/apache/activemq/artemis/jms/example/StompExample.java @@ -59,7 +59,7 @@ public class StompExample { // jms.queue.exampleQueue address with a text body String text = "Hello, world from Stomp!"; String message = "SEND\n" + - "destination: jms.queue.exampleQueue\n" + + "destination: exampleQueue\n" + "\n" + text + END_OF_FRAME; diff --git a/examples/protocols/stomp/stomp1.1/src/main/java/org/apache/activemq/artemis/jms/example/StompExample.java b/examples/protocols/stomp/stomp1.1/src/main/java/org/apache/activemq/artemis/jms/example/StompExample.java index 02937bf503..c14b861af9 100644 --- a/examples/protocols/stomp/stomp1.1/src/main/java/org/apache/activemq/artemis/jms/example/StompExample.java +++ b/examples/protocols/stomp/stomp1.1/src/main/java/org/apache/activemq/artemis/jms/example/StompExample.java @@ -62,7 +62,7 @@ public class StompExample { // jms.queue.exampleQueue address with a text body String text = "Hello World from Stomp 1.1 !"; String message = "SEND\n" + - "destination:jms.queue.exampleQueue\n" + + "destination:exampleQueue\n" + "\n" + text + END_OF_FRAME; diff --git a/examples/protocols/stomp/stomp1.2/src/main/java/org/apache/activemq/artemis/jms/example/StompExample.java b/examples/protocols/stomp/stomp1.2/src/main/java/org/apache/activemq/artemis/jms/example/StompExample.java index 05bf1febd9..3a8e37abf0 100644 --- a/examples/protocols/stomp/stomp1.2/src/main/java/org/apache/activemq/artemis/jms/example/StompExample.java +++ b/examples/protocols/stomp/stomp1.2/src/main/java/org/apache/activemq/artemis/jms/example/StompExample.java @@ -62,7 +62,7 @@ public class StompExample { // jms.queue.exampleQueue address with a text body String text = "Hello World from Stomp 1.2 !"; String message = "SEND\n" + - "destination:jms.queue.exampleQueue\n" + + "destination:exampleQueue\n" + "\n" + text + END_OF_FRAME; diff --git a/pom.xml b/pom.xml index 30c96cd1e8..d1e2552d35 100644 --- a/pom.xml +++ b/pom.xml @@ -110,7 +110,7 @@ 1 0 0 - 128,127,126,125,124,123,122 + 129,128,127,126,125,124,123,122 ${project.version} ${project.version}(${activemq.version.incrementingVersion}) diff --git a/tests/activemq5-unit-tests/src/main/java/org/apache/activemq/broker/artemiswrapper/ArtemisBrokerWrapper.java b/tests/activemq5-unit-tests/src/main/java/org/apache/activemq/broker/artemiswrapper/ArtemisBrokerWrapper.java index b16383a322..05e08ff0a8 100644 --- a/tests/activemq5-unit-tests/src/main/java/org/apache/activemq/broker/artemiswrapper/ArtemisBrokerWrapper.java +++ b/tests/activemq5-unit-tests/src/main/java/org/apache/activemq/broker/artemiswrapper/ArtemisBrokerWrapper.java @@ -81,13 +81,13 @@ public class ArtemisBrokerWrapper extends ArtemisBrokerBase { translatePolicyMap(serverConfig, policyMap); } - String match = "jms.queue.#"; + String match = "#"; AddressSettings commonSettings = addressSettingsMap.get(match); if (commonSettings == null) { commonSettings = new AddressSettings(); addressSettingsMap.put(match, commonSettings); } - SimpleString dla = new SimpleString("jms.queue.ActiveMQ.DLQ"); + SimpleString dla = new SimpleString("ActiveMQ.DLQ"); commonSettings.setDeadLetterAddress(dla); commonSettings.setAutoCreateJmsQueues(true); @@ -222,11 +222,11 @@ public class ArtemisBrokerWrapper extends ArtemisBrokerBase { private String getCorePattern(org.apache.activemq.command.ActiveMQDestination dest) { String physicalName = dest.getPhysicalName(); String pattern = physicalName.replace(">", "#"); - if (dest.isTopic()) { - pattern = "jms.topic." + pattern; - } else { - pattern = "jms.queue." + pattern; - } +// if (dest.isTopic()) { +// pattern = pattern; +// } else { +// pattern = pattern; +// } return pattern; } @@ -248,7 +248,7 @@ public class ArtemisBrokerWrapper extends ArtemisBrokerBase { synchronized (testQueues) { SimpleString coreQ = testQueues.get(qname); if (coreQ == null) { - coreQ = new SimpleString("jms.queue." + qname); + coreQ = new SimpleString(qname); try { this.server.createQueue(coreQ, coreQ, null, false, false); testQueues.put(qname, coreQ); @@ -266,9 +266,9 @@ public class ArtemisBrokerWrapper extends ArtemisBrokerBase { long count = 0; String qname = null; if (amq5Dest.isTemporary()) { - qname = "jms.tempqueue." + amq5Dest.getPhysicalName(); + qname = amq5Dest.getPhysicalName(); } else { - qname = "jms.queue." + amq5Dest.getPhysicalName(); + qname = amq5Dest.getPhysicalName(); } Binding binding = server.getPostOffice().getBinding(new SimpleString(qname)); if (binding != null) { diff --git a/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/JmsQueueCompositeSendReceiveTest.java b/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/JmsQueueCompositeSendReceiveTest.java index 03f9675115..11b1372962 100644 --- a/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/JmsQueueCompositeSendReceiveTest.java +++ b/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/JmsQueueCompositeSendReceiveTest.java @@ -111,7 +111,7 @@ public class JmsQueueCompositeSendReceiveTest extends JmsTopicSendReceiveTest { try (ServerLocator locator = ServerLocatorImpl.newLocator("tcp://localhost:61616"); ClientSessionFactory factory = locator.createSessionFactory(); ClientSession session = factory.createSession()) { - ClientSession.QueueQuery query = session.queueQuery(new SimpleString("jms.queue.TEST")); + ClientSession.QueueQuery query = session.queueQuery(new SimpleString("TEST")); assertNotNull(query); assertEquals(data.length, query.getMessageCount()); } diff --git a/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/OptimizedAckTest.java b/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/OptimizedAckTest.java index 0697e12edb..82b5f58242 100644 --- a/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/OptimizedAckTest.java +++ b/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/OptimizedAckTest.java @@ -65,7 +65,7 @@ public class OptimizedAckTest extends TestSupport { MessageConsumer consumer = session.createConsumer(queue); //check queue delivering count is 10 ArtemisBrokerWrapper broker = (ArtemisBrokerWrapper) ArtemisBrokerHelper.getBroker().getBroker(); - Binding binding = broker.getServer().getPostOffice().getBinding(new SimpleString("jms.queue.test")); + Binding binding = broker.getServer().getPostOffice().getBinding(new SimpleString("test")); final QueueImpl coreQueue = (QueueImpl) binding.getBindable(); assertTrue("delivering count is 10", Wait.waitFor(new Wait.Condition() { @@ -107,7 +107,7 @@ public class OptimizedAckTest extends TestSupport { //check queue delivering count is 10 ArtemisBrokerWrapper broker = (ArtemisBrokerWrapper) ArtemisBrokerHelper.getBroker().getBroker(); - Binding binding = broker.getServer().getPostOffice().getBinding(new SimpleString("jms.queue.test")); + Binding binding = broker.getServer().getPostOffice().getBinding(new SimpleString("test")); final QueueImpl coreQueue = (QueueImpl) binding.getBindable(); assertTrue("prefetch full", Wait.waitFor(new Wait.Condition() { @@ -151,7 +151,7 @@ public class OptimizedAckTest extends TestSupport { MessageConsumer consumer = session.createConsumer(queue); ArtemisBrokerWrapper broker = (ArtemisBrokerWrapper) ArtemisBrokerHelper.getBroker().getBroker(); - Binding binding = broker.getServer().getPostOffice().getBinding(new SimpleString("jms.queue.test")); + Binding binding = broker.getServer().getPostOffice().getBinding(new SimpleString("test")); final QueueImpl coreQueue = (QueueImpl) binding.getBindable(); assertTrue("prefetch full", Wait.waitFor(new Wait.Condition() { diff --git a/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/RemoveDestinationTest.java b/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/RemoveDestinationTest.java index 9b120dbb83..4bb0646fd8 100644 --- a/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/RemoveDestinationTest.java +++ b/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/RemoveDestinationTest.java @@ -158,7 +158,7 @@ public class RemoveDestinationTest { PostOffice po = wrapper.getServer().getPostOffice(); Set addressSet = po.getAddresses(); Iterator iter = addressSet.iterator(); - String addressToFind = "jms.topic." + amqTopic.getPhysicalName(); + String addressToFind = amqTopic.getPhysicalName(); while (iter.hasNext()) { if (addressToFind.equals(iter.next().toString())) { found = true; diff --git a/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/ZeroPrefetchConsumerTest.java b/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/ZeroPrefetchConsumerTest.java index 6c829167f0..386de2e583 100644 --- a/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/ZeroPrefetchConsumerTest.java +++ b/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/ZeroPrefetchConsumerTest.java @@ -368,7 +368,7 @@ public class ZeroPrefetchConsumerTest extends EmbeddedBrokerTestSupport { @Override public EmbeddedJMS createArtemisBroker() throws Exception { Configuration config0 = createConfig("localhost", 0); - String coreQueueAddress = "jms.queue." + brokerZeroQueue.getQueueName(); + String coreQueueAddress = brokerZeroQueue.getQueueName(); AddressSettings addrSettings = new AddressSettings(); addrSettings.setQueuePrefetch(0); config0.getAddressesSettings().put(coreQueueAddress, addrSettings); diff --git a/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/transport/SoWriteTimeoutTest.java b/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/transport/SoWriteTimeoutTest.java index 589a3fd3df..82c872ea0e 100644 --- a/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/transport/SoWriteTimeoutTest.java +++ b/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/transport/SoWriteTimeoutTest.java @@ -120,7 +120,7 @@ public class SoWriteTimeoutTest extends JmsTestSupport { frame = stompConnection.receiveFrame(); assertTrue(frame.startsWith("CONNECTED")); - frame = "SUBSCRIBE\n" + "destination:jms.queue." + dest.getQueueName() + "\n" + "ack:client\n\n" + Stomp.NULL; + frame = "SUBSCRIBE\n" + "destination:" + dest.getQueueName() + "\n" + "ack:client\n\n" + Stomp.NULL; stompConnection.sendFrame(frame); // ensure dispatch has started before pause @@ -148,7 +148,7 @@ public class SoWriteTimeoutTest extends JmsTestSupport { // verify connection is dead try { for (int i = 0; i < 200; i++) { - stompConnection.send("jms.queue." + dest.getPhysicalName(), "ShouldBeDeadConnectionText" + i); + stompConnection.send(dest.getPhysicalName(), "ShouldBeDeadConnectionText" + i); } fail("expected send to fail with timeout out connection"); } catch (SocketException expected) { diff --git a/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/transport/failover/AMQ1925Test.java b/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/transport/failover/AMQ1925Test.java index 7723fb6802..ee2cb96330 100644 --- a/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/transport/failover/AMQ1925Test.java +++ b/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/transport/failover/AMQ1925Test.java @@ -316,7 +316,7 @@ public class AMQ1925Test extends OpenwireArtemisBaseTest implements ExceptionLis } private void assertQueueLength(int len) throws Exception, IOException { - QueueImpl queue = (QueueImpl) bs.getActiveMQServer().getPostOffice().getBinding(new SimpleString("jms.queue." + QUEUE_NAME)).getBindable(); + QueueImpl queue = (QueueImpl) bs.getActiveMQServer().getPostOffice().getBinding(new SimpleString(QUEUE_NAME)).getBindable(); if (len > queue.getMessageCount()) { //we wait for a moment as the tx might still in afterCommit stage (async op) Thread.sleep(5000); diff --git a/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/transport/failover/FailoverConsumerUnconsumedTest.java b/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/transport/failover/FailoverConsumerUnconsumedTest.java index f2ab9f463f..fc6c5d6cca 100644 --- a/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/transport/failover/FailoverConsumerUnconsumedTest.java +++ b/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/transport/failover/FailoverConsumerUnconsumedTest.java @@ -241,7 +241,7 @@ public class FailoverConsumerUnconsumedTest extends OpenwireArtemisBaseTest { testConsumers.add(new TestConsumer(consumerSession, destination, connection)); } - assureQueueMessages(0, new SimpleString("jms.queue." + QUEUE_NAME)); + assureQueueMessages(0, new SimpleString(QUEUE_NAME)); produceMessage(consumerSession, destination, maxConsumers * prefetch); diff --git a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/byteman/LargeMessageOverReplicationTest.java b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/byteman/LargeMessageOverReplicationTest.java index 48a6757f27..d228c22dae 100644 --- a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/byteman/LargeMessageOverReplicationTest.java +++ b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/byteman/LargeMessageOverReplicationTest.java @@ -79,7 +79,7 @@ public class LargeMessageOverReplicationTest extends ActiveMQTestBase { ReplicatedBackupUtils.configureReplicationPair(backupConfig, backupConnector, backupAcceptor, liveConfig, liveConnector, liveAcceptor); liveServer = createServer(liveConfig); - liveServer.getConfiguration().addQueueConfiguration(new CoreQueueConfiguration().setName("jms.queue.Queue").setAddress("jms.queue.Queue")); + liveServer.getConfiguration().addQueueConfiguration(new CoreQueueConfiguration().setName("Queue").setAddress("Queue")); liveServer.start(); waitForServerToStart(liveServer); diff --git a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/byteman/RaceOnSyncLargeMessageOverReplication2Test.java b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/byteman/RaceOnSyncLargeMessageOverReplication2Test.java index 866189f88f..0437ae069d 100644 --- a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/byteman/RaceOnSyncLargeMessageOverReplication2Test.java +++ b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/byteman/RaceOnSyncLargeMessageOverReplication2Test.java @@ -108,7 +108,7 @@ public class RaceOnSyncLargeMessageOverReplication2Test extends ActiveMQTestBase ReplicatedBackupUtils.configureReplicationPair(backupConfig, backupConnector, backupAcceptor, liveConfig, liveConnector, liveAcceptor); liveServer = createServer(liveConfig); - liveServer.getConfiguration().addQueueConfiguration(new CoreQueueConfiguration().setName("jms.queue.Queue").setAddress("jms.queue.Queue")); + liveServer.getConfiguration().addQueueConfiguration(new CoreQueueConfiguration().setName("Queue").setAddress("Queue")); liveServer.start(); waitForServerToStart(liveServer); diff --git a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/byteman/RaceOnSyncLargeMessageOverReplicationTest.java b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/byteman/RaceOnSyncLargeMessageOverReplicationTest.java index d649bf2986..99818d4b61 100644 --- a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/byteman/RaceOnSyncLargeMessageOverReplicationTest.java +++ b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/byteman/RaceOnSyncLargeMessageOverReplicationTest.java @@ -94,7 +94,7 @@ public class RaceOnSyncLargeMessageOverReplicationTest extends ActiveMQTestBase ReplicatedBackupUtils.configureReplicationPair(backupConfig, backupConnector, backupAcceptor, liveConfig, liveConnector, liveAcceptor); liveServer = createServer(liveConfig); - liveServer.getConfiguration().addQueueConfiguration(new CoreQueueConfiguration().setName("jms.queue.Queue").setAddress("jms.queue.Queue")); + liveServer.getConfiguration().addQueueConfiguration(new CoreQueueConfiguration().setName("Queue").setAddress("Queue")); liveServer.start(); waitForServerToStart(liveServer); diff --git a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/byteman/StompInternalStateTest.java b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/byteman/StompInternalStateTest.java index c798b5793b..a4dd033c28 100644 --- a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/byteman/StompInternalStateTest.java +++ b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/byteman/StompInternalStateTest.java @@ -42,7 +42,7 @@ import org.junit.runner.RunWith; @RunWith(BMUnitRunner.class) public class StompInternalStateTest extends ActiveMQTestBase { - private static final String STOMP_QUEUE_NAME = "jms.queue.StompTestQueue"; + private static final String STOMP_QUEUE_NAME = "StompTestQueue"; private String resultTestStompProtocolManagerLeak = null; diff --git a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/byteman/TimeoutXATest.java b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/byteman/TimeoutXATest.java index ce36a0e989..8c2cac099e 100644 --- a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/byteman/TimeoutXATest.java +++ b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/byteman/TimeoutXATest.java @@ -55,7 +55,7 @@ public class TimeoutXATest extends ActiveMQTestBase { server.getConfiguration().setTransactionTimeoutScanPeriod(1100); server.getConfiguration().setJournalSyncNonTransactional(false); server.start(); - server.createQueue(SimpleString.toSimpleString("jms.queue.Queue1"), SimpleString.toSimpleString("jms.queue.Queue1"), null, true, false); + server.createQueue(SimpleString.toSimpleString("Queue1"), SimpleString.toSimpleString("Queue1"), null, true, false); removingTXEntered0 = new CountDownLatch(1); removingTXAwait0 = new CountDownLatch(1); diff --git a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/BridgeTestBase.java b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/BridgeTestBase.java index e52963e07f..a89edb82b3 100644 --- a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/BridgeTestBase.java +++ b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/BridgeTestBase.java @@ -38,7 +38,6 @@ import com.arjuna.ats.arjuna.coordinator.TransactionReaper; import com.arjuna.ats.arjuna.coordinator.TxControl; import com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple; import org.apache.activemq.artemis.api.core.TransportConfiguration; -import org.apache.activemq.artemis.api.core.management.ResourceNames; import org.apache.activemq.artemis.api.jms.ActiveMQJMSClient; import org.apache.activemq.artemis.api.jms.JMSFactoryType; import org.apache.activemq.artemis.api.jms.management.JMSQueueControl; @@ -486,7 +485,7 @@ public abstract class BridgeTestBase extends ActiveMQTestBase { if (index == 1) { managementService = server1.getManagementService(); } - JMSQueueControl queueControl = (JMSQueueControl) managementService.getResource(ResourceNames.JMS_QUEUE + queue.getQueueName()); + JMSQueueControl queueControl = (JMSQueueControl) managementService.getResource(queue.getQueueName()); //server may be closed if (queueControl != null) { @@ -505,7 +504,7 @@ public abstract class BridgeTestBase extends ActiveMQTestBase { if (index == 1) { managementService = server1.getManagementService(); } - TopicControl topicControl = (TopicControl) managementService.getResource(ResourceNames.JMS_TOPIC + topic.getTopicName()); + TopicControl topicControl = (TopicControl) managementService.getResource(topic.getTopicName()); Assert.assertEquals(0, topicControl.getSubscriptionCount()); } @@ -515,7 +514,7 @@ public abstract class BridgeTestBase extends ActiveMQTestBase { if (index == 1) { managementService = server1.getManagementService(); } - JMSQueueControl queueControl = (JMSQueueControl) managementService.getResource(ResourceNames.JMS_QUEUE + queueName); + JMSQueueControl queueControl = (JMSQueueControl) managementService.getResource(queueName); queueControl.removeMessages(null); } diff --git a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/ClusteredBridgeTestBase.java b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/ClusteredBridgeTestBase.java index fa66cf288d..4e7245d6f7 100644 --- a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/ClusteredBridgeTestBase.java +++ b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/ClusteredBridgeTestBase.java @@ -212,7 +212,7 @@ public abstract class ClusteredBridgeTestBase extends ActiveMQTestBase { public void sendMessages(String queueName, int num) throws ActiveMQException { ClientSession session = sessionFactory.createSession(); - ClientProducer producer = session.createProducer("jms.queue." + queueName); + ClientProducer producer = session.createProducer(queueName); for (int i = 0; i < num; i++) { ClientMessage m = session.createMessage(true); m.putStringProperty("bridge-message", "hello " + index); @@ -225,7 +225,7 @@ public abstract class ClusteredBridgeTestBase extends ActiveMQTestBase { public void receiveMessages(String queueName, int num, boolean checkDup) throws ActiveMQException { ClientSession session = sessionFactory.createSession(); session.start(); - ClientConsumer consumer = session.createConsumer("jms.queue." + queueName); + ClientConsumer consumer = session.createConsumer(queueName); for (int i = 0; i < num; i++) { ClientMessage m = consumer.receive(30000); assertNotNull("i=" + i, m); diff --git a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/ra/MDBMultipleHandlersServerDisconnectTest.java b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/ra/MDBMultipleHandlersServerDisconnectTest.java index bc613f6bd5..2b6868f32d 100644 --- a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/ra/MDBMultipleHandlersServerDisconnectTest.java +++ b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/ra/MDBMultipleHandlersServerDisconnectTest.java @@ -258,7 +258,7 @@ public class MDBMultipleHandlersServerDisconnectTest extends ActiveMQRATestBase ClientSession session = factory.createSession(false, false); session.start(); - ClientConsumer consumer = session.createConsumer("jms.queue.outQueue"); + ClientConsumer consumer = session.createConsumer("outQueue"); for (int i = 0; i < NUMBER_OF_MESSAGES; i++) { ClientMessage message = consumer.receive(60000); @@ -423,7 +423,7 @@ public class MDBMultipleHandlersServerDisconnectTest extends ActiveMQRATestBase factory = nettyLocator.createSessionFactory(); // buggingList.add(factory); endpointSession = factory.createSession(true, false, false); - producer = endpointSession.createProducer("jms.queue.outQueue"); + producer = endpointSession.createProducer("outQueue"); } catch (Throwable e) { throw new RuntimeException(e); } diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/addressing/AddressingTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/addressing/AddressingTest.java index c2004e76d7..b6e4de7414 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/addressing/AddressingTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/addressing/AddressingTest.java @@ -309,7 +309,7 @@ public class AddressingTest extends ActiveMQTestBase { // For each address, create 2 Queues with the same address, assert both queues receive message boolean deleteOnNoConsumers = false; AddressInfo addressInfo = new AddressInfo(address); - addressInfo.setDefaultMaxConsumers(0); + addressInfo.setDefaultMaxQueueConsumers(0); Queue q1 = server.createQueue(address, queueName, null, true, false, null, deleteOnNoConsumers); ClientSession session = sessionFactory.createSession(); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpClientTestSupport.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpClientTestSupport.java index 14f9b610ff..d961a71baa 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpClientTestSupport.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpClientTestSupport.java @@ -86,7 +86,7 @@ public class AmqpClientTestSupport extends ActiveMQTestBase { ActiveMQServer server = createServer(true, true); serverManager = new JMSServerManagerImpl(server); Configuration serverConfig = server.getConfiguration(); - serverConfig.getAddressesSettings().put("jms.queue.#", new AddressSettings().setAutoCreateJmsQueues(true).setDeadLetterAddress(new SimpleString("jms.queue.ActiveMQ.DLQ"))); + serverConfig.getAddressesSettings().put("#", new AddressSettings().setAutoCreateJmsQueues(true).setDeadLetterAddress(new SimpleString("ActiveMQ.DLQ"))); serverConfig.setSecurityEnabled(false); serverManager.start(); server.start(); @@ -98,7 +98,7 @@ public class AmqpClientTestSupport extends ActiveMQTestBase { } public String getTestName() { - return "jms.queue." + getName(); + return getName(); } public AmqpClientTestSupport() { diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpDurableReceiverTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpDurableReceiverTest.java index 86a35a2f74..abc422b205 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpDurableReceiverTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpDurableReceiverTest.java @@ -371,6 +371,6 @@ public class AmqpDurableReceiverTest extends AmqpClientTestSupport { } public String getTopicName() { - return "jms.topic.myTopic"; + return "topic://myTopic"; } } diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpTempDestinationTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpTempDestinationTest.java index 4dbe21e27b..c599f385a1 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpTempDestinationTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpTempDestinationTest.java @@ -111,6 +111,8 @@ public class AmqpTempDestinationTest extends AmqpClientTestSupport { sender.close(); + Thread.sleep(200); + queueView = getProxyToQueue(remoteTarget.getAddress()); assertNull(queueView); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/ProtonMaxFrameSizeTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/ProtonMaxFrameSizeTest.java index 299732717b..851ee2f82d 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/ProtonMaxFrameSizeTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/ProtonMaxFrameSizeTest.java @@ -53,7 +53,7 @@ public class ProtonMaxFrameSizeTest extends ProtonTestBase { amqpConnection.connect(); AmqpSession session = amqpConnection.createSession(); - AmqpSender sender = session.createSender("jms.queue." + testQueueName); + AmqpSender sender = session.createSender(testQueueName); final int payload = FRAME_SIZE * 16; @@ -62,10 +62,10 @@ public class ProtonMaxFrameSizeTest extends ProtonTestBase { sender.send(message); } - int count = getMessageCount(server.getPostOffice(), "jms.queue." + testQueueName); + int count = getMessageCount(server.getPostOffice(), testQueueName); assertEquals(nMsgs, count); - AmqpReceiver receiver = session.createReceiver("jms.queue." + testQueueName); + AmqpReceiver receiver = session.createReceiver(testQueueName); receiver.flow(nMsgs); for (int i = 0; i < nMsgs; ++i) { diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/ProtonTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/ProtonTest.java index c3c893365d..59408ab585 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/ProtonTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/ProtonTest.java @@ -133,7 +133,7 @@ public class ProtonTest extends ProtonTestBase { private final int protocol; public ProtonTest(String name, int protocol) { - this.coreAddress = "jms.queue.exampleQueue"; + this.coreAddress = "exampleQueue"; this.protocol = protocol; if (protocol == 0 || protocol == 3) { this.address = coreAddress; @@ -494,6 +494,7 @@ public class ProtonTest extends ProtonTestBase { Assert.assertEquals("Message:" + i, message.getText()); } session.commit(); + session.close(); Queue q = (Queue) server.getPostOffice().getBinding(new SimpleString(coreAddress)).getBindable(); Assert.assertEquals(q.getMessageCount(), 0); } @@ -638,7 +639,7 @@ public class ProtonTest extends ProtonTestBase { AmqpMessage m; for (int i = 0; i < messagesSent - 1; i++) { - m = receiver.receive(); + m = receiver.receive(5000, TimeUnit.MILLISECONDS); m.accept(); } @@ -845,10 +846,10 @@ public class ProtonTest extends ProtonTestBase { Source source = new Source(); source.setDurable(TerminusDurability.UNSETTLED_STATE); source.setCapabilities(Symbol.getSymbol("topic")); - source.setAddress("jms.topic.mytopic"); + source.setAddress("mytopic"); AmqpReceiver receiver = session.createReceiver(source, "testSub"); - SimpleString fo = new SimpleString("testClient.testSub:jms.topic.mytopic"); + SimpleString fo = new SimpleString("testClient.testSub:mytopic"); assertNotNull(server.locateQueue(fo)); } catch (Exception e) { @@ -877,7 +878,7 @@ public class ProtonTest extends ProtonTestBase { message.setText("TestPayload"); sender.send(message); - AmqpMessage receivedMessage = receiver.receive(); + AmqpMessage receivedMessage = receiver.receive(5000, TimeUnit.MILLISECONDS); assertNotNull(receivedMessage); } @@ -889,7 +890,7 @@ public class ProtonTest extends ProtonTestBase { try { String destinationAddress = address + 1; AmqpSession session = amqpConnection.createSession(); - AmqpSender sender = session.createSender("jms.queue.activemq.management"); + AmqpSender sender = session.createSender("activemq.management"); AmqpReceiver receiver = session.createReceiver(destinationAddress); receiver.flow(10); @@ -931,6 +932,7 @@ public class ProtonTest extends ProtonTestBase { connection.start(); message = (TextMessage) cons.receive(5000); + assertNotNull(message); Destination jmsReplyTo = message.getJMSReplyTo(); Assert.assertNotNull(jmsReplyTo); Assert.assertNotNull(message); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/SendingAndReceivingTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/SendingAndReceivingTest.java index 882efd579e..f19b0a4ecc 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/SendingAndReceivingTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/SendingAndReceivingTest.java @@ -64,7 +64,7 @@ public class SendingAndReceivingTest extends ActiveMQTestBase { try { connection = connectionFactory.createConnection(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); - Queue queue = session.createQueue("jms.queue.exampleQueue"); + Queue queue = session.createQueue("exampleQueue"); MessageProducer sender = session.createProducer(queue); String body = createMessage(10240); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cli/DestinationCommandTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cli/DestinationCommandTest.java index 74cbd289ff..a9266ef696 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cli/DestinationCommandTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cli/DestinationCommandTest.java @@ -202,9 +202,9 @@ public class DestinationCommandTest extends JMSTestBase { String bindingKey = command.getName(); if (isJms(command)) { if (isTopic(command)) { - bindingKey = "jms.topic." + bindingKey; +// bindingKey = bindingKey; } else { - bindingKey = "jms.queue." + bindingKey; +// bindingKey = bindingKey; } } Map bindings = server.getPostOffice().getAllBindings(); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/AutoCreateJmsDestinationTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/AutoCreateJmsDestinationTest.java index 46e9db7dd9..ad90f0a90d 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/AutoCreateJmsDestinationTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/AutoCreateJmsDestinationTest.java @@ -39,14 +39,19 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; +import static org.apache.activemq.artemis.api.core.management.ResourceNames.CORE_ADDRESS; +import static org.apache.activemq.artemis.api.core.management.ResourceNames.CORE_QUEUE; + public class AutoCreateJmsDestinationTest extends JMSTestBase { + public static final String QUEUE_NAME = "test"; + @Test public void testAutoCreateOnSendToQueue() throws Exception { Connection connection = cf.createConnection(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); - javax.jms.Queue queue = ActiveMQJMSClient.createQueue("test"); + javax.jms.Queue queue = ActiveMQJMSClient.createQueue(QUEUE_NAME); MessageProducer producer = session.createProducer(queue); @@ -67,8 +72,9 @@ public class AutoCreateJmsDestinationTest extends JMSTestBase { Assert.assertNotNull(m); } - // make sure the JMX control was created for the JMS queue - assertNotNull(server.getManagementService().getResource("jms.queue.test")); + // make sure the JMX control was created for the address and queue + assertNotNull(server.getManagementService().getResource(CORE_ADDRESS + QUEUE_NAME)); + assertNotNull(server.getManagementService().getResource(CORE_QUEUE + QUEUE_NAME)); connection.close(); } @@ -78,7 +84,7 @@ public class AutoCreateJmsDestinationTest extends JMSTestBase { Connection connection = cf.createConnection(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); - javax.jms.Queue queue = ActiveMQJMSClient.createQueue("test"); + javax.jms.Queue queue = ActiveMQJMSClient.createQueue(QUEUE_NAME); MessageProducer producer = session.createProducer(null); @@ -107,19 +113,17 @@ public class AutoCreateJmsDestinationTest extends JMSTestBase { ((ActiveMQJAASSecurityManager) server.getSecurityManager()).getConfiguration().addUser("guest", "guest"); ((ActiveMQJAASSecurityManager) server.getSecurityManager()).getConfiguration().setDefaultUser("guest"); ((ActiveMQJAASSecurityManager) server.getSecurityManager()).getConfiguration().addRole("guest", "rejectAll"); - Role role = new Role("rejectAll", false, false, false, false, false, false, false, false); + Role role = new Role("rejectAll", false, false, false, false, false, false, false, false, false); Set roles = new HashSet<>(); roles.add(role); server.getSecurityRepository().addMatch("#", roles); Connection connection = cf.createConnection(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); - javax.jms.Queue queue = ActiveMQJMSClient.createQueue("test"); - MessageProducer producer = session.createProducer(queue); - TextMessage mess = session.createTextMessage("msg"); + javax.jms.Queue queue = ActiveMQJMSClient.createQueue(QUEUE_NAME); try { - producer.send(mess); + session.createProducer(queue); Assert.fail("Sending a message here should throw a JMSSecurityException"); } catch (Exception e) { Assert.assertTrue(e instanceof JMSSecurityException); @@ -133,14 +137,14 @@ public class AutoCreateJmsDestinationTest extends JMSTestBase { Connection connection = cf.createConnection(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); - javax.jms.Topic topic = ActiveMQJMSClient.createTopic("test"); + javax.jms.Topic topic = ActiveMQJMSClient.createTopic(QUEUE_NAME); MessageProducer producer = session.createProducer(topic); producer.send(session.createTextMessage("msg")); connection.close(); - assertNotNull(server.getManagementService().getResource("jms.topic.test")); + assertNotNull(server.getManagementService().getResource("core.address.test")); } @Test @@ -149,7 +153,7 @@ public class AutoCreateJmsDestinationTest extends JMSTestBase { connection = cf.createConnection(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); - javax.jms.Queue queue = ActiveMQJMSClient.createQueue("test"); + javax.jms.Queue queue = ActiveMQJMSClient.createQueue(QUEUE_NAME); MessageConsumer messageConsumer = session.createConsumer(queue); connection.start(); @@ -157,7 +161,7 @@ public class AutoCreateJmsDestinationTest extends JMSTestBase { Message m = messageConsumer.receive(500); Assert.assertNull(m); - Queue q = (Queue) server.getPostOffice().getBinding(new SimpleString("jms.queue.test")).getBindable(); + Queue q = (Queue) server.getPostOffice().getBinding(new SimpleString(QUEUE_NAME)).getBindable(); Assert.assertEquals(0, q.getMessageCount()); Assert.assertEquals(0, q.getMessagesAdded()); connection.close(); @@ -177,11 +181,11 @@ public class AutoCreateJmsDestinationTest extends JMSTestBase { connection.start(); assertNotNull(consumer.receive(500)); - assertNotNull(server.getManagementService().getResource("jms.topic." + topicName)); + assertNotNull(server.getManagementService().getResource("core.address." + topicName)); connection.close(); - assertNull(server.getManagementService().getResource("jms.topic." + topicName)); + assertNull(server.getManagementService().getResource("core.address." + topicName)); } @Test @@ -190,7 +194,7 @@ public class AutoCreateJmsDestinationTest extends JMSTestBase { connection.setClientID("myClientID"); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); - javax.jms.Topic topic = ActiveMQJMSClient.createTopic("test"); + javax.jms.Topic topic = ActiveMQJMSClient.createTopic(QUEUE_NAME); MessageConsumer consumer = session.createDurableConsumer(topic, "myDurableSub"); MessageProducer producer = session.createProducer(topic); @@ -200,7 +204,7 @@ public class AutoCreateJmsDestinationTest extends JMSTestBase { connection.close(); - assertNotNull(server.getManagementService().getResource("jms.topic.test")); + assertNotNull(server.getManagementService().getResource("core.address.test")); assertNotNull(server.locateQueue(SimpleString.toSimpleString("myClientID.myDurableSub"))); } @@ -210,7 +214,7 @@ public class AutoCreateJmsDestinationTest extends JMSTestBase { Connection connection = cf.createConnection(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); - // javax.jms.Topic topic = ActiveMQJMSClient.createTopic("test"); + // javax.jms.Topic topic = ActiveMQJMSClient.createTopic(QUEUE_NAME); ActiveMQTemporaryTopic topic = (ActiveMQTemporaryTopic) session.createTemporaryTopic(); @@ -244,7 +248,7 @@ public class AutoCreateJmsDestinationTest extends JMSTestBase { ((ActiveMQJAASSecurityManager) server.getSecurityManager()).getConfiguration().addUser("guest", "guest"); ((ActiveMQJAASSecurityManager) server.getSecurityManager()).getConfiguration().setDefaultUser("guest"); ((ActiveMQJAASSecurityManager) server.getSecurityManager()).getConfiguration().addRole("guest", "allowAll"); - Role role = new Role("allowAll", true, true, true, true, true, true, true, true); + Role role = new Role("allowAll", true, true, true, true, true, true, true, true, true); Set roles = new HashSet<>(); roles.add(role); server.getSecurityRepository().addMatch("#", roles); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/AutoDeleteJmsDestinationTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/AutoDeleteJmsDestinationTest.java index 9d23445fb0..0e9b2e95f4 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/AutoDeleteJmsDestinationTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/AutoDeleteJmsDestinationTest.java @@ -62,7 +62,7 @@ public class AutoDeleteJmsDestinationTest extends JMSTestBase { session.close(); // ensure the queue is still there - Queue q = (Queue) server.getPostOffice().getBinding(new SimpleString("jms.queue.test")).getBindable(); + Queue q = (Queue) server.getPostOffice().getBinding(new SimpleString("test")).getBindable(); Assert.assertEquals(1, q.getMessageCount()); Assert.assertEquals(numMessages, q.getMessagesAdded()); @@ -74,10 +74,10 @@ public class AutoDeleteJmsDestinationTest extends JMSTestBase { connection.close(); // ensure the queue was removed - Assert.assertNull(server.getPostOffice().getBinding(new SimpleString("jms.queue.test"))); + Assert.assertNull(server.getPostOffice().getBinding(new SimpleString("test"))); // make sure the JMX control was removed for the JMS queue - assertNull(server.getManagementService().getResource("jms.queue.test")); + assertNull(server.getManagementService().getResource("test")); } @Test @@ -110,7 +110,7 @@ public class AutoDeleteJmsDestinationTest extends JMSTestBase { session.close(); // ensure the queue is still there - Queue q = (Queue) server.getPostOffice().getBinding(new SimpleString("jms.queue.test")).getBindable(); + Queue q = (Queue) server.getPostOffice().getBinding(new SimpleString("test")).getBindable(); Assert.assertEquals(1, q.getMessageCount()); Assert.assertEquals(numMessages, q.getMessagesAdded()); @@ -122,7 +122,7 @@ public class AutoDeleteJmsDestinationTest extends JMSTestBase { connection.close(); // ensure the queue was not removed - Assert.assertNotNull(server.getPostOffice().getBinding(new SimpleString("jms.queue.test"))); + Assert.assertNotNull(server.getPostOffice().getBinding(new SimpleString("test"))); } @Test @@ -153,10 +153,10 @@ public class AutoDeleteJmsDestinationTest extends JMSTestBase { connection.close(); // ensure the topic was removed - Assert.assertNull(server.locateQueue(new SimpleString("jms.topic.test"))); + Assert.assertNull(server.locateQueue(new SimpleString("test"))); // make sure the JMX control was removed for the JMS topic - assertNull(server.getManagementService().getResource("jms.topic.test")); + assertNull(server.getManagementService().getResource("jtest")); } @Test @@ -191,9 +191,9 @@ public class AutoDeleteJmsDestinationTest extends JMSTestBase { connection.close(); // ensure the topic was removed - Assert.assertNull(server.locateQueue(new SimpleString("jms.topic.test"))); + Assert.assertNull(server.locateQueue(new SimpleString("test"))); // make sure the JMX control was removed for the JMS topic - assertNull(server.getManagementService().getResource("jms.topic.test")); + assertNull(server.getManagementService().getResource("test")); } } diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/HangConsumerTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/HangConsumerTest.java index 124ece37d7..159a2853d7 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/HangConsumerTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/HangConsumerTest.java @@ -425,8 +425,8 @@ public class HangConsumerTest extends ActiveMQTestBase { public void testDuplicateDestinationsOnTopic() throws Exception { try { for (int i = 0; i < 5; i++) { - if (server.locateQueue(SimpleString.toSimpleString("jms.topic.tt")) == null) { - server.createQueue(SimpleString.toSimpleString("jms.topic.tt"), SimpleString.toSimpleString("jms.topic.tt"), SimpleString.toSimpleString(ActiveMQServerImpl.GENERIC_IGNORED_FILTER), true, false); + if (server.locateQueue(SimpleString.toSimpleString("tt")) == null) { + server.createQueue(SimpleString.toSimpleString("tt"), SimpleString.toSimpleString("tt"), SimpleString.toSimpleString(ActiveMQServerImpl.GENERIC_IGNORED_FILTER), true, false); } server.stop(); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/InterruptedLargeMessageTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/InterruptedLargeMessageTest.java index d78c0fbb72..c4bf13fba7 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/InterruptedLargeMessageTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/InterruptedLargeMessageTest.java @@ -214,7 +214,7 @@ public class InterruptedLargeMessageTest extends LargeMessageTestBase { server.start(); - SimpleString jmsAddress = new SimpleString("jms.queue.Test"); + SimpleString jmsAddress = new SimpleString("Test"); server.createQueue(jmsAddress, jmsAddress, null, true, false); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/JMSMessageCounterTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/JMSMessageCounterTest.java index c1cf4ec773..b3dd022db7 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/JMSMessageCounterTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/JMSMessageCounterTest.java @@ -23,7 +23,6 @@ import javax.jms.Queue; import javax.jms.Session; import javax.jms.TextMessage; -import org.apache.activemq.artemis.api.core.management.ResourceNames; import org.apache.activemq.artemis.api.jms.management.JMSQueueControl; import org.apache.activemq.artemis.tests.util.JMSTestBase; import org.junit.Test; @@ -54,7 +53,7 @@ public class JMSMessageCounterTest extends JMSTestBase { conn.close(); - JMSQueueControl control = (JMSQueueControl) server.getManagementService().getResource(ResourceNames.JMS_QUEUE + queue.getQueueName()); + JMSQueueControl control = (JMSQueueControl) server.getManagementService().getResource(queue.getQueueName()); assertNotNull(control); System.out.println(control.listMessageCounterAsHTML()); @@ -63,7 +62,7 @@ public class JMSMessageCounterTest extends JMSTestBase { restartServer(); - control = (JMSQueueControl) server.getManagementService().getResource(ResourceNames.JMS_QUEUE + queue.getQueueName()); + control = (JMSQueueControl) server.getManagementService().getResource(queue.getQueueName()); assertNotNull(control); System.out.println(control.listMessageCounterAsHTML()); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/JMSPagingFileDeleteTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/JMSPagingFileDeleteTest.java index 86c0539a66..a51387db54 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/JMSPagingFileDeleteTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/JMSPagingFileDeleteTest.java @@ -107,7 +107,7 @@ public class JMSPagingFileDeleteTest extends JMSTestBase { } System.out.println("Sent " + JMSPagingFileDeleteTest.MESSAGE_NUM + " messages."); - pagingStore = server.getPagingManager().getPageStore(new SimpleString("jms.topic.topic1")); + pagingStore = server.getPagingManager().getPageStore(new SimpleString("topic1")); printPageStoreInfo(pagingStore); assertTrue(pagingStore.isPaging()); @@ -159,7 +159,7 @@ public class JMSPagingFileDeleteTest extends JMSTestBase { } System.out.println("Sent " + JMSPagingFileDeleteTest.MESSAGE_NUM + " messages."); - pagingStore = server.getPagingManager().getPageStore(new SimpleString("jms.topic.topic1")); + pagingStore = server.getPagingManager().getPageStore(new SimpleString("topic1")); printPageStoreInfo(pagingStore); assertTrue(pagingStore.isPaging()); @@ -178,7 +178,7 @@ public class JMSPagingFileDeleteTest extends JMSTestBase { assertNotNull(message2); } - pagingStore = server.getPagingManager().getPageStore(new SimpleString("jms.topic.topic1")); + pagingStore = server.getPagingManager().getPageStore(new SimpleString("topic1")); long timeout = System.currentTimeMillis() + 5000; while (timeout > System.currentTimeMillis() && pagingStore.isPaging()) { Thread.sleep(100); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/JmsNettyNioStressTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/JmsNettyNioStressTest.java index e394e9430f..a721acace6 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/JmsNettyNioStressTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/JmsNettyNioStressTest.java @@ -128,8 +128,8 @@ public class JmsNettyNioStressTest extends ActiveMQTestBase { // create the 2 queues used in the test ClientSessionFactory sf = locator.createSessionFactory(transpConf); ClientSession session = sf.createTransactedSession(); - session.createQueue("jms.queue.queue", "jms.queue.queue"); - session.createQueue("jms.queue.queue2", "jms.queue.queue2"); + session.createQueue("queue", "queue"); + session.createQueue("queue2", "queue2"); session.commit(); sf.close(); session.close(); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/MultipleProducersTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/MultipleProducersTest.java index a750312e2a..a77c4d1449 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/MultipleProducersTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/MultipleProducersTest.java @@ -25,7 +25,6 @@ import javax.jms.Queue; import javax.jms.Session; import org.apache.activemq.artemis.api.core.SimpleString; -import org.apache.activemq.artemis.api.core.management.ResourceNames; import org.apache.activemq.artemis.api.jms.management.JMSQueueControl; import org.apache.activemq.artemis.core.settings.HierarchicalRepository; import org.apache.activemq.artemis.core.settings.impl.AddressFullMessagePolicy; @@ -43,11 +42,11 @@ public class MultipleProducersTest extends JMSTestBase { public Queue queueTwo = null; public Session session = null; - public SimpleString dlq = new SimpleString("jms.queue.DLQ"); - public SimpleString expiryQueue = new SimpleString("jms.queue.ExpiryQueue"); + public SimpleString dlq = new SimpleString("DLQ"); + public SimpleString expiryQueue = new SimpleString("ExpiryQueue"); - public SimpleString queueOneName = new SimpleString("jms.queue.queueOne"); - public SimpleString queueTwoName = new SimpleString("jms.queue.queueTwo"); + public SimpleString queueOneName = new SimpleString("queueOne"); + public SimpleString queueTwoName = new SimpleString("queueTwo"); public JMSQueueControl control = null; public long queueOneMsgCount = 0; public long queueTwoMsgCount = 0; @@ -127,7 +126,7 @@ public class MultipleProducersTest extends JMSTestBase { // after draining queueOne send 5 message to queueOne queueTwoMsgCount = server.locateQueue(queueTwoName).getMessageCount(); - control = (JMSQueueControl) server.getManagementService().getResource(ResourceNames.JMS_QUEUE + queueOne.getQueueName()); + control = (JMSQueueControl) server.getManagementService().getResource(queueOne.getQueueName()); control.removeMessages(null); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/clientcrash/PendingDeliveriesTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/clientcrash/PendingDeliveriesTest.java index f9079452fa..e550bef8b8 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/clientcrash/PendingDeliveriesTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/clientcrash/PendingDeliveriesTest.java @@ -39,7 +39,7 @@ public class PendingDeliveriesTest extends ClientTestBase { @Before public void createQueue() throws Exception { - server.createQueue(SimpleString.toSimpleString("jms.queue.queue1"), SimpleString.toSimpleString("jms.queue.queue1"), null, true, false); + server.createQueue(SimpleString.toSimpleString("queue1"), SimpleString.toSimpleString("queue1"), null, true, false); } @After @@ -110,7 +110,7 @@ public class PendingDeliveriesTest extends ClientTestBase { @Test public void testWithoutReconnect() throws Exception { - internalNoReconnect(AMQP_URI, "jms.queue.queue1"); + internalNoReconnect(AMQP_URI, "queue1"); internalNoReconnect(CORE_URI_NO_RECONNECT, "queue1"); } diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge/BridgeTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge/BridgeTest.java index 59d35dbc4f..eef3c81da4 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge/BridgeTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge/BridgeTest.java @@ -703,7 +703,7 @@ public class BridgeTest extends ActiveMQTestBase { final String testAddress = "testAddress"; final String queueName0 = "queue0"; - final String forwardAddress = "jms.queue.forwardAddress"; + final String forwardAddress = "forwardAddress"; final String queueName1 = "forwardAddress"; Map connectors = new HashMap<>(); @@ -810,8 +810,8 @@ public class BridgeTest extends ActiveMQTestBase { final String testAddress = "testAddress"; final String queueName0 = "queue0"; - final String forwardAddress = "jms.queue.forwardAddress"; - final String queueName1 = "forwardAddress"; + final String forwardAddress = "forwardAddress"; + final String queueName1 = "forwardQueue"; Map connectors = new HashMap<>(); TransportConfiguration server0tc = new TransportConfiguration(getConnector(), server0Params); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/distribution/ClusterTestBase.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/distribution/ClusterTestBase.java index 2623e9c699..541eacae9b 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/distribution/ClusterTestBase.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/distribution/ClusterTestBase.java @@ -523,10 +523,10 @@ public abstract class ClusterTestBase extends ActiveMQTestBase { final String address, final AddressInfo.RoutingType routingType, final int defaulMaxConsumers, - boolean defaultDeleteOnNoConsumers) { + boolean defaultDeleteOnNoConsumers) throws Exception { AddressInfo addressInfo = new AddressInfo(new SimpleString(address)); addressInfo.setRoutingType(routingType); - addressInfo.setDefaultMaxConsumers(defaulMaxConsumers); + addressInfo.setDefaultMaxQueueConsumers(defaulMaxConsumers); addressInfo.setDefaultDeleteOnNoConsumers(defaultDeleteOnNoConsumers); servers[node].createOrUpdateAddressInfo(addressInfo); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/distribution/SymmetricClusterTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/distribution/SymmetricClusterTest.java index e110cde23a..ca4554fe36 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/distribution/SymmetricClusterTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/distribution/SymmetricClusterTest.java @@ -1727,7 +1727,7 @@ public class SymmetricClusterTest extends ClusterTestBase { * on appropriate nodes in the cluster. It also verifies that addresses not matching the simple string filter do not * result in bindings being created. */ public void testClusterAddressCreatesBindingsForSimpleStringAddressFilters() throws Exception { - setupCluster("jms", "jms", "jms", "jms", "jms"); + setupCluster("test", "test", "test", "test", "test"); startServers(); setupSessionFactory(0, isNetty()); @@ -1736,11 +1736,11 @@ public class SymmetricClusterTest extends ClusterTestBase { setupSessionFactory(3, isNetty()); setupSessionFactory(4, isNetty()); - createQueue(0, "jms.queues.test.1", "queue0", null, false); - createQueue(1, "jms.queues.test.1", "queue0", null, false); - createQueue(2, "jms.queues.test.1", "queue0", null, false); - createQueue(3, "jms.queues.test.1", "queue0", null, false); - createQueue(4, "jms.queues.test.1", "queue0", null, false); + createQueue(0, "test.1", "queue0", null, false); + createQueue(1, "test.1", "queue0", null, false); + createQueue(2, "test.1", "queue0", null, false); + createQueue(3, "test.1", "queue0", null, false); + createQueue(4, "test.1", "queue0", null, false); createQueue(0, "foo.queues.test.1", "queue1", null, false); createQueue(1, "foo.queues.test.1", "queue1", null, false); @@ -1748,11 +1748,11 @@ public class SymmetricClusterTest extends ClusterTestBase { createQueue(3, "foo.queues.test.1", "queue1", null, false); createQueue(4, "foo.queues.test.1", "queue1", null, false); - waitForBindings(0, "jms.queues.test.1", 4, 0, false); - waitForBindings(1, "jms.queues.test.1", 4, 0, false); - waitForBindings(2, "jms.queues.test.1", 4, 0, false); - waitForBindings(3, "jms.queues.test.1", 4, 0, false); - waitForBindings(4, "jms.queues.test.1", 4, 0, false); + waitForBindings(0, "test.1", 4, 0, false); + waitForBindings(1, "test.1", 4, 0, false); + waitForBindings(2, "test.1", 4, 0, false); + waitForBindings(3, "test.1", 4, 0, false); + waitForBindings(4, "test.1", 4, 0, false); waitForBindings(0, "foo.queues.test.1", 0, 0, false); waitForBindings(1, "foo.queues.test.1", 0, 0, false); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/AutomaticColocatedQuorumVoteTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/AutomaticColocatedQuorumVoteTest.java index 15c4257818..0f792b5232 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/AutomaticColocatedQuorumVoteTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/AutomaticColocatedQuorumVoteTest.java @@ -281,7 +281,7 @@ public class AutomaticColocatedQuorumVoteTest extends ActiveMQTestBase { TransportConfiguration liveConnector, TransportConfiguration liveAcceptor, TransportConfiguration... otherLiveNodes) throws Exception { - Configuration configuration = createDefaultInVMConfig().clearAcceptorConfigurations().addAcceptorConfiguration(liveAcceptor).addConnectorConfiguration(liveConnector.getName(), liveConnector).setJournalDirectory(getJournalDir() + identity).setBindingsDirectory(getBindingsDir() + identity).setLargeMessagesDirectory(getLargeMessagesDir() + identity).setPagingDirectory(getPageDir() + identity).addQueueConfiguration(new CoreQueueConfiguration().setAddress("jms.queue.testQueue").setName("jms.queue.testQueue")); + Configuration configuration = createDefaultInVMConfig().clearAcceptorConfigurations().addAcceptorConfiguration(liveAcceptor).addConnectorConfiguration(liveConnector.getName(), liveConnector).setJournalDirectory(getJournalDir() + identity).setBindingsDirectory(getBindingsDir() + identity).setLargeMessagesDirectory(getLargeMessagesDir() + identity).setPagingDirectory(getPageDir() + identity).addQueueConfiguration(new CoreQueueConfiguration().setAddress("testQueue").setName("testQueue")); List transportConfigurationList = new ArrayList<>(); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/MultipleServerFailoverTestBase.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/MultipleServerFailoverTestBase.java index cc1ebf6c44..bfbe5d5dc2 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/MultipleServerFailoverTestBase.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/MultipleServerFailoverTestBase.java @@ -44,7 +44,9 @@ import org.junit.Before; public abstract class MultipleServerFailoverTestBase extends ActiveMQTestBase { // Constants ----------------------------------------------------- - protected static final SimpleString ADDRESS = new SimpleString("jms.queues.FailoverTestAddress"); + // TODO: find a better solution for this + // this is necessary because the cluster connection is using "jms" as its match; see org.apache.activemq.artemis.tests.util.ActiveMQTestBase.basicClusterConnectionConfig() + protected static final SimpleString ADDRESS = new SimpleString("jms.FailoverTestAddress"); // Attributes ---------------------------------------------------- diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/SecurityFailoverTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/SecurityFailoverTest.java index f6a8e5b1ae..abfc093bb7 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/SecurityFailoverTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/SecurityFailoverTest.java @@ -103,7 +103,7 @@ public class SecurityFailoverTest extends FailoverTest { protected ActiveMQJAASSecurityManager installSecurity(TestableServer server) { ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getServer().getSecurityManager(); securityManager.getConfiguration().addUser("a", "b"); - Role role = new Role("arole", true, true, true, true, true, true, true, true); + Role role = new Role("arole", true, true, true, true, true, true, true, true, true); Set roles = new HashSet<>(); roles.add(role); server.getServer().getSecurityRepository().addMatch("#", roles); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/crossprotocol/AMQPToOpenwireTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/crossprotocol/AMQPToOpenwireTest.java index 7af172ead6..0374aef830 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/crossprotocol/AMQPToOpenwireTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/crossprotocol/AMQPToOpenwireTest.java @@ -62,10 +62,10 @@ public class AMQPToOpenwireTest extends ActiveMQTestBase { server = createServer(true, true); serverManager = new JMSServerManagerImpl(server); Configuration serverConfig = server.getConfiguration(); - serverConfig.getAddressesSettings().put("jms.queue.#", new AddressSettings().setAutoCreateJmsQueues(false).setDeadLetterAddress(new SimpleString("jms.queue.ActiveMQ.DLQ"))); + serverConfig.getAddressesSettings().put("#", new AddressSettings().setAutoCreateJmsQueues(false).setDeadLetterAddress(new SimpleString("ActiveMQ.DLQ"))); serverConfig.setSecurityEnabled(false); serverManager.start(); - coreQueue = new SimpleString("jms.queue." + queueName); + coreQueue = new SimpleString(queueName); this.server.createQueue(coreQueue, coreQueue, null, false, false); qpidfactory = new JmsConnectionFactory("amqp://localhost:61616"); } diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/crossprotocol/OpenWireToAMQPTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/crossprotocol/OpenWireToAMQPTest.java index b1ae9c9565..fc98f13e7a 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/crossprotocol/OpenWireToAMQPTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/crossprotocol/OpenWireToAMQPTest.java @@ -55,10 +55,10 @@ public class OpenWireToAMQPTest extends ActiveMQTestBase { super.setUp(); server = createServer(true, true); Configuration serverConfig = server.getConfiguration(); - serverConfig.getAddressesSettings().put("jms.queue.#", new AddressSettings().setAutoCreateJmsQueues(false).setDeadLetterAddress(new SimpleString("jms.queue.ActiveMQ.DLQ"))); + serverConfig.getAddressesSettings().put("#", new AddressSettings().setAutoCreateJmsQueues(false).setDeadLetterAddress(new SimpleString("ActiveMQ.DLQ"))); serverConfig.setSecurityEnabled(false); server.start(); - coreQueue = new SimpleString("jms.queue." + queueName); + coreQueue = new SimpleString(queueName); this.server.createQueue(coreQueue, coreQueue, null, false, false); qpidfactory = new JmsConnectionFactory("amqp://localhost:61616"); } diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/divert/ReplicationWithDivertTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/divert/ReplicationWithDivertTest.java index a78e041e26..40372086e2 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/divert/ReplicationWithDivertTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/divert/ReplicationWithDivertTest.java @@ -46,9 +46,9 @@ import org.junit.Test; public class ReplicationWithDivertTest extends ActiveMQTestBase { public static final String JMS_SOURCE_QUEUE = "Queue"; - public static final String SOURCE_QUEUE = "jms.queue." + JMS_SOURCE_QUEUE; + public static final String SOURCE_QUEUE = JMS_SOURCE_QUEUE; public static final String JMS_TARGET_QUEUE = "DestQueue"; - public static final String TARGET_QUEUE = "jms.queue." + JMS_TARGET_QUEUE; + public static final String TARGET_QUEUE = JMS_TARGET_QUEUE; public static int messageChunkCount = 0; private static ActiveMQServer backupServer; diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/interceptors/InterceptorTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/interceptors/InterceptorTest.java index 5cc97f28c3..362c8a17fc 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/interceptors/InterceptorTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/interceptors/InterceptorTest.java @@ -51,7 +51,6 @@ import org.apache.activemq.artemis.core.protocol.core.impl.wireformat.SessionSen import org.apache.activemq.artemis.core.server.ActiveMQServer; import org.apache.activemq.artemis.core.server.ServerMessage; import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory; -import org.apache.activemq.artemis.jms.client.ActiveMQDestination; import org.apache.activemq.artemis.spi.core.protocol.RemotingConnection; import org.apache.activemq.artemis.spi.core.security.ActiveMQJAASSecurityManager; import org.apache.activemq.artemis.tests.util.ActiveMQTestBase; @@ -65,7 +64,7 @@ public class InterceptorTest extends ActiveMQTestBase { private final SimpleString QUEUE = new SimpleString("InterceptorTestQueue"); - private final SimpleString JMS_QUEUE = SimpleString.toSimpleString(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX + QUEUE.toString()); + private final SimpleString JMS_QUEUE = SimpleString.toSimpleString(QUEUE.toString()); private ServerLocator locator; diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/ActiveMQConnectionFactoryTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/ActiveMQConnectionFactoryTest.java index 9b8edb87a3..37e55c0ca7 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/ActiveMQConnectionFactoryTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/ActiveMQConnectionFactoryTest.java @@ -242,7 +242,7 @@ public class ActiveMQConnectionFactoryTest extends ActiveMQTestBase { private void testDeserializationOptions(boolean useJndi, boolean useBrowser) throws Exception { String qname = "SerialTestQueue"; - SimpleString qaddr = new SimpleString("jms.queue." + qname); + SimpleString qaddr = new SimpleString(qname); liveService.createQueue(qaddr, qaddr, null, true, false); //default ok @@ -315,7 +315,7 @@ public class ActiveMQConnectionFactoryTest extends ActiveMQTestBase { System.setProperty(ObjectInputStreamWithClassLoader.WHITELIST_PROPERTY, "some.other.package"); String qname = "SerialTestQueue"; - SimpleString qaddr = new SimpleString("jms.queue." + qname); + SimpleString qaddr = new SimpleString(qname); liveService.createQueue(qaddr, qaddr, null, true, false); try { @@ -378,9 +378,8 @@ public class ActiveMQConnectionFactoryTest extends ActiveMQTestBase { } else { factory = new ActiveMQConnectionFactory("vm://0" + query); } - Connection connection = null; - try { - connection = factory.createConnection(); + + try (Connection connection = factory.createConnection()) { connection.start(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Queue queue = session.createQueue(qname); @@ -401,14 +400,6 @@ public class ActiveMQConnectionFactoryTest extends ActiveMQTestBase { return result; } catch (Exception e) { return e; - } finally { - if (connection != null) { - try { - connection.close(); - } catch (JMSException e) { - return e; - } - } } } diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/JmsProducerTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/JmsProducerTest.java index 5b8376ebf9..245ac89308 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/JmsProducerTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/JmsProducerTest.java @@ -92,7 +92,6 @@ public class JmsProducerTest extends JMSTestBase { @Test public void multipleSendsUsingSetters() throws Exception { - jmsServer.createQueue(true, "q1", null, true, "/queues/q1"); server.createQueue(SimpleString.toSimpleString("q1"), SimpleString.toSimpleString("q1"), null, true, false); Queue q1 = context.createQueue("q1"); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/RedeployTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/RedeployTest.java index 81cb3bf81b..590a997ff7 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/RedeployTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/RedeployTest.java @@ -62,8 +62,8 @@ public class RedeployTest extends ActiveMQTestBase { try { latch.await(10, TimeUnit.SECONDS); - Assert.assertEquals("jms.queue.DLQ", embeddedJMS.getActiveMQServer().getAddressSettingsRepository().getMatch("jms").getDeadLetterAddress().toString()); - Assert.assertEquals("jms.queue.ExpiryQueue", embeddedJMS.getActiveMQServer().getAddressSettingsRepository().getMatch("jms").getExpiryAddress().toString()); + Assert.assertEquals("DLQ", embeddedJMS.getActiveMQServer().getAddressSettingsRepository().getMatch("jms").getDeadLetterAddress().toString()); + Assert.assertEquals("ExpiryQueue", embeddedJMS.getActiveMQServer().getAddressSettingsRepository().getMatch("jms").getExpiryAddress().toString()); Assert.assertFalse(tryConsume()); Files.copy(url2.openStream(), brokerXML, StandardCopyOption.REPLACE_EXISTING); brokerXML.toFile().setLastModified(System.currentTimeMillis() + 1000); @@ -73,8 +73,8 @@ public class RedeployTest extends ActiveMQTestBase { Assert.assertTrue(tryConsume()); - Assert.assertEquals("jms.queue.NewQueue", embeddedJMS.getActiveMQServer().getAddressSettingsRepository().getMatch("jms").getDeadLetterAddress().toString()); - Assert.assertEquals("jms.queue.NewQueue", embeddedJMS.getActiveMQServer().getAddressSettingsRepository().getMatch("jms").getExpiryAddress().toString()); + Assert.assertEquals("NewQueue", embeddedJMS.getActiveMQServer().getAddressSettingsRepository().getMatch("jms").getDeadLetterAddress().toString()); + Assert.assertEquals("NewQueue", embeddedJMS.getActiveMQServer().getAddressSettingsRepository().getMatch("jms").getExpiryAddress().toString()); ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(); try (Connection connection = factory.createConnection()) { diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/client/CreateQueueTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/client/CreateQueueTest.java index 6fadd51c32..9977d44a43 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/client/CreateQueueTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/client/CreateQueueTest.java @@ -22,7 +22,6 @@ import javax.jms.Queue; import javax.jms.Session; import javax.jms.Topic; -import org.apache.activemq.artemis.jms.client.ActiveMQDestination; import org.apache.activemq.artemis.tests.integration.IntegrationTestLogger; import org.apache.activemq.artemis.tests.util.JMSTestBase; import org.junit.Test; @@ -50,7 +49,7 @@ public class CreateQueueTest extends JMSTestBase { String tempQueueName = tempQueue.getQueueName(); - assertFalse(tempQueueName.startsWith(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX)); +// assertFalse(tempQueueName.startsWith(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX)); Queue replyQueue = session.createQueue(tempQueueName); @@ -76,7 +75,7 @@ public class CreateQueueTest extends JMSTestBase { log.info("queue name is " + queueName); - assertFalse(queueName.startsWith(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX)); +// assertFalse(queueName.startsWith(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX)); Queue replyQueue = session.createQueue(queueName); @@ -101,7 +100,7 @@ public class CreateQueueTest extends JMSTestBase { String topicName = topic.getTopicName(); - assertFalse(topicName.startsWith(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX)); +// assertFalse(topicName.startsWith(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX)); Topic replyTopic = session.createTopic(topicName); @@ -125,7 +124,7 @@ public class CreateQueueTest extends JMSTestBase { String tempTopicName = tempTopic.getTopicName(); - assertFalse(tempTopicName.startsWith(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX)); +// assertFalse(tempTopicName.startsWith(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX)); Topic replyTopic = session.createTopic(tempTopicName); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/client/TopicCleanupTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/client/TopicCleanupTest.java index ec279eea1f..bbbe6ed1a2 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/client/TopicCleanupTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/client/TopicCleanupTest.java @@ -81,7 +81,7 @@ public class TopicCleanupTest extends JMSTestBase { for (int i = 0; i < 100; i++) { long txid = storage.generateID(); - final Queue queue = new QueueImpl(storage.generateID(), SimpleString.toSimpleString("jms.topic.topic"), SimpleString.toSimpleString("jms.topic.topic"), FilterImpl.createFilter(ActiveMQServerImpl.GENERIC_IGNORED_FILTER), null, true, false, false, server.getScheduledPool(), server.getPostOffice(), storage, server.getAddressSettingsRepository(), server.getExecutorFactory().getExecutor()); + final Queue queue = new QueueImpl(storage.generateID(), SimpleString.toSimpleString("topic"), SimpleString.toSimpleString("topic"), FilterImpl.createFilter(ActiveMQServerImpl.GENERIC_IGNORED_FILTER), null, true, false, false, server.getScheduledPool(), server.getPostOffice(), storage, server.getAddressSettingsRepository(), server.getExecutorFactory().getExecutor()); LocalQueueBinding binding = new LocalQueueBinding(server.getAddressInfo(queue.getAddress()), queue, server.getNodeID()); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/BindingsClusterTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/BindingsClusterTest.java index 927d347bca..982c7d3ccd 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/BindingsClusterTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/BindingsClusterTest.java @@ -48,6 +48,10 @@ import org.junit.runners.Parameterized; @RunWith(value = Parameterized.class) public class BindingsClusterTest extends JMSClusteredTestBase { + // TODO: find a solution to this + // the "jms." prefix is needed because the cluster connection is matching on this + public static final String TOPIC = "jms.t1"; + private final boolean crash; public BindingsClusterTest(boolean crash) { @@ -89,9 +93,9 @@ public class BindingsClusterTest extends JMSClusteredTestBase { try { - Topic topic1 = createTopic("t1", true); + Topic topic1 = createTopic(TOPIC, true); - Topic topic2 = (Topic) context1.lookup("topic/t1"); + Topic topic2 = (Topic) context1.lookup("topic/" + TOPIC); Session session1 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE); @@ -113,12 +117,12 @@ public class BindingsClusterTest extends JMSClusteredTestBase { prod1.send(session1.createTextMessage("m1")); - printBindings(jmsServer1.getActiveMQServer(), "jms.topic.t1"); - printBindings(jmsServer2.getActiveMQServer(), "jms.topic.t1"); + printBindings(jmsServer1.getActiveMQServer(), TOPIC); + printBindings(jmsServer2.getActiveMQServer(), TOPIC); crash(); - printBindings(jmsServer1.getActiveMQServer(), "jms.topic.t1"); + printBindings(jmsServer1.getActiveMQServer(), TOPIC); prod1.send(session1.createTextMessage("m2")); @@ -126,8 +130,8 @@ public class BindingsClusterTest extends JMSClusteredTestBase { Thread.sleep(2000); - printBindings(jmsServer1.getActiveMQServer(), "jms.topic.t1"); - printBindings(jmsServer2.getActiveMQServer(), "jms.topic.t1"); + printBindings(jmsServer1.getActiveMQServer(), TOPIC); + printBindings(jmsServer2.getActiveMQServer(), TOPIC); prod1.send(session1.createTextMessage("m3")); @@ -167,8 +171,8 @@ public class BindingsClusterTest extends JMSClusteredTestBase { conn2.close(); } - jmsServer1.destroyTopic("t1"); - jmsServer2.destroyTopic("t1"); + jmsServer1.destroyTopic(TOPIC); + jmsServer2.destroyTopic(TOPIC); } @Test @@ -187,9 +191,9 @@ public class BindingsClusterTest extends JMSClusteredTestBase { try { - Topic topic1 = createTopic("t1", true); + Topic topic1 = createTopic(TOPIC, true); - Topic topic2 = (Topic) context1.lookup("topic/t1"); + Topic topic2 = (Topic) context1.lookup("topic/" + TOPIC); Session session1 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE); @@ -213,12 +217,12 @@ public class BindingsClusterTest extends JMSClusteredTestBase { prod1.send(session1.createTextMessage("m1")); - printBindings(jmsServer1.getActiveMQServer(), "jms.topic.t1"); - printBindings(jmsServer2.getActiveMQServer(), "jms.topic.t1"); + printBindings(jmsServer1.getActiveMQServer(), TOPIC); + printBindings(jmsServer2.getActiveMQServer(), TOPIC); crash(); - printBindings(jmsServer1.getActiveMQServer(), "jms.topic.t1"); + printBindings(jmsServer1.getActiveMQServer(), TOPIC); //send a few messages while the binding is disconnected prod1.send(session1.createTextMessage("m2")); @@ -229,8 +233,8 @@ public class BindingsClusterTest extends JMSClusteredTestBase { Thread.sleep(2000); - printBindings(jmsServer1.getActiveMQServer(), "jms.topic.t1"); - printBindings(jmsServer2.getActiveMQServer(), "jms.topic.t1"); + printBindings(jmsServer1.getActiveMQServer(), TOPIC); + printBindings(jmsServer2.getActiveMQServer(), TOPIC); prod1.send(session1.createTextMessage("m5")); prod1.send(session1.createTextMessage("m6")); @@ -287,8 +291,8 @@ public class BindingsClusterTest extends JMSClusteredTestBase { conn2.close(); } - jmsServer1.destroyTopic("t1"); - jmsServer2.destroyTopic("t1"); + jmsServer1.destroyTopic(TOPIC); + jmsServer2.destroyTopic(TOPIC); } @Test @@ -307,9 +311,9 @@ public class BindingsClusterTest extends JMSClusteredTestBase { try { - Topic topic1 = createTopic("t1", true); + Topic topic1 = createTopic(TOPIC, true); - Topic topic2 = (Topic) context1.lookup("topic/t1"); + Topic topic2 = (Topic) context1.lookup("topic/" + TOPIC); Session session1 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE); @@ -328,15 +332,15 @@ public class BindingsClusterTest extends JMSClusteredTestBase { prod1.send(session1.createTextMessage("m1")); prod1.send(session1.createTextMessage("m2")); - printBindings(jmsServer1.getActiveMQServer(), "jms.topic.t1"); - printBindings(jmsServer2.getActiveMQServer(), "jms.topic.t1"); + printBindings(jmsServer1.getActiveMQServer(), TOPIC); + printBindings(jmsServer2.getActiveMQServer(), TOPIC); crash(); //this may or may not be closed, if the server was crashed then it would have been closed on failure. cons2.close(); - printBindings(jmsServer1.getActiveMQServer(), "jms.topic.t1"); + printBindings(jmsServer1.getActiveMQServer(), TOPIC); //send a few messages while the binding is disconnected prod1.send(session1.createTextMessage("m3")); @@ -347,8 +351,8 @@ public class BindingsClusterTest extends JMSClusteredTestBase { Thread.sleep(2000); - printBindings(jmsServer1.getActiveMQServer(), "jms.topic.t1"); - printBindings(jmsServer2.getActiveMQServer(), "jms.topic.t1"); + printBindings(jmsServer1.getActiveMQServer(), TOPIC); + printBindings(jmsServer2.getActiveMQServer(), TOPIC); prod1.send(session1.createTextMessage("m6")); prod1.send(session1.createTextMessage("m7")); @@ -395,8 +399,8 @@ public class BindingsClusterTest extends JMSClusteredTestBase { conn2.close(); } - jmsServer1.destroyTopic("t1"); - jmsServer2.destroyTopic("t1"); + jmsServer1.destroyTopic(TOPIC); + jmsServer2.destroyTopic(TOPIC); } private void crash() throws Exception { diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/JMSFailoverListenerTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/JMSFailoverListenerTest.java index 5f90a6e6f6..538260eee0 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/JMSFailoverListenerTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/JMSFailoverListenerTest.java @@ -46,7 +46,6 @@ import org.apache.activemq.artemis.core.server.NodeManager; import org.apache.activemq.artemis.core.server.impl.InVMNodeManager; import org.apache.activemq.artemis.jms.client.ActiveMQConnection; import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory; -import org.apache.activemq.artemis.jms.client.ActiveMQDestination; import org.apache.activemq.artemis.jms.client.ActiveMQSession; import org.apache.activemq.artemis.jms.server.JMSServerManager; import org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl; @@ -132,7 +131,7 @@ public class JMSFailoverListenerTest extends ActiveMQTestBase { ClientSession coreSession = ((ActiveMQSession) sess).getCoreSession(); - SimpleString jmsQueueName = new SimpleString(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX + "myqueue"); + SimpleString jmsQueueName = new SimpleString("myqueue"); coreSession.createQueue(jmsQueueName, jmsQueueName, null, true); @@ -205,7 +204,7 @@ public class JMSFailoverListenerTest extends ActiveMQTestBase { ClientSession coreSessionLive = ((ActiveMQSession) sessLive).getCoreSession(); - SimpleString jmsQueueName = new SimpleString(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX + "myqueue"); + SimpleString jmsQueueName = new SimpleString("myqueue"); coreSessionLive.createQueue(jmsQueueName, jmsQueueName, null, true); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/JMSFailoverTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/JMSFailoverTest.java index 802d84b906..6e960f2505 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/JMSFailoverTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/JMSFailoverTest.java @@ -53,7 +53,6 @@ import org.apache.activemq.artemis.core.server.ActiveMQServer; import org.apache.activemq.artemis.core.server.NodeManager; import org.apache.activemq.artemis.core.server.impl.InVMNodeManager; import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory; -import org.apache.activemq.artemis.jms.client.ActiveMQDestination; import org.apache.activemq.artemis.jms.client.ActiveMQSession; import org.apache.activemq.artemis.jms.server.JMSServerManager; import org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl; @@ -197,7 +196,7 @@ public class JMSFailoverTest extends ActiveMQTestBase { ClientSession coreSession = ((ActiveMQSession) sess).getCoreSession(); - SimpleString jmsQueueName = new SimpleString(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX + "myqueue"); + SimpleString jmsQueueName = new SimpleString("myqueue"); coreSession.createQueue(jmsQueueName, jmsQueueName, null, true); @@ -270,7 +269,7 @@ public class JMSFailoverTest extends ActiveMQTestBase { RemotingConnection coreConnLive = ((ClientSessionInternal) coreSessionLive).getConnection(); - SimpleString jmsQueueName = new SimpleString(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX + "myqueue"); + SimpleString jmsQueueName = new SimpleString("myqueue"); coreSessionLive.createQueue(jmsQueueName, jmsQueueName, null, true); @@ -319,7 +318,7 @@ public class JMSFailoverTest extends ActiveMQTestBase { @Test public void testSendReceiveLargeMessages() throws Exception { - SimpleString QUEUE = new SimpleString("jms.queue.somequeue"); + SimpleString QUEUE = new SimpleString("somequeue"); ActiveMQConnectionFactory jbcf = ActiveMQJMSClient.createConnectionFactoryWithHA(JMSFactoryType.CF, livetc, backuptc); jbcf.setReconnectAttempts(-1); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/JMSReconnectTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/JMSReconnectTest.java index 639c23c084..92741e7474 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/JMSReconnectTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/JMSReconnectTest.java @@ -40,7 +40,6 @@ import org.apache.activemq.artemis.core.client.impl.ClientSessionInternal; import org.apache.activemq.artemis.core.server.ActiveMQServer; import org.apache.activemq.artemis.core.server.ActiveMQServers; import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory; -import org.apache.activemq.artemis.jms.client.ActiveMQDestination; import org.apache.activemq.artemis.jms.client.ActiveMQSession; import org.apache.activemq.artemis.spi.core.protocol.RemotingConnection; import org.apache.activemq.artemis.tests.util.ActiveMQTestBase; @@ -99,7 +98,7 @@ public class JMSReconnectTest extends ActiveMQTestBase { RemotingConnection coreConn = ((ClientSessionInternal) coreSession).getConnection(); - SimpleString jmsQueueName = new SimpleString(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX + "myqueue"); + SimpleString jmsQueueName = new SimpleString("myqueue"); coreSession.createQueue(jmsQueueName, jmsQueueName, null, true); @@ -179,7 +178,7 @@ public class JMSReconnectTest extends ActiveMQTestBase { Destination dest; if (nonDurableSub) { - coreSession.createQueue(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX + "mytopic", "blahblah", null, false); + coreSession.createQueue("mytopic", "blahblah", null, false); dest = ActiveMQJMSClient.createTopic("mytopic"); } else { @@ -242,7 +241,7 @@ public class JMSReconnectTest extends ActiveMQTestBase { ClientSession coreSession = ((ActiveMQSession) sess).getCoreSession(); - coreSession.createQueue(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX + "mytopic", "blahblah", null, false); + coreSession.createQueue("mytopic", "blahblah", null, false); Topic topic = ActiveMQJMSClient.createTopic("mytopic"); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/LargeMessageOverBridgeTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/LargeMessageOverBridgeTest.java index 14d730c272..07c039be4f 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/LargeMessageOverBridgeTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/LargeMessageOverBridgeTest.java @@ -42,6 +42,10 @@ import org.junit.runners.Parameterized; @RunWith(value = Parameterized.class) public class LargeMessageOverBridgeTest extends JMSClusteredTestBase { + // TODO: find a solution to this + // the "jms." prefix is needed because the cluster connection is matching on this + public static final String QUEUE = "jms.Q1"; + private final boolean persistent; @Override @@ -72,9 +76,9 @@ public class LargeMessageOverBridgeTest extends JMSClusteredTestBase { */ @Test public void testSendHalfLargeTextMessage() throws Exception { - createQueue("Q1"); + createQueue(QUEUE); - Queue queue = (Queue) context1.lookup("queue/Q1"); + Queue queue = (Queue) context1.lookup("queue/" + QUEUE); Connection conn1 = cf1.createConnection(); Session session1 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE); MessageProducer prod1 = session1.createProducer(queue); @@ -112,9 +116,9 @@ public class LargeMessageOverBridgeTest extends JMSClusteredTestBase { */ @Test public void testSendMapMessageOverCluster() throws Exception { - createQueue("Q1"); + createQueue("jms." + QUEUE); - Queue queue = (Queue) context1.lookup("queue/Q1"); + Queue queue = (Queue) context1.lookup("queue/jms." + QUEUE); Connection conn1 = cf1.createConnection(); Session session1 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE); MessageProducer prod1 = session1.createProducer(queue); @@ -180,9 +184,9 @@ public class LargeMessageOverBridgeTest extends JMSClusteredTestBase { */ @Test public void testSendBytesAsLargeOnBridgeOnly() throws Exception { - createQueue("Q1"); + createQueue(QUEUE); - Queue queue = (Queue) context1.lookup("queue/Q1"); + Queue queue = (Queue) context1.lookup("queue/" + QUEUE); Connection conn1 = cf1.createConnection(); Session session1 = conn1.createSession(true, Session.SESSION_TRANSACTED); MessageProducer prod1 = session1.createProducer(queue); @@ -227,9 +231,9 @@ public class LargeMessageOverBridgeTest extends JMSClusteredTestBase { */ @Test public void testSendLargeForBridge() throws Exception { - createQueue("Q1"); + createQueue(QUEUE); - Queue queue = (Queue) context1.lookup("queue/Q1"); + Queue queue = (Queue) context1.lookup("queue/" + QUEUE); ActiveMQConnectionFactory cf1 = ActiveMQJMSClient.createConnectionFactoryWithHA(JMSFactoryType.CF, new TransportConfiguration(INVM_CONNECTOR_FACTORY, generateInVMParams(1))); cf1.setMinLargeMessageSize(200 * 1024); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/TemporaryQueueClusterTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/TemporaryQueueClusterTest.java index 8c7a408904..b68d803b29 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/TemporaryQueueClusterTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/TemporaryQueueClusterTest.java @@ -28,6 +28,8 @@ import org.junit.Test; public class TemporaryQueueClusterTest extends JMSClusteredTestBase { + public static final String QUEUE_NAME = "jms.target"; + // Constants ----------------------------------------------------- // Attributes ---------------------------------------------------- @@ -42,8 +44,8 @@ public class TemporaryQueueClusterTest extends JMSClusteredTestBase { public void testClusteredQueue() throws Exception { System.out.println("Server1 = " + server1.getNodeID()); System.out.println("Server2 = " + server2.getNodeID()); - jmsServer1.createQueue(false, "target", null, true, "/queue/target"); - jmsServer2.createQueue(false, "target", null, true, "/queue/target"); + jmsServer1.createQueue(false, QUEUE_NAME, null, true, "/queue/target"); + jmsServer2.createQueue(false, QUEUE_NAME, null, true, "/queue/target"); Connection conn1 = cf1.createConnection(); Connection conn2 = cf2.createConnection(); @@ -54,10 +56,10 @@ public class TemporaryQueueClusterTest extends JMSClusteredTestBase { try { Session session1 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE); - Queue targetQueue1 = session1.createQueue("target"); + Queue targetQueue1 = session1.createQueue(QUEUE_NAME); Session session2 = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE); - Queue targetQueue2 = session2.createQueue("target"); + Queue targetQueue2 = session2.createQueue(QUEUE_NAME); // sleep a little bit to have the temp queue propagated to server #2 Thread.sleep(3000); @@ -81,10 +83,11 @@ public class TemporaryQueueClusterTest extends JMSClusteredTestBase { } } + // TODO: this is broken because temporary queues are no longer created with the "jms.temp-queue" prefix which means the cluster-connection won't match it @Test public void testTemporaryQueue() throws Exception { - jmsServer1.createQueue(false, "target", null, false, "/queue/target"); - jmsServer2.createQueue(false, "target", null, false, "/queue/target"); + jmsServer1.createQueue(false, QUEUE_NAME, null, false, "/queue/target"); + jmsServer2.createQueue(false, QUEUE_NAME, null, false, "/queue/target"); Connection conn1 = cf1.createConnection(); Connection conn2 = cf2.createConnection(); @@ -94,11 +97,11 @@ public class TemporaryQueueClusterTest extends JMSClusteredTestBase { try { Session session1 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE); - Queue targetQueue1 = session1.createQueue("target"); + Queue targetQueue1 = session1.createQueue(QUEUE_NAME); Queue tempQueue = session1.createTemporaryQueue(); System.out.println("temp queue is " + tempQueue.getQueueName()); Session session2 = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE); - Queue targetQueue2 = session2.createQueue("target"); + Queue targetQueue2 = session2.createQueue(QUEUE_NAME); MessageProducer prod1 = session1.createProducer(targetQueue1); MessageConsumer cons2 = session2.createConsumer(targetQueue2); @@ -126,6 +129,7 @@ public class TemporaryQueueClusterTest extends JMSClusteredTestBase { for (int i = 0; i < 10; i++) { if (i % 2 == 0) { TextMessage received = (TextMessage) tempCons1.receive(5000); + assertNotNull(received); System.out.println(received.getText()); } } @@ -134,8 +138,8 @@ public class TemporaryQueueClusterTest extends JMSClusteredTestBase { conn2.close(); } - jmsServer1.destroyQueue("target"); - jmsServer2.destroyQueue("target"); + jmsServer1.destroyQueue(QUEUE_NAME); + jmsServer2.destroyQueue(QUEUE_NAME); } diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/TopicClusterTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/TopicClusterTest.java index 73bd7ca049..2b9dd6fcf0 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/TopicClusterTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/TopicClusterTest.java @@ -29,6 +29,9 @@ import org.junit.Test; public class TopicClusterTest extends JMSClusteredTestBase { + // TODO: required to match cluster-connection + public static final String TOPIC = "jms.t1"; + // Constants ----------------------------------------------------- // Attributes ---------------------------------------------------- @@ -55,9 +58,9 @@ public class TopicClusterTest extends JMSClusteredTestBase { try { - Topic topic1 = createTopic("t1"); + Topic topic1 = createTopic(TOPIC); - Topic topic2 = (Topic) context1.lookup("topic/t1"); + Topic topic2 = (Topic) context1.lookup("topic/" + TOPIC); Session session1 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE); @@ -87,8 +90,8 @@ public class TopicClusterTest extends JMSClusteredTestBase { conn2.close(); } - jmsServer1.destroyTopic("t1"); - jmsServer2.destroyTopic("t1"); + jmsServer1.destroyTopic(TOPIC); + jmsServer2.destroyTopic(TOPIC); } diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/consumer/ConsumerTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/consumer/ConsumerTest.java index 7c5cde6098..28643cf86b 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/consumer/ConsumerTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/consumer/ConsumerTest.java @@ -38,7 +38,6 @@ import org.apache.activemq.artemis.api.jms.ActiveMQJMSConstants; import org.apache.activemq.artemis.api.jms.JMSFactoryType; import org.apache.activemq.artemis.core.server.Queue; import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory; -import org.apache.activemq.artemis.jms.client.ActiveMQDestination; import org.apache.activemq.artemis.tests.integration.IntegrationTestLogger; import org.apache.activemq.artemis.tests.util.JMSTestBase; import org.apache.activemq.artemis.utils.ReusableLatch; @@ -132,7 +131,7 @@ public class ConsumerTest extends JMSTestBase { Assert.assertNotNull(m); } - SimpleString queueName = new SimpleString(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX + ConsumerTest.Q_NAME); + SimpleString queueName = new SimpleString(ConsumerTest.Q_NAME); Assert.assertEquals(0, getMessageCount((Queue) server.getPostOffice().getBinding(queueName).getBindable())); Assert.assertEquals(0, getMessageCount((Queue) server.getPostOffice().getBinding(queueName).getBindable())); } @@ -178,7 +177,7 @@ public class ConsumerTest extends JMSTestBase { Assert.assertEquals("m" + i, m.getText()); } - SimpleString queueName = new SimpleString(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX + ConsumerTest.Q_NAME); + SimpleString queueName = new SimpleString(ConsumerTest.Q_NAME); Assert.assertEquals(0, ((Queue) server.getPostOffice().getBinding(queueName).getBindable()).getDeliveringCount()); Assert.assertEquals(0, getMessageCount((Queue) server.getPostOffice().getBinding(queueName).getBindable())); conn.close(); @@ -252,7 +251,7 @@ public class ConsumerTest extends JMSTestBase { Assert.assertEquals("m" + i, m.getText()); } - SimpleString queueName = new SimpleString(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX + ConsumerTest.Q_NAME); + SimpleString queueName = new SimpleString(ConsumerTest.Q_NAME); Assert.assertEquals(0, ((Queue) server.getPostOffice().getBinding(queueName).getBindable()).getDeliveringCount()); Assert.assertEquals(0, getMessageCount((Queue) server.getPostOffice().getBinding(queueName).getBindable())); conn.close(); @@ -279,7 +278,7 @@ public class ConsumerTest extends JMSTestBase { } // Messages should all have been acked since we set pre ack on the cf - SimpleString queueName = new SimpleString(ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX + ConsumerTest.Q_NAME); + SimpleString queueName = new SimpleString(ConsumerTest.Q_NAME); Assert.assertEquals(0, ((Queue) server.getPostOffice().getBinding(queueName).getBindable()).getDeliveringCount()); Assert.assertEquals(0, getMessageCount((Queue) server.getPostOffice().getBinding(queueName).getBindable())); } diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/divert/DivertAndACKClientTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/divert/DivertAndACKClientTest.java index b702072f99..aad33238b9 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/divert/DivertAndACKClientTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/divert/DivertAndACKClientTest.java @@ -93,7 +93,7 @@ public class DivertAndACKClientTest extends JMSTestBase { @Override protected Configuration createDefaultConfig(final boolean netty) throws Exception { - DivertConfiguration divert = new DivertConfiguration().setName("local-divert").setRoutingName("some-name").setAddress("jms.queue.Source").setForwardingAddress("jms.queue.Dest").setExclusive(true); + DivertConfiguration divert = new DivertConfiguration().setName("local-divert").setRoutingName("some-name").setAddress("Source").setForwardingAddress("Dest").setExclusive(true); Configuration config = super.createDefaultConfig(netty).addDivertConfiguration(divert); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/jms2client/NonExistentQueueTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/jms2client/NonExistentQueueTest.java index 70d26377b3..88dc68b643 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/jms2client/NonExistentQueueTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/jms2client/NonExistentQueueTest.java @@ -55,7 +55,7 @@ public class NonExistentQueueTest extends JMSTestBase { @Test public void sendToNonExistentDestination() throws Exception { - server.getAddressSettingsRepository().addMatch("#", new AddressSettings().setAutoCreateJmsTopics(false)); + server.getAddressSettingsRepository().addMatch("#", new AddressSettings().setAutoCreateJmsQueues(false)); Destination destination = ActiveMQJMSClient.createTopic("DoesNotExist"); TransportConfiguration transportConfiguration = new TransportConfiguration(InVMConnectorFactory.class.getName()); ConnectionFactory localConnectionFactory = ActiveMQJMSClient.createConnectionFactoryWithoutHA(JMSFactoryType.CF, transportConfiguration); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/JMSQueueControlTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/JMSQueueControlTest.java index 203bd87048..c2579334ab 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/JMSQueueControlTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/JMSQueueControlTest.java @@ -214,7 +214,7 @@ public class JMSQueueControlTest extends ManagementTestBase { Assert.assertEquals(1, data.length); Assert.assertEquals(1, data.length); Assert.assertNotNull(data[0].get("JMSReplyTo")); - Assert.assertEquals("jms.queue.foo", data[0].get("JMSReplyTo")); + Assert.assertEquals("queue://foo", data[0].get("JMSReplyTo")); System.out.println(data[0]); JMSUtil.consumeMessages(1, queue); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/JMSQueueControlUsingJMSTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/JMSQueueControlUsingJMSTest.java index 7a07439328..a105a5766d 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/JMSQueueControlUsingJMSTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/JMSQueueControlUsingJMSTest.java @@ -24,7 +24,6 @@ import java.util.Map; import org.apache.activemq.artemis.api.core.TransportConfiguration; import org.apache.activemq.artemis.api.core.management.Parameter; -import org.apache.activemq.artemis.api.core.management.ResourceNames; import org.apache.activemq.artemis.api.jms.ActiveMQJMSClient; import org.apache.activemq.artemis.api.jms.JMSFactoryType; import org.apache.activemq.artemis.api.jms.management.JMSQueueControl; @@ -75,7 +74,7 @@ public class JMSQueueControlUsingJMSTest extends JMSQueueControlTest { protected JMSQueueControl createManagementControl() throws Exception { ActiveMQQueue managementQueue = (ActiveMQQueue) ActiveMQJMSClient.createQueue("activemq.management"); - final JMSMessagingProxy proxy = new JMSMessagingProxy(session, managementQueue, ResourceNames.JMS_QUEUE + queue.getQueueName()); + final JMSMessagingProxy proxy = new JMSMessagingProxy(session, managementQueue, queue.getQueueName()); return new JMSQueueControl() { diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/JMSServerControl2Test.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/JMSServerControl2Test.java index 87e8921ebd..1a9e47bccf 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/JMSServerControl2Test.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/JMSServerControl2Test.java @@ -415,7 +415,7 @@ public class JMSServerControl2Test extends ManagementTestBase { assertNotNull(sInfo.getSessionID()); long createTime = sInfo.getCreationTime(); assertTrue(startTime <= createTime && createTime <= System.currentTimeMillis()); - String lastID = control.getLastSentMessageID(sInfo.getSessionID(), "jms.queue." + queueName); + String lastID = control.getLastSentMessageID(sInfo.getSessionID(), queueName); if (lastID != null) { assertEquals(lastMsgID, lastID); lastMsgFound = true; @@ -926,8 +926,8 @@ public class JMSServerControl2Test extends ManagementTestBase { Queue queue2 = ActiveMQJMSClient.createQueue(queueName2); JMSServerControl control = createManagementControl(); - QueueControl queueControl = createManagementControl("jms.queue." + queueName, "jms.queue." + queueName); - QueueControl queueControl2 = createManagementControl("jms.queue." + queueName2, "jms.queue." + queueName2); + QueueControl queueControl = createManagementControl(queueName, queueName); + QueueControl queueControl2 = createManagementControl(queueName2, queueName2); Assert.assertEquals(0, server.getConnectionCount()); Assert.assertEquals(0, control.listRemoteAddresses().length); @@ -959,7 +959,7 @@ public class JMSServerControl2Test extends ManagementTestBase { } }); - Assert.assertTrue(control.closeConsumerConnectionsForAddress("jms.queue." + queueName)); + Assert.assertTrue(control.closeConsumerConnectionsForAddress(queueName)); boolean gotException = exceptionLatch.await(2 * JMSServerControl2Test.CONNECTION_TTL, TimeUnit.MILLISECONDS); Assert.assertTrue("did not received the expected JMSException", gotException); @@ -1000,9 +1000,9 @@ public class JMSServerControl2Test extends ManagementTestBase { Queue queue3 = ActiveMQJMSClient.createQueue(queueName3); JMSServerControl control = createManagementControl(); - QueueControl queueControl = createManagementControl("jms.queue." + queueName1, "jms.queue." + queueName1); - QueueControl queueControl2 = createManagementControl("jms.queue." + queueName2, "jms.queue." + queueName2); - QueueControl queueControl3 = createManagementControl("jms.queue." + queueName3, "jms.queue." + queueName3); + QueueControl queueControl = createManagementControl(queueName1, queueName1); + QueueControl queueControl2 = createManagementControl(queueName2, queueName2); + QueueControl queueControl3 = createManagementControl(queueName3, queueName3); Assert.assertEquals(0, server.getConnectionCount()); Assert.assertEquals(0, control.listRemoteAddresses().length); @@ -1047,7 +1047,7 @@ public class JMSServerControl2Test extends ManagementTestBase { } }); - Assert.assertTrue(control.closeConsumerConnectionsForAddress("jms.queue.x.#")); + Assert.assertTrue(control.closeConsumerConnectionsForAddress("x.#")); boolean gotException = exceptionLatch.await(2 * JMSServerControl2Test.CONNECTION_TTL, TimeUnit.MILLISECONDS); Assert.assertTrue("did not received the expected JMSException", gotException); @@ -1087,8 +1087,8 @@ public class JMSServerControl2Test extends ManagementTestBase { Queue queue2 = ActiveMQJMSClient.createQueue(queueName2); JMSServerControl control = createManagementControl(); - QueueControl queueControl = createManagementControl("jms.queue." + queueName, "jms.queue." + queueName); - QueueControl queueControl2 = createManagementControl("jms.queue." + queueName2, "jms.queue." + queueName2); + QueueControl queueControl = createManagementControl(queueName, queueName); + QueueControl queueControl2 = createManagementControl(queueName2, queueName2); Assert.assertEquals(0, server.getConnectionCount()); Assert.assertEquals(0, control.listRemoteAddresses().length); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/JMSServerControlTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/JMSServerControlTest.java index bfdd824fdc..7ac53d21a6 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/JMSServerControlTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/JMSServerControlTest.java @@ -214,17 +214,17 @@ public class JMSServerControlTest extends ManagementTestBase { Queue queue = (Queue) o; // assertEquals(((ActiveMQDestination)queue).get); Assert.assertEquals(queueName, queue.getQueueName()); - Assert.assertEquals(selector, server.getPostOffice().getBinding(new SimpleString("jms.queue." + queueName)).getFilter().getFilterString().toString()); + Assert.assertEquals(selector, server.getPostOffice().getBinding(new SimpleString(queueName)).getFilter().getFilterString().toString()); o = ActiveMQTestBase.checkBinding(context, bindings[1]); Assert.assertTrue(o instanceof Queue); queue = (Queue) o; Assert.assertEquals(queueName, queue.getQueueName()); - Assert.assertEquals(selector, server.getPostOffice().getBinding(new SimpleString("jms.queue." + queueName)).getFilter().getFilterString().toString()); + Assert.assertEquals(selector, server.getPostOffice().getBinding(new SimpleString(queueName)).getFilter().getFilterString().toString()); o = ActiveMQTestBase.checkBinding(context, bindings[2]); Assert.assertTrue(o instanceof Queue); queue = (Queue) o; Assert.assertEquals(queueName, queue.getQueueName()); - Assert.assertEquals(selector, server.getPostOffice().getBinding(new SimpleString("jms.queue." + queueName)).getFilter().getFilterString().toString()); + Assert.assertEquals(selector, server.getPostOffice().getBinding(new SimpleString(queueName)).getFilter().getFilterString().toString()); checkResource(ObjectNameBuilder.DEFAULT.getJMSQueueObjectName(queueName)); Assert.assertNotNull(fakeJMSStorageManager.destinationMap.get(queueName)); @@ -249,7 +249,7 @@ public class JMSServerControlTest extends ManagementTestBase { Assert.assertTrue(o instanceof Queue); Queue queue = (Queue) o; Assert.assertEquals(queueName, queue.getQueueName()); - QueueBinding queueBinding = (QueueBinding) server.getPostOffice().getBinding(new SimpleString("jms.queue." + queueName)); + QueueBinding queueBinding = (QueueBinding) server.getPostOffice().getBinding(new SimpleString(queueName)); Assert.assertFalse(queueBinding.getQueue().isDurable()); checkResource(ObjectNameBuilder.DEFAULT.getJMSQueueObjectName(queueName)); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/TopicControlTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/TopicControlTest.java index 225b7bd72e..9a71e8dadc 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/TopicControlTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/TopicControlTest.java @@ -195,8 +195,8 @@ public class TopicControlTest extends ManagementTestBase { jsonString = topicControl.listNonDurableSubscriptionsAsJSON(); infos = SubscriptionInfo.from(jsonString); Assert.assertEquals(1, infos.length); - Assert.assertEquals(null, infos[0].getClientID()); - Assert.assertEquals(null, infos[0].getName()); + Assert.assertNull(infos[0].getClientID()); + Assert.assertNull(infos[0].getName()); jsonString = topicControl.listAllSubscriptionsAsJSON(); infos = SubscriptionInfo.from(jsonString); @@ -245,6 +245,7 @@ public class TopicControlTest extends ManagementTestBase { @Test public void testListSubscriptionsAsJSONWithHierarchicalTopics() throws Exception { + // there are no entries in mappings and nameMap in postOffice.addressManager; something isn't creating them as expected serverManager.createTopic(false, "my.jms.#", "jms/all"); serverManager.createTopic(false, "my.jms.A", "jms/A"); ActiveMQTopic myTopic = (ActiveMQTopic) ActiveMQJMSClient.createTopic("my.jms.A"); @@ -253,8 +254,8 @@ public class TopicControlTest extends ManagementTestBase { String jsonString = topicControl.listDurableSubscriptionsAsJSON(); SubscriptionInfo[] infos = SubscriptionInfo.from(jsonString); Assert.assertEquals(1, infos.length); - Assert.assertEquals("ActiveMQ", infos[0].getClientID()); - Assert.assertEquals("ActiveMQ", infos[0].getName()); + Assert.assertEquals("", infos[0].getClientID()); + Assert.assertEquals("", infos[0].getName()); } @Test diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/TopicControlUsingJMSTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/TopicControlUsingJMSTest.java index 9d9edab940..54c79cc360 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/TopicControlUsingJMSTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/TopicControlUsingJMSTest.java @@ -25,7 +25,6 @@ import javax.jms.Session; import javax.jms.TopicSubscriber; import org.apache.activemq.artemis.api.core.TransportConfiguration; -import org.apache.activemq.artemis.api.core.management.ResourceNames; import org.apache.activemq.artemis.api.jms.ActiveMQJMSClient; import org.apache.activemq.artemis.api.jms.JMSFactoryType; import org.apache.activemq.artemis.core.config.Configuration; @@ -406,7 +405,7 @@ public class TopicControlUsingJMSTest extends ManagementTestBase { connection.start(); ActiveMQQueue managementQueue = (ActiveMQQueue) ActiveMQJMSClient.createQueue("activemq.management"); - proxy = new JMSMessagingProxy(session, managementQueue, ResourceNames.JMS_TOPIC + topic.getTopicName()); + proxy = new JMSMessagingProxy(session, managementQueue, topic.getTopicName()); } // Private ------------------------------------------------------- diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/journal/DuplicateRecordIdTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/journal/DuplicateRecordIdTest.java index 7d89e2ce54..b21a7d3a86 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/journal/DuplicateRecordIdTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/journal/DuplicateRecordIdTest.java @@ -46,7 +46,7 @@ public class DuplicateRecordIdTest extends ActiveMQTestBase { ActiveMQServerControl serverControl = server.getActiveMQServerControl(); serverControl.removeAddressSettings("q"); AddressSettingsInfo defaultSettings = AddressSettingsInfo.from(serverControl.getAddressSettingsAsJSON("#")); - serverControl.addAddressSettings("q", "dlq", defaultSettings.getExpiryAddress(), -1, false, 1, defaultSettings.getMaxSizeBytes(), defaultSettings.getPageSizeBytes(), defaultSettings.getPageCacheMaxSize(), defaultSettings.getRedeliveryDelay(), defaultSettings.getRedeliveryMultiplier(), defaultSettings.getMaxRedeliveryDelay(), defaultSettings.getRedistributionDelay(), defaultSettings.isSendToDLAOnNoRoute(), defaultSettings.getAddressFullMessagePolicy(), defaultSettings.getSlowConsumerThreshold(), defaultSettings.getSlowConsumerCheckPeriod(), defaultSettings.getSlowConsumerPolicy(), defaultSettings.isAutoCreateJmsQueues(), defaultSettings.isAutoDeleteJmsQueues(), defaultSettings.isAutoCreateJmsTopics(), defaultSettings.isAutoDeleteJmsTopics()); + serverControl.addAddressSettings("q", "dlq", defaultSettings.getExpiryAddress(), -1, false, 1, defaultSettings.getMaxSizeBytes(), defaultSettings.getPageSizeBytes(), defaultSettings.getPageCacheMaxSize(), defaultSettings.getRedeliveryDelay(), defaultSettings.getRedeliveryMultiplier(), defaultSettings.getMaxRedeliveryDelay(), defaultSettings.getRedistributionDelay(), defaultSettings.isSendToDLAOnNoRoute(), defaultSettings.getAddressFullMessagePolicy(), defaultSettings.getSlowConsumerThreshold(), defaultSettings.getSlowConsumerCheckPeriod(), defaultSettings.getSlowConsumerPolicy(), defaultSettings.isAutoCreateJmsQueues(), defaultSettings.isAutoDeleteJmsQueues(), defaultSettings.isAutoCreateJmsQueues(), defaultSettings.isAutoDeleteJmsTopics()); server.stop(); PrintData.printData(server.getConfiguration().getBindingsLocation().getAbsoluteFile(), server.getConfiguration().getJournalLocation().getAbsoluteFile(), server.getConfiguration().getPagingLocation().getAbsoluteFile()); } diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/karaf/ArtemisFeatureTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/karaf/ArtemisFeatureTest.java index 850be126aa..02a412c9b1 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/karaf/ArtemisFeatureTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/karaf/ArtemisFeatureTest.java @@ -147,7 +147,7 @@ public class ArtemisFeatureTest extends Assert { connection.start(); javax.jms.Session sess = connection.createSession(false, javax.jms.Session.AUTO_ACKNOWLEDGE); - Queue queue = sess.createQueue("jms.queue.exampleQueue"); + Queue queue = sess.createQueue("exampleQueue"); MessageProducer producer = sess.createProducer(queue); producer.send(sess.createTextMessage("TEST")); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlTest.java index 2653b6dd8b..5dd028e50b 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlTest.java @@ -440,7 +440,7 @@ public class ActiveMQServerControlTest extends ManagementTestBase { String exactAddress = "test.whatever"; assertEquals(1, serverControl.getRoles(addressMatch).length); - serverControl.addSecuritySettings(addressMatch, "foo", "foo, bar", "foo", "bar", "foo, bar", "", "", "bar"); + serverControl.addSecuritySettings(addressMatch, "foo", "foo, bar", "foo", "bar", "foo, bar", "", "", "bar", "foo"); // Restart the server. Those settings should be persisted @@ -468,6 +468,7 @@ public class ActiveMQServerControlTest extends ManagementTestBase { assertFalse(fooRole.isDeleteNonDurableQueue()); assertFalse(fooRole.isManage()); assertFalse(fooRole.isBrowse()); + assertTrue(fooRole.isCreateAddress()); assertFalse(barRole.isSend()); assertTrue(barRole.isConsume()); @@ -477,6 +478,7 @@ public class ActiveMQServerControlTest extends ManagementTestBase { assertFalse(barRole.isDeleteNonDurableQueue()); assertFalse(barRole.isManage()); assertTrue(barRole.isBrowse()); + assertFalse(barRole.isCreateAddress()); serverControl.removeSecuritySettings(addressMatch); assertEquals(1, serverControl.getRoles(exactAddress).length); @@ -544,7 +546,7 @@ public class ActiveMQServerControlTest extends ManagementTestBase { assertEquals(slowConsumerPolicy, info.getSlowConsumerPolicy()); assertEquals(autoCreateJmsQueues, info.isAutoCreateJmsQueues()); assertEquals(autoDeleteJmsQueues, info.isAutoDeleteJmsQueues()); - assertEquals(autoCreateJmsTopics, info.isAutoCreateJmsTopics()); +// assertEquals(autoCreateJmsTopics, info.isAutoCreateJmsTopics()); assertEquals(autoDeleteJmsTopics, info.isAutoDeleteJmsTopics()); serverControl.addAddressSettings(addressMatch, DLA, expiryAddress, expiryDelay, lastValueQueue, deliveryAttempts, -1, 1000, pageMaxCacheSize, redeliveryDelay, redeliveryMultiplier, maxRedeliveryDelay, redistributionDelay, sendToDLAOnNoRoute, addressFullMessagePolicy, slowConsumerThreshold, slowConsumerCheckPeriod, slowConsumerPolicy, autoCreateJmsQueues, autoDeleteJmsQueues, autoCreateJmsTopics, autoDeleteJmsTopics); @@ -570,7 +572,7 @@ public class ActiveMQServerControlTest extends ManagementTestBase { assertEquals(slowConsumerPolicy, info.getSlowConsumerPolicy()); assertEquals(autoCreateJmsQueues, info.isAutoCreateJmsQueues()); assertEquals(autoDeleteJmsQueues, info.isAutoDeleteJmsQueues()); - assertEquals(autoCreateJmsTopics, info.isAutoCreateJmsTopics()); +// assertEquals(autoCreateJmsTopics, info.isAutoCreateJmsTopics()); assertEquals(autoDeleteJmsTopics, info.isAutoDeleteJmsTopics()); ex = false; @@ -1414,7 +1416,7 @@ public class ActiveMQServerControlTest extends ManagementTestBase { server.start(); HashSet role = new HashSet<>(); - role.add(new Role("guest", true, true, true, true, true, true, true, true)); + role.add(new Role("guest", true, true, true, true, true, true, true, true, true)); server.getSecurityRepository().addMatch("#", role); } diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlUsingCoreTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlUsingCoreTest.java index 60187f083c..5cc55c3f39 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlUsingCoreTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlUsingCoreTest.java @@ -556,6 +556,20 @@ public class ActiveMQServerControlUsingCoreTest extends ActiveMQServerControlTes proxy.invokeOperation("addSecuritySettings", addressMatch, sendRoles, consumeRoles, createDurableQueueRoles, deleteDurableQueueRoles, createNonDurableQueueRoles, deleteNonDurableQueueRoles, manageRoles, browseRoles); } + @Override + public void addSecuritySettings(String addressMatch, + String sendRoles, + String consumeRoles, + String createDurableQueueRoles, + String deleteDurableQueueRoles, + String createNonDurableQueueRoles, + String deleteNonDurableQueueRoles, + String manageRoles, + String browseRoles, + String createAddress) throws Exception { + proxy.invokeOperation("addSecuritySettings", addressMatch, sendRoles, consumeRoles, createDurableQueueRoles, deleteDurableQueueRoles, createNonDurableQueueRoles, deleteNonDurableQueueRoles, manageRoles, browseRoles, createAddress); + } + @Override public void removeSecuritySettings(String addressMatch) throws Exception { proxy.invokeOperation("removeSecuritySettings", addressMatch); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/AddressControlTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/AddressControlTest.java index 299d6ecf9b..9a2ec1e699 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/AddressControlTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/AddressControlTest.java @@ -117,7 +117,7 @@ public class AddressControlTest extends ManagementTestBase { public void testGetRoles() throws Exception { SimpleString address = RandomUtil.randomSimpleString(); SimpleString queue = RandomUtil.randomSimpleString(); - Role role = new Role(RandomUtil.randomString(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean()); + Role role = new Role(RandomUtil.randomString(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean()); session.createQueue(address, queue, true); @@ -148,7 +148,7 @@ public class AddressControlTest extends ManagementTestBase { public void testGetRolesAsJSON() throws Exception { SimpleString address = RandomUtil.randomSimpleString(); SimpleString queue = RandomUtil.randomSimpleString(); - Role role = new Role(RandomUtil.randomString(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean()); + Role role = new Role(RandomUtil.randomString(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean()); session.createQueue(address, queue, true); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/AddressControlUsingCoreTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/AddressControlUsingCoreTest.java index f943bf842e..a845253b4b 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/AddressControlUsingCoreTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/AddressControlUsingCoreTest.java @@ -125,7 +125,7 @@ public class AddressControlUsingCoreTest extends ManagementTestBase { public void testGetRoles() throws Exception { SimpleString address = RandomUtil.randomSimpleString(); SimpleString queue = RandomUtil.randomSimpleString(); - Role role = new Role(RandomUtil.randomString(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean()); + Role role = new Role(RandomUtil.randomString(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean()); session.createQueue(address, queue, true); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/SecurityManagementWithConfiguredAdminUserTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/SecurityManagementWithConfiguredAdminUserTest.java index 7f3ec69d27..03c7fc7109 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/SecurityManagementWithConfiguredAdminUserTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/SecurityManagementWithConfiguredAdminUserTest.java @@ -90,10 +90,10 @@ public class SecurityManagementWithConfiguredAdminUserTest extends SecurityManag securityManager.getConfiguration().addRole(invalidAdminUser, "guest"); Set adminRole = securityRepository.getMatch(ActiveMQDefaultConfiguration.getDefaultManagementAddress().toString()); - adminRole.add(new Role("admin", true, true, true, true, true, true, true, true)); + adminRole.add(new Role("admin", true, true, true, true, true, true, true, true, true)); securityRepository.addMatch(ActiveMQDefaultConfiguration.getDefaultManagementAddress().toString(), adminRole); Set guestRole = securityRepository.getMatch("*"); - guestRole.add(new Role("guest", true, true, true, true, true, true, false, true)); + guestRole.add(new Role("guest", true, true, true, true, true, true, false, true, true)); securityRepository.addMatch("*", guestRole); return server; diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/SecurityNotificationTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/SecurityNotificationTest.java index 8e3091b563..89f03b8cfe 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/SecurityNotificationTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/SecurityNotificationTest.java @@ -88,7 +88,7 @@ public class SecurityNotificationTest extends ActiveMQTestBase { SimpleString address = RandomUtil.randomSimpleString(); // guest can not create queue - Role role = new Role("roleCanNotCreateQueue", true, true, false, true, false, true, true, true); + Role role = new Role("roleCanNotCreateQueue", true, true, false, true, false, true, true, true, true); Set roles = new HashSet<>(); roles.add(role); server.getSecurityRepository().addMatch(address.toString(), roles); @@ -136,7 +136,7 @@ public class SecurityNotificationTest extends ActiveMQTestBase { securityManager.getConfiguration().addUser("guest", "guest"); securityManager.getConfiguration().setDefaultUser("guest"); - Role role = new Role("notif", true, true, true, true, true, true, true, true); + Role role = new Role("notif", true, true, true, true, true, true, true, true, true); Set roles = new HashSet<>(); roles.add(role); server.getSecurityRepository().addMatch(ActiveMQDefaultConfiguration.getDefaultManagementNotificationAddress().toString(), roles); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/mqtt/imported/MQTTTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/mqtt/imported/MQTTTest.java index e99fc96ab3..486c2d500f 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/mqtt/imported/MQTTTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/mqtt/imported/MQTTTest.java @@ -1625,7 +1625,7 @@ public class MQTTTest extends MQTTTestSupport { Topic[] mqttSubscription = new Topic[]{new Topic("foo/bar", QoS.AT_LEAST_ONCE)}; AddressInfo addressInfo = new AddressInfo(coreAddress); - addressInfo.setDefaultMaxConsumers(0); + addressInfo.setDefaultMaxQueueConsumers(0); getServer().createOrUpdateAddressInfo(addressInfo); getServer().createQueue(coreAddress, new SimpleString(clientId + "." + coreAddress), null, false, true, 0, false); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/BasicOpenWireTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/BasicOpenWireTest.java index 37de64f6fe..c847d0a441 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/BasicOpenWireTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/BasicOpenWireTest.java @@ -63,15 +63,15 @@ public class BasicOpenWireTest extends OpenWireTestBase { @Before public void setUp() throws Exception { super.setUp(); - SimpleString coreQueue = new SimpleString("jms.queue." + queueName); + SimpleString coreQueue = new SimpleString(queueName); this.server.createQueue(coreQueue, coreQueue, null, false, false); testQueues.put(queueName, coreQueue); - SimpleString coreQueue2 = new SimpleString("jms.queue." + queueName2); + SimpleString coreQueue2 = new SimpleString(queueName2); this.server.createQueue(coreQueue2, coreQueue2, null, false, false); testQueues.put(queueName2, coreQueue2); - SimpleString durableQueue = new SimpleString("jms.queue." + durableQueueName); + SimpleString durableQueue = new SimpleString(durableQueueName); this.server.createQueue(durableQueue, durableQueue, null, true, false); testQueues.put(durableQueueName, durableQueue); @@ -137,7 +137,7 @@ public class BasicOpenWireTest extends OpenWireTestBase { public void makeSureCoreQueueExist(String qname) throws Exception { SimpleString coreQ = testQueues.get(qname); if (coreQ == null) { - coreQ = new SimpleString("jms.queue." + qname); + coreQ = new SimpleString(qname); this.server.createQueue(coreQ, coreQ, null, false, false); testQueues.put(qname, coreQ); } diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/OpenWireTestBase.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/OpenWireTestBase.java index 7ded062009..66706addd5 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/OpenWireTestBase.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/OpenWireTestBase.java @@ -66,7 +66,7 @@ public class OpenWireTestBase extends ActiveMQTestBase { Configuration serverConfig = server.getConfiguration(); - serverConfig.getAddressesSettings().put("jms.queue.#", new AddressSettings().setAutoCreateJmsQueues(false).setDeadLetterAddress(new SimpleString("jms.queue.ActiveMQ.DLQ"))); + serverConfig.getAddressesSettings().put("#", new AddressSettings().setAutoCreateJmsQueues(false).setDeadLetterAddress(new SimpleString("ActiveMQ.DLQ"))); serverConfig.setSecurityEnabled(enableSecurity); @@ -77,23 +77,23 @@ public class OpenWireTestBase extends ActiveMQTestBase { securityManager.getConfiguration().addRole("openwireSender", "sender"); securityManager.getConfiguration().addUser("openwireSender", "SeNdEr"); //sender cannot receive - Role senderRole = new Role("sender", true, false, false, false, true, true, false, false); + Role senderRole = new Role("sender", true, false, false, false, true, true, false, false, true); securityManager.getConfiguration().addRole("openwireReceiver", "receiver"); securityManager.getConfiguration().addUser("openwireReceiver", "ReCeIvEr"); //receiver cannot send - Role receiverRole = new Role("receiver", false, true, false, false, true, true, false, true); + Role receiverRole = new Role("receiver", false, true, false, false, true, true, false, true, false); securityManager.getConfiguration().addRole("openwireGuest", "guest"); securityManager.getConfiguration().addUser("openwireGuest", "GuEsT"); //guest cannot do anything - Role guestRole = new Role("guest", false, false, false, false, false, false, false, false); + Role guestRole = new Role("guest", false, false, false, false, false, false, false, false, false); securityManager.getConfiguration().addRole("openwireDestinationManager", "manager"); securityManager.getConfiguration().addUser("openwireDestinationManager", "DeStInAtIoN"); - Role destRole = new Role("manager", false, false, false, false, true, true, false, false); + Role destRole = new Role("manager", false, false, false, false, true, true, false, false, false); Set roles = new HashSet<>(); roles.add(senderRole); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/SimpleOpenWireTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/SimpleOpenWireTest.java index 9798fa6507..f739b3e7bd 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/SimpleOpenWireTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/SimpleOpenWireTest.java @@ -443,7 +443,7 @@ public class SimpleOpenWireTest extends BasicOpenWireTest { AddressSettings addressSetting = new AddressSettings(); addressSetting.setAutoCreateJmsQueues(false); - server.getAddressSettingsRepository().addMatch("jms.queue.foo", addressSetting); + server.getAddressSettingsRepository().addMatch("foo", addressSetting); connection.start(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); @@ -462,7 +462,7 @@ public class SimpleOpenWireTest extends BasicOpenWireTest { addressSetting.setAutoCreateJmsQueues(true); String address = "foo"; - server.getAddressSettingsRepository().addMatch("jms.queue." + address, addressSetting); + server.getAddressSettingsRepository().addMatch(address, addressSetting); connection.start(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); @@ -484,7 +484,7 @@ public class SimpleOpenWireTest extends BasicOpenWireTest { addressSetting.setAutoCreateJmsQueues(true); String address = "foo"; - server.getAddressSettingsRepository().addMatch("jms.queue." + address, addressSetting); + server.getAddressSettingsRepository().addMatch(address, addressSetting); connection.start(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); @@ -507,7 +507,7 @@ public class SimpleOpenWireTest extends BasicOpenWireTest { addressSetting.setAutoCreateJmsQueues(false); String address = "foo"; - server.getAddressSettingsRepository().addMatch("jms.queue." + address, addressSetting); + server.getAddressSettingsRepository().addMatch(address, addressSetting); connection.start(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); @@ -567,7 +567,7 @@ public class SimpleOpenWireTest extends BasicOpenWireTest { public void testOpenWireExample() throws Exception { Connection exConn = null; - SimpleString durableQueue = new SimpleString("jms.queue.exampleQueue"); + SimpleString durableQueue = new SimpleString("exampleQueue"); this.server.createQueue(durableQueue, durableQueue, null, true, false); try { @@ -609,7 +609,7 @@ public class SimpleOpenWireTest extends BasicOpenWireTest { public void testMultipleConsumers() throws Exception { Connection exConn = null; - SimpleString durableQueue = new SimpleString("jms.queue.exampleQueue"); + SimpleString durableQueue = new SimpleString("exampleQueue"); this.server.createQueue(durableQueue, durableQueue, null, true, false); try { @@ -646,7 +646,7 @@ public class SimpleOpenWireTest extends BasicOpenWireTest { public void testMixedOpenWireExample() throws Exception { Connection openConn = null; - SimpleString durableQueue = new SimpleString("jms.queue.exampleQueue"); + SimpleString durableQueue = new SimpleString("exampleQueue"); this.server.createQueue(durableQueue, durableQueue, null, true, false); ActiveMQConnectionFactory openCF = new ActiveMQConnectionFactory(); @@ -686,7 +686,7 @@ public class SimpleOpenWireTest extends BasicOpenWireTest { public void testMixedOpenWireExample2() throws Exception { Connection conn1 = null; - SimpleString durableQueue = new SimpleString("jms.queue.exampleQueue"); + SimpleString durableQueue = new SimpleString("exampleQueue"); this.server.createQueue(durableQueue, durableQueue, null, true, false); Queue queue = ActiveMQJMSClient.createQueue("exampleQueue"); @@ -1196,7 +1196,7 @@ public class SimpleOpenWireTest extends BasicOpenWireTest { private void checkQueueEmpty(String qName) { PostOffice po = server.getPostOffice(); - LocalQueueBinding binding = (LocalQueueBinding) po.getBinding(SimpleString.toSimpleString("jms.queue." + qName)); + LocalQueueBinding binding = (LocalQueueBinding) po.getBinding(SimpleString.toSimpleString(qName)); try { //waiting for last ack to finish Thread.sleep(1000); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/VerySimpleOenwireTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/VerySimpleOenwireTest.java index 7a720dc5d2..bddaef5062 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/VerySimpleOenwireTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/VerySimpleOenwireTest.java @@ -41,7 +41,7 @@ public class VerySimpleOenwireTest extends OpenWireTestBase { public void testOpenWireExample() throws Exception { Connection exConn = null; - SimpleString durableQueue = new SimpleString("jms.queue.exampleQueue"); + SimpleString durableQueue = new SimpleString("exampleQueue"); this.server.createQueue(durableQueue, durableQueue, null, true, false); try { @@ -78,7 +78,7 @@ public class VerySimpleOenwireTest extends OpenWireTestBase { public void testMixedOpenWireExample() throws Exception { Connection openConn = null; - SimpleString durableQueue = new SimpleString("jms.queue.exampleQueue"); + SimpleString durableQueue = new SimpleString("exampleQueue"); this.server.createQueue(durableQueue, durableQueue, null, true, false); ActiveMQConnectionFactory openCF = new ActiveMQConnectionFactory(); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/amq/ProducerFlowControlSendFailTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/amq/ProducerFlowControlSendFailTest.java index 227221ea9e..baacd16b06 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/amq/ProducerFlowControlSendFailTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/amq/ProducerFlowControlSendFailTest.java @@ -56,7 +56,7 @@ public class ProducerFlowControlSendFailTest extends ProducerFlowControlTest { @Override protected void extraServerConfig(Configuration serverConfig) { - String match = "jms.queue.#"; + String match = "#"; Map asMap = serverConfig.getAddressesSettings(); asMap.get(match).setMaxSizeBytes(1).setAddressFullMessagePolicy(AddressFullMessagePolicy.FAIL); } diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/amq/ProducerFlowControlTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/amq/ProducerFlowControlTest.java index 4f3d38d86e..d372c463b4 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/amq/ProducerFlowControlTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/amq/ProducerFlowControlTest.java @@ -317,7 +317,7 @@ public class ProducerFlowControlTest extends BasicOpenWireTest { @Override protected void extraServerConfig(Configuration serverConfig) { - String match = "jms.queue.#"; + String match = "#"; Map asMap = serverConfig.getAddressesSettings(); asMap.get(match).setMaxSizeBytes(1).setAddressFullMessagePolicy(AddressFullMessagePolicy.BLOCK); } diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/paging/PagingOrderTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/paging/PagingOrderTest.java index fa43ae7b8e..575f9e5bc7 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/paging/PagingOrderTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/paging/PagingOrderTest.java @@ -605,7 +605,7 @@ public class PagingOrderTest extends ActiveMQTestBase { jmsServer.createTopic(true, "tt", "/topic/TT"); - server.getActiveMQServerControl().addAddressSettings("jms.topic.TT", "DLQ", "DLQ", -1, false, 5, 1024 * 1024, 1024 * 10, 5, 5, 1, 1000, 0, false, "PAGE", -1, 10, "KILL", true, true, true, true); + server.getActiveMQServerControl().addAddressSettings("TT", "DLQ", "DLQ", -1, false, 5, 1024 * 1024, 1024 * 10, 5, 5, 1, 1000, 0, false, "PAGE", -1, 10, "KILL", true, true, true, true); ActiveMQJMSConnectionFactory cf = (ActiveMQJMSConnectionFactory) ActiveMQJMSClient.createConnectionFactoryWithoutHA(JMSFactoryType.CF, new TransportConfiguration(INVM_CONNECTOR_FACTORY)); @@ -620,7 +620,7 @@ public class PagingOrderTest extends ActiveMQTestBase { TextMessage txt = sess.createTextMessage("TST"); prod.send(txt); - PagingStore store = server.getPagingManager().getPageStore(new SimpleString("jms.topic.TT")); + PagingStore store = server.getPagingManager().getPageStore(new SimpleString("TT")); assertEquals(1024 * 1024, store.getMaxSize()); assertEquals(10 * 1024, store.getPageSizeBytes()); @@ -634,7 +634,7 @@ public class PagingOrderTest extends ActiveMQTestBase { jmsServer.setRegistry(new JndiBindingRegistry(context)); jmsServer.start(); - AddressSettings settings = server.getAddressSettingsRepository().getMatch("jms.topic.TT"); + AddressSettings settings = server.getAddressSettingsRepository().getMatch("TT"); assertEquals(1024 * 1024, settings.getMaxSizeBytes()); assertEquals(10 * 1024, settings.getPageSizeBytes()); @@ -661,7 +661,7 @@ public class PagingOrderTest extends ActiveMQTestBase { jmsServer.setRegistry(new JndiBindingRegistry(context)); jmsServer.start(); - server.getActiveMQServerControl().addAddressSettings("jms.queue.Q1", "DLQ", "DLQ", -1, false, 5, 100 * 1024, 10 * 1024, 5, 5, 1, 1000, 0, false, "PAGE", -1, 10, "KILL", true, true, true, true); + server.getActiveMQServerControl().addAddressSettings("Q1", "DLQ", "DLQ", -1, false, 5, 100 * 1024, 10 * 1024, 5, 5, 1, 1000, 0, false, "PAGE", -1, 10, "KILL", true, true, true, true); jmsServer.createQueue(true, "Q1", null, true, "/queue/Q1"); @@ -682,7 +682,7 @@ public class PagingOrderTest extends ActiveMQTestBase { prod.send(bmt); } - PagingStore store = server.getPagingManager().getPageStore(new SimpleString("jms.queue.Q1")); + PagingStore store = server.getPagingManager().getPageStore(new SimpleString("Q1")); assertEquals(100 * 1024, store.getMaxSize()); assertEquals(10 * 1024, store.getPageSizeBytes()); @@ -698,13 +698,13 @@ public class PagingOrderTest extends ActiveMQTestBase { jmsServer.setRegistry(new JndiBindingRegistry(context)); jmsServer.start(); - AddressSettings settings = server.getAddressSettingsRepository().getMatch("jms.queue.Q1"); + AddressSettings settings = server.getAddressSettingsRepository().getMatch("Q1"); assertEquals(100 * 1024, settings.getMaxSizeBytes()); assertEquals(10 * 1024, settings.getPageSizeBytes()); assertEquals(AddressFullMessagePolicy.PAGE, settings.getAddressFullMessagePolicy()); - store = server.getPagingManager().getPageStore(new SimpleString("jms.queue.Q1")); + store = server.getPagingManager().getPageStore(new SimpleString("Q1")); assertEquals(100 * 1024, store.getMaxSize()); assertEquals(10 * 1024, store.getPageSizeBytes()); assertEquals(AddressFullMessagePolicy.PAGE, store.getAddressFullMessagePolicy()); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/paging/PagingReceiveTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/paging/PagingReceiveTest.java index 4a26d97ffa..72ccffdbbe 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/paging/PagingReceiveTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/paging/PagingReceiveTest.java @@ -33,7 +33,7 @@ import org.junit.Test; public class PagingReceiveTest extends ActiveMQTestBase { - private static final SimpleString ADDRESS = new SimpleString("jms.queue.catalog-service.price.change.bm"); + private static final SimpleString ADDRESS = new SimpleString("catalog-service.price.change.bm"); private ActiveMQServer server; diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/persistence/RolesConfigurationStorageTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/persistence/RolesConfigurationStorageTest.java index 6a1adda75b..8f15998c80 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/persistence/RolesConfigurationStorageTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/persistence/RolesConfigurationStorageTest.java @@ -50,9 +50,9 @@ public class RolesConfigurationStorageTest extends StorageManagerTestBase { public void testStoreSecuritySettings() throws Exception { createStorage(); - addSetting(new PersistedRoles("a#", "a1", "a1", "a1", "a1", "a1", "a1", "a1", "a1")); + addSetting(new PersistedRoles("a#", "a1", "a1", "a1", "a1", "a1", "a1", "a1", "a1", "a1")); - addSetting(new PersistedRoles("a2", "a1", null, "a1", "a1", "a1", "a1", "a1", "a1")); + addSetting(new PersistedRoles("a2", "a1", null, "a1", "a1", "a1", "a1", "a1", "a1", "a1")); journal.stop(); @@ -62,9 +62,9 @@ public class RolesConfigurationStorageTest extends StorageManagerTestBase { checkSettings(); - addSetting(new PersistedRoles("a2", "a1", null, "a1", "a1", "a1", "a1", "a1", "a1")); + addSetting(new PersistedRoles("a2", "a1", null, "a1", "a1", "a1", "a1", "a1", "a1", "a1")); - addSetting(new PersistedRoles("a3", "a1", null, "a1", "a1", "a1", "a1", "a1", "a1")); + addSetting(new PersistedRoles("a3", "a1", null, "a1", "a1", "a1", "a1", "a1", "a1", "a1")); checkSettings(); @@ -92,7 +92,7 @@ public class RolesConfigurationStorageTest extends StorageManagerTestBase { checkSettings(); - addSetting(new PersistedRoles("a#", "a1", "a1", "a1", "a1", "a1", "a1", "a1", "a1")); + addSetting(new PersistedRoles("a#", "a1", "a1", "a1", "a1", "a1", "a1", "a1", "a1", "a1")); journal.stop(); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/ActiveMQClusteredTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/ActiveMQClusteredTest.java index f8c2032229..ce0ae5d75b 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/ActiveMQClusteredTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/ActiveMQClusteredTest.java @@ -95,7 +95,7 @@ public class ActiveMQClusteredTest extends ActiveMQRAClusteredTestBase { DummyMessageEndpointFactory endpointFactory = new DummyMessageEndpointFactory(endpoint, false); qResourceAdapter.endpointActivation(endpointFactory, spec); ClientSession session = addClientSession(locator.createSessionFactory().createSession()); - ClientProducer clientProducer = session.createProducer("jms.topic.mdbTopic"); + ClientProducer clientProducer = session.createProducer("mdbTopic"); ClientMessage message = session.createMessage(true); message.getBodyBuffer().writeString("test"); clientProducer.send(message); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/ActiveMQMessageHandlerSecurityTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/ActiveMQMessageHandlerSecurityTest.java index 464c09776c..c25d3db479 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/ActiveMQMessageHandlerSecurityTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/ActiveMQMessageHandlerSecurityTest.java @@ -67,7 +67,7 @@ public class ActiveMQMessageHandlerSecurityTest extends ActiveMQRATestBase { ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("testuser", "testpassword"); securityManager.getConfiguration().addRole("testuser", "arole"); - Role role = new Role("arole", false, true, false, false, false, false, false, false); + Role role = new Role("arole", false, true, false, false, false, false, false, false, false); Set roles = new HashSet<>(); roles.add(role); server.getSecurityRepository().addMatch(MDBQUEUEPREFIXED, roles); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/ActiveMQMessageHandlerTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/ActiveMQMessageHandlerTest.java index 98e6adb796..9fd0bfa24c 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/ActiveMQMessageHandlerTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/ActiveMQMessageHandlerTest.java @@ -503,7 +503,7 @@ public class ActiveMQMessageHandlerTest extends ActiveMQRATestBase { DummyMessageEndpointFactory endpointFactory = new DummyMessageEndpointFactory(endpoint, false); qResourceAdapter.endpointActivation(endpointFactory, spec); ClientSession session = locator.createSessionFactory().createSession(); - ClientProducer clientProducer = session.createProducer("jms.topic.mdbTopic"); + ClientProducer clientProducer = session.createProducer("mdbTopic"); ClientMessage message = session.createMessage(true); message.getBodyBuffer().writeString("test"); clientProducer.send(message); @@ -536,7 +536,7 @@ public class ActiveMQMessageHandlerTest extends ActiveMQRATestBase { DummyMessageEndpointFactory endpointFactory = new DummyMessageEndpointFactory(endpoint, false); qResourceAdapter.endpointActivation(endpointFactory, spec); ClientSession session = locator.createSessionFactory().createSession(); - ClientProducer clientProducer = session.createProducer("jms.topic.mdbTopic"); + ClientProducer clientProducer = session.createProducer("mdbTopic"); ClientMessage message = session.createMessage(true); message.getBodyBuffer().writeString("1"); clientProducer.send(message); @@ -589,7 +589,7 @@ public class ActiveMQMessageHandlerTest extends ActiveMQRATestBase { DummyMessageEndpointFactory endpointFactory = new DummyMessageEndpointFactory(endpoint, false); qResourceAdapter.endpointActivation(endpointFactory, spec); ClientSession session = locator.createSessionFactory().createSession(); - ClientProducer clientProducer = session.createProducer("jms.topic.mdbTopic"); + ClientProducer clientProducer = session.createProducer("mdbTopic"); ClientMessage message = session.createMessage(true); message.getBodyBuffer().writeString("1"); clientProducer.send(message); @@ -638,7 +638,7 @@ public class ActiveMQMessageHandlerTest extends ActiveMQRATestBase { qResourceAdapter.endpointActivation(endpointFactory, spec); ClientSession session = locator.createSessionFactory().createSession(); - ClientProducer clientProducer = session.createProducer("jms.topic.mdbTopic"); + ClientProducer clientProducer = session.createProducer("mdbTopic"); ClientMessage message = session.createMessage(true); message.getBodyBuffer().writeString("1"); clientProducer.send(message); @@ -690,7 +690,7 @@ public class ActiveMQMessageHandlerTest extends ActiveMQRATestBase { DummyMessageEndpointFactory endpointFactory = new DummyMessageEndpointFactory(endpoint, false); qResourceAdapter.endpointActivation(endpointFactory, spec); ClientSession session = locator.createSessionFactory().createSession(); - ClientProducer clientProducer = session.createProducer("jms.topic.mdbTopic"); + ClientProducer clientProducer = session.createProducer("mdbTopic"); ClientMessage message = session.createMessage(true); message.getBodyBuffer().writeString("1"); message.putStringProperty("foo", "bar"); @@ -767,7 +767,7 @@ public class ActiveMQMessageHandlerTest extends ActiveMQRATestBase { qResourceAdapter.endpointActivation(endpointFactory2, spec2); ClientSession session = locator.createSessionFactory().createSession(); - ClientProducer clientProducer = session.createProducer("jms.topic.mdbTopic"); + ClientProducer clientProducer = session.createProducer("mdbTopic"); for (int i = 0; i < 10; i++) { ClientMessage message = session.createMessage(true); @@ -863,7 +863,7 @@ public class ActiveMQMessageHandlerTest extends ActiveMQRATestBase { DummyMessageEndpointFactory endpointFactory = new DummyMessageEndpointFactory(endpoint, false); qResourceAdapter.endpointActivation(endpointFactory, spec); ClientSession session = locator.createSessionFactory().createSession(); - ClientProducer clientProducer = session.createProducer("jms.topic.mdbTopic"); + ClientProducer clientProducer = session.createProducer("mdbTopic"); ClientMessage message = session.createMessage(true); message.getBodyBuffer().writeString("1"); message.putStringProperty("foo", "bar"); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/ActiveMQRATestBase.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/ActiveMQRATestBase.java index 3a9e0b046b..80f562d126 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/ActiveMQRATestBase.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/ActiveMQRATestBase.java @@ -51,8 +51,8 @@ public abstract class ActiveMQRATestBase extends JMSTestBase { protected static final String MDBQUEUE = "mdbQueue"; protected static final String DLQ = "dlqQueue"; - protected static final String MDBQUEUEPREFIXED = "jms.queue.mdbQueue"; - protected static final SimpleString MDBQUEUEPREFIXEDSIMPLE = new SimpleString("jms.queue.mdbQueue"); + protected static final String MDBQUEUEPREFIXED = "mdbQueue"; + protected static final SimpleString MDBQUEUEPREFIXEDSIMPLE = new SimpleString("mdbQueue"); @Override @Before @@ -65,7 +65,7 @@ public abstract class ActiveMQRATestBase extends JMSTestBase { } protected void setupDLQ(int maxDeliveries) { - AddressSettings settings = new AddressSettings().setDeadLetterAddress(SimpleString.toSimpleString("jms.queue." + DLQ)).setMaxDeliveryAttempts(maxDeliveries); + AddressSettings settings = new AddressSettings().setDeadLetterAddress(SimpleString.toSimpleString(DLQ)).setMaxDeliveryAttempts(maxDeliveries); server.getAddressSettingsRepository().addMatch("#", settings); } diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/JMSContextTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/JMSContextTest.java index ae8872169a..895ebbe686 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/JMSContextTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/JMSContextTest.java @@ -57,7 +57,7 @@ public class JMSContextTest extends ActiveMQRATestBase { securityManager.getConfiguration().setDefaultUser("guest"); securityManager.getConfiguration().addRole("testuser", "arole"); securityManager.getConfiguration().addRole("guest", "arole"); - Role role = new Role("arole", true, true, true, true, true, true, true, true); + Role role = new Role("arole", true, true, true, true, true, true, true, true, true); Set roles = new HashSet<>(); roles.add(role); server.getSecurityRepository().addMatch(MDBQUEUEPREFIXED, roles); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/OutgoingConnectionTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/OutgoingConnectionTest.java index c5bdd7c2b7..a96c00eb8b 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/OutgoingConnectionTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/OutgoingConnectionTest.java @@ -82,7 +82,7 @@ public class OutgoingConnectionTest extends ActiveMQRATestBase { securityManager.getConfiguration().setDefaultUser("guest"); securityManager.getConfiguration().addRole("testuser", "arole"); securityManager.getConfiguration().addRole("guest", "arole"); - Role role = new Role("arole", true, true, true, true, true, true, true, true); + Role role = new Role("arole", true, true, true, true, true, true, true, true, true); Set roles = new HashSet<>(); roles.add(role); server.getSecurityRepository().addMatch(MDBQUEUEPREFIXED, roles); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/OutgoingConnectionTestJTA.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/OutgoingConnectionTestJTA.java index b8f529fdc2..c85140dc02 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/OutgoingConnectionTestJTA.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/OutgoingConnectionTestJTA.java @@ -71,7 +71,7 @@ public class OutgoingConnectionTestJTA extends ActiveMQRATestBase { ((ActiveMQJAASSecurityManager) server.getSecurityManager()).getConfiguration().setDefaultUser("guest"); ((ActiveMQJAASSecurityManager) server.getSecurityManager()).getConfiguration().addRole("testuser", "arole"); ((ActiveMQJAASSecurityManager) server.getSecurityManager()).getConfiguration().addRole("guest", "arole"); - Role role = new Role("arole", true, true, true, true, true, true, true, true); + Role role = new Role("arole", true, true, true, true, true, true, true, true, true); Set roles = new HashSet<>(); roles.add(role); server.getSecurityRepository().addMatch(MDBQUEUEPREFIXED, roles); @@ -187,7 +187,7 @@ public class OutgoingConnectionTestJTA extends ActiveMQRATestBase { try (ClientSessionFactory sf = locator.createSessionFactory(); ClientSession session = sf.createSession(); - ClientConsumer consVerify = session.createConsumer("jms.queue." + MDBQUEUE); + ClientConsumer consVerify = session.createConsumer(MDBQUEUE); JMSContext jmsctx = qraConnectionFactory.createContext(); ) { session.start(); @@ -233,7 +233,7 @@ public class OutgoingConnectionTestJTA extends ActiveMQRATestBase { Queue q = ActiveMQJMSClient.createQueue(MDBQUEUE); try (ClientSessionFactory sf = locator.createSessionFactory(); ClientSession session = sf.createSession(); - ClientConsumer consVerify = session.createConsumer("jms.queue." + MDBQUEUE); + ClientConsumer consVerify = session.createConsumer(MDBQUEUE); Connection conn = qraConnectionFactory.createConnection(); ) { Session jmsSess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/rest/RestDeserializationTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/rest/RestDeserializationTest.java index 7e78795a32..64086e29ec 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/rest/RestDeserializationTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/rest/RestDeserializationTest.java @@ -39,6 +39,9 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; +import static org.apache.activemq.artemis.jms.client.ActiveMQDestination.QUEUE_QUALIFIED_PREFIX; +import static org.apache.activemq.artemis.jms.client.ActiveMQDestination.TOPIC_QUALIFIED_PREFIX; + public class RestDeserializationTest extends RestTestBase { private RestAMQConnection restConnection; @@ -169,11 +172,11 @@ public class RestDeserializationTest extends RestTestBase { ConnectionFactory factory = new ActiveMQJMSConnectionFactory("tcp://localhost:61616"); String jmsDest; if (isQueue) { - jmsDest = "jms.queue." + destName; + jmsDest = QUEUE_QUALIFIED_PREFIX + destName; } else { - jmsDest = "jms.topic." + destName; + jmsDest = TOPIC_QUALIFIED_PREFIX + destName; } - Destination destination = ActiveMQDestination.fromAddress(jmsDest); + Destination destination = ActiveMQDestination.fromPrefixedName(jmsDest); Connection conn = factory.createConnection(); try { diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/rest/util/QueueRestMessageContext.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/rest/util/QueueRestMessageContext.java index 265c1fb92d..ffd8a53b7c 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/rest/util/QueueRestMessageContext.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/rest/util/QueueRestMessageContext.java @@ -23,7 +23,7 @@ import org.apache.http.client.methods.CloseableHttpResponse; public class QueueRestMessageContext extends RestMessageContext { - public static final String PREFIX_QUEUE = "/queues/jms.queue."; + public static final String PREFIX_QUEUE = "/queues/"; public QueueRestMessageContext(RestAMQConnection restAMQConnection, String queue) throws IOException { super(restAMQConnection, queue); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/rest/util/TopicRestMessageContext.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/rest/util/TopicRestMessageContext.java index d3419e6525..7d99e416ec 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/rest/util/TopicRestMessageContext.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/rest/util/TopicRestMessageContext.java @@ -23,7 +23,7 @@ import org.apache.http.client.methods.CloseableHttpResponse; public class TopicRestMessageContext extends RestMessageContext { - public static final String PREFIX_TOPIC = "/topics/jms.topic."; + public static final String PREFIX_TOPIC = "/topics/"; private boolean durableSub; diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/security/LDAPSecurityTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/security/LDAPSecurityTest.java index a900968e82..5bfdc622e9 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/security/LDAPSecurityTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/security/LDAPSecurityTest.java @@ -174,7 +174,7 @@ public class LDAPSecurityTest extends AbstractLdapTestUnit { final SimpleString NON_DURABLE_QUEUE = new SimpleString("nonDurableQueue"); Set roles = new HashSet<>(); - roles.add(new Role("programmers", false, false, false, false, false, false, false, false)); + roles.add(new Role("programmers", false, false, false, false, false, false, false, false, false)); server.getConfiguration().putSecurityRoles("#", roles); server.start(); server.createQueue(ADDRESS, DURABLE_QUEUE, null, true, false); @@ -260,7 +260,7 @@ public class LDAPSecurityTest extends AbstractLdapTestUnit { final SimpleString NON_DURABLE_QUEUE = new SimpleString("nonDurableQueue"); Set roles = new HashSet<>(); - roles.add(new Role("admins", true, true, true, true, true, true, true, true)); + roles.add(new Role("admins", true, true, true, true, true, true, true, true, true)); server.getConfiguration().putSecurityRoles("#", roles); server.start(); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/security/SecurityTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/security/SecurityTest.java index 8fef6e5906..d08afed28f 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/security/SecurityTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/security/SecurityTest.java @@ -224,7 +224,7 @@ public class SecurityTest extends ActiveMQTestBase { ActiveMQJAASSecurityManager securityManager = new ActiveMQJAASSecurityManager("PropertiesLogin"); ActiveMQServer server = addServer(ActiveMQServers.newActiveMQServer(createDefaultInVMConfig().setSecurityEnabled(true), ManagementFactory.getPlatformMBeanServer(), securityManager, false)); Set roles = new HashSet<>(); - roles.add(new Role("programmers", false, false, false, false, false, false, false, false)); + roles.add(new Role("programmers", false, false, false, false, false, false, false, false, false)); server.getConfiguration().putSecurityRoles("#", roles); server.start(); server.createQueue(ADDRESS, DURABLE_QUEUE, null, true, false); @@ -309,10 +309,10 @@ public class SecurityTest extends ActiveMQTestBase { ActiveMQJAASSecurityManager securityManager = new ActiveMQJAASSecurityManager("PropertiesLogin"); ActiveMQServer server = addServer(ActiveMQServers.newActiveMQServer(createDefaultInVMConfig().setSecurityEnabled(true), ManagementFactory.getPlatformMBeanServer(), securityManager, false)); Set aRoles = new HashSet<>(); - aRoles.add(new Role(QUEUE_A.toString(), false, true, false, false, false, false, false, false)); + aRoles.add(new Role(QUEUE_A.toString(), false, true, false, false, false, false, false, false, false)); server.getConfiguration().putSecurityRoles(ADDRESS.concat(".").concat(QUEUE_A).toString(), aRoles); Set bRoles = new HashSet<>(); - bRoles.add(new Role(QUEUE_B.toString(), false, true, false, false, false, false, false, false)); + bRoles.add(new Role(QUEUE_B.toString(), false, true, false, false, false, false, false, false, false)); server.getConfiguration().putSecurityRoles(ADDRESS.concat(".").concat(QUEUE_B).toString(), bRoles); server.start(); server.createQueue(ADDRESS, QUEUE_A, null, true, false); @@ -375,7 +375,7 @@ public class SecurityTest extends ActiveMQTestBase { server.getConfiguration().addAcceptorConfiguration(new TransportConfiguration(NETTY_ACCEPTOR_FACTORY, params)); Set roles = new HashSet<>(); - roles.add(new Role("programmers", false, false, false, false, false, false, false, false)); + roles.add(new Role("programmers", false, false, false, false, false, false, false, false, false)); server.getConfiguration().putSecurityRoles("#", roles); server.start(); @@ -470,7 +470,7 @@ public class SecurityTest extends ActiveMQTestBase { ActiveMQJAASSecurityManager securityManager = new ActiveMQJAASSecurityManager("PropertiesLogin"); ActiveMQServer server = addServer(ActiveMQServers.newActiveMQServer(createDefaultInVMConfig().setSecurityEnabled(true), ManagementFactory.getPlatformMBeanServer(), securityManager, false)); Set roles = new HashSet<>(); - roles.add(new Role("programmers", true, true, true, true, true, true, true, true)); + roles.add(new Role("programmers", true, true, true, true, true, true, true, true, true)); server.getConfiguration().putSecurityRoles("#", roles); server.start(); @@ -558,7 +558,7 @@ public class SecurityTest extends ActiveMQTestBase { server.getConfiguration().addAcceptorConfiguration(new TransportConfiguration(NETTY_ACCEPTOR_FACTORY, params)); Set roles = new HashSet<>(); - roles.add(new Role("programmers", true, true, true, true, true, true, true, true)); + roles.add(new Role("programmers", true, true, true, true, true, true, true, true, true)); server.getConfiguration().putSecurityRoles("#", roles); server.start(); @@ -642,7 +642,7 @@ public class SecurityTest extends ActiveMQTestBase { ActiveMQJAASSecurityManager securityManager = new ActiveMQJAASSecurityManager("GuestLogin"); ActiveMQServer server = addServer(ActiveMQServers.newActiveMQServer(createDefaultInVMConfig().setSecurityEnabled(true), ManagementFactory.getPlatformMBeanServer(), securityManager, false)); Set roles = new HashSet<>(); - roles.add(new Role("bar", true, true, true, true, true, true, true, false)); + roles.add(new Role("bar", true, true, true, true, true, true, true, false, true)); server.getConfiguration().putSecurityRoles("#", roles); server.start(); @@ -789,7 +789,7 @@ public class SecurityTest extends ActiveMQTestBase { HierarchicalRepository> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); - Role role = new Role("arole", false, false, true, false, false, false, false, false); + Role role = new Role("arole", false, false, true, false, false, false, false, false, false); Set roles = new HashSet<>(); roles.add(role); securityRepository.addMatch(SecurityTest.addressA, roles); @@ -808,7 +808,7 @@ public class SecurityTest extends ActiveMQTestBase { HierarchicalRepository> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); - Role role = new Role("arole", false, false, false, false, false, false, false, false); + Role role = new Role("arole", false, false, false, false, false, false, false, false, false); Set roles = new HashSet<>(); roles.add(role); securityRepository.addMatch(SecurityTest.addressA, roles); @@ -833,7 +833,7 @@ public class SecurityTest extends ActiveMQTestBase { HierarchicalRepository> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); - Role role = new Role("arole", false, false, true, true, false, false, false, false); + Role role = new Role("arole", false, false, true, true, false, false, false, false, false); Set roles = new HashSet<>(); roles.add(role); securityRepository.addMatch(SecurityTest.addressA, roles); @@ -852,7 +852,7 @@ public class SecurityTest extends ActiveMQTestBase { HierarchicalRepository> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); - Role role = new Role("arole", false, false, true, false, false, false, false, false); + Role role = new Role("arole", false, false, true, false, false, false, false, false, false); Set roles = new HashSet<>(); roles.add(role); securityRepository.addMatch(SecurityTest.addressA, roles); @@ -879,7 +879,7 @@ public class SecurityTest extends ActiveMQTestBase { HierarchicalRepository> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); - Role role = new Role("arole", false, false, false, false, true, false, false, false); + Role role = new Role("arole", false, false, false, false, true, false, false, false, false); Set roles = new HashSet<>(); roles.add(role); securityRepository.addMatch(SecurityTest.addressA, roles); @@ -898,7 +898,7 @@ public class SecurityTest extends ActiveMQTestBase { HierarchicalRepository> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); - Role role = new Role("arole", false, false, false, false, false, false, false, false); + Role role = new Role("arole", false, false, false, false, false, false, false, false, false); Set roles = new HashSet<>(); roles.add(role); securityRepository.addMatch(SecurityTest.addressA, roles); @@ -923,7 +923,7 @@ public class SecurityTest extends ActiveMQTestBase { HierarchicalRepository> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); - Role role = new Role("arole", false, false, false, false, true, true, false, false); + Role role = new Role("arole", false, false, false, false, true, true, false, false, false); Set roles = new HashSet<>(); roles.add(role); securityRepository.addMatch(SecurityTest.addressA, roles); @@ -942,7 +942,7 @@ public class SecurityTest extends ActiveMQTestBase { HierarchicalRepository> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); - Role role = new Role("arole", false, false, false, false, true, false, false, false); + Role role = new Role("arole", false, false, false, false, true, false, false, false, false); Set roles = new HashSet<>(); roles.add(role); securityRepository.addMatch(SecurityTest.addressA, roles); @@ -973,7 +973,7 @@ public class SecurityTest extends ActiveMQTestBase { securityManager.getConfiguration().addUser("auser", "pass"); - Role role = new Role("arole", true, true, true, false, false, false, false, false); + Role role = new Role("arole", true, true, true, false, false, false, false, false, false); Set roles = new HashSet<>(); @@ -1005,7 +1005,7 @@ public class SecurityTest extends ActiveMQTestBase { receivedMessage.acknowledge(); - role = new Role("arole", false, false, true, false, false, false, false, false); + role = new Role("arole", false, false, true, false, false, false, false, false, false); roles = new HashSet<>(); @@ -1032,7 +1032,7 @@ public class SecurityTest extends ActiveMQTestBase { HierarchicalRepository> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); - Role role = new Role("arole", false, false, true, false, false, false, false, false); + Role role = new Role("arole", false, false, true, false, false, false, false, false, false); Set roles = new HashSet<>(); roles.add(role); securityRepository.addMatch(SecurityTest.addressA, roles); @@ -1060,7 +1060,7 @@ public class SecurityTest extends ActiveMQTestBase { HierarchicalRepository> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); - Role role = new Role("arole", false, false, true, false, false, false, false, false); + Role role = new Role("arole", false, false, true, false, false, false, false, false, false); Set roles = new HashSet<>(); roles.add(role); securityRepository.addMatch(SecurityTest.addressA, roles); @@ -1086,8 +1086,8 @@ public class SecurityTest extends ActiveMQTestBase { securityManager.getConfiguration().addUser("guest", "guest"); securityManager.getConfiguration().addRole("guest", "guest"); securityManager.getConfiguration().setDefaultUser("guest"); - Role role = new Role("arole", false, true, false, false, false, false, false, false); - Role sendRole = new Role("guest", true, false, true, false, false, false, false, false); + Role role = new Role("arole", false, true, false, false, false, false, false, false, false); + Role sendRole = new Role("guest", true, false, true, false, false, false, false, false, false); Set roles = new HashSet<>(); roles.add(sendRole); roles.add(role); @@ -1114,8 +1114,8 @@ public class SecurityTest extends ActiveMQTestBase { securityManager.getConfiguration().addUser("guest", "guest"); securityManager.getConfiguration().addRole("guest", "guest"); securityManager.getConfiguration().setDefaultUser("guest"); - Role role = new Role("arole", false, false, false, false, false, false, false, false); - Role sendRole = new Role("guest", true, false, true, false, false, false, false, false); + Role role = new Role("arole", false, false, false, false, false, false, false, false, false); + Role sendRole = new Role("guest", true, false, true, false, false, false, false, false, false); Set roles = new HashSet<>(); roles.add(sendRole); roles.add(role); @@ -1149,9 +1149,9 @@ public class SecurityTest extends ActiveMQTestBase { securityManager.getConfiguration().addUser("guest", "guest"); securityManager.getConfiguration().addRole("guest", "guest"); securityManager.getConfiguration().setDefaultUser("guest"); - Role role = new Role("arole", false, false, false, false, false, false, false, false); - Role sendRole = new Role("guest", true, false, true, false, false, false, false, false); - Role receiveRole = new Role("receiver", false, true, false, false, false, false, false, false); + Role role = new Role("arole", false, false, false, false, false, false, false, false, false); + Role sendRole = new Role("guest", true, false, true, false, false, false, false, false, false); + Role receiveRole = new Role("receiver", false, true, false, false, false, false, false, false, false); Set roles = new HashSet<>(); roles.add(sendRole); roles.add(role); @@ -1198,9 +1198,9 @@ public class SecurityTest extends ActiveMQTestBase { securityManager.getConfiguration().addUser("guest", "guest"); securityManager.getConfiguration().addRole("guest", "guest"); securityManager.getConfiguration().setDefaultUser("guest"); - Role role = new Role("arole", false, false, false, false, false, false, false, false); - Role sendRole = new Role("guest", true, false, true, false, false, false, false, false); - Role receiveRole = new Role("receiver", false, true, false, false, false, false, false, false); + Role role = new Role("arole", false, false, false, false, false, false, false, false, false); + Role sendRole = new Role("guest", true, false, true, false, false, false, false, false, false); + Role receiveRole = new Role("receiver", false, true, false, false, false, false, false, false, false); Set roles = new HashSet<>(); roles.add(sendRole); roles.add(role); @@ -1254,11 +1254,11 @@ public class SecurityTest extends ActiveMQTestBase { securityManager.getConfiguration().addUser("guest", "guest"); securityManager.getConfiguration().addRole("guest", "guest"); securityManager.getConfiguration().setDefaultUser("guest"); - Role role = new Role("arole", false, false, false, false, false, false, false, false); + Role role = new Role("arole", false, false, false, false, false, false, false, false, false); System.out.println("guest:" + role); - Role sendRole = new Role("guest", true, false, true, false, false, false, false, false); + Role sendRole = new Role("guest", true, false, true, false, false, false, false, false, false); System.out.println("guest:" + sendRole); - Role receiveRole = new Role("receiver", false, true, false, false, false, false, false, false); + Role receiveRole = new Role("receiver", false, true, false, false, false, false, false, false, false); System.out.println("guest:" + receiveRole); Set roles = new HashSet<>(); roles.add(sendRole); @@ -1339,7 +1339,7 @@ public class SecurityTest extends ActiveMQTestBase { HierarchicalRepository> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); - Role role = new Role("arole", false, false, false, false, false, false, true, false); + Role role = new Role("arole", false, false, false, false, false, false, true, false, false); Set roles = new HashSet<>(); roles.add(role); securityRepository.addMatch(configuration.getManagementAddress().toString(), roles); @@ -1360,7 +1360,7 @@ public class SecurityTest extends ActiveMQTestBase { HierarchicalRepository> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); - Role role = new Role("arole", false, false, true, false, false, false, false, false); + Role role = new Role("arole", false, false, true, false, false, false, false, false, false); Set roles = new HashSet<>(); roles.add(role); securityRepository.addMatch(configuration.getManagementAddress().toString(), roles); @@ -1389,7 +1389,7 @@ public class SecurityTest extends ActiveMQTestBase { HierarchicalRepository> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); - Role role = new Role("arole", false, false, true, false, false, false, false, false); + Role role = new Role("arole", false, false, true, false, false, false, false, false, false); Set roles = new HashSet<>(); roles.add(role); securityRepository.addMatch(configuration.getManagementAddress().toString(), roles); @@ -1425,23 +1425,23 @@ public class SecurityTest extends ActiveMQTestBase { securityManager.getConfiguration().addRole("frank", "user"); securityManager.getConfiguration().addRole("sam", "news-user"); securityManager.getConfiguration().addRole("sam", "user"); - Role all = new Role("all", true, true, true, true, true, true, true, true); + Role all = new Role("all", true, true, true, true, true, true, true, true, true); HierarchicalRepository> repository = server.getSecurityRepository(); Set add = new HashSet<>(); - add.add(new Role("user", true, true, true, true, true, true, false, true)); + add.add(new Role("user", true, true, true, true, true, true, false, true, true)); add.add(all); repository.addMatch("#", add); Set add1 = new HashSet<>(); add1.add(all); - add1.add(new Role("user", false, false, true, true, true, true, false, true)); - add1.add(new Role("europe-user", true, false, false, false, false, false, false, true)); - add1.add(new Role("news-user", false, true, false, false, false, false, false, true)); + add1.add(new Role("user", false, false, true, true, true, true, false, true, true)); + add1.add(new Role("europe-user", true, false, false, false, false, false, false, true, true)); + add1.add(new Role("news-user", false, true, false, false, false, false, false, true, true)); repository.addMatch("news.europe.#", add1); Set add2 = new HashSet<>(); add2.add(all); - add2.add(new Role("user", false, false, true, true, true, true, false, true)); - add2.add(new Role("us-user", true, false, false, false, false, false, false, true)); - add2.add(new Role("news-user", false, true, false, false, false, false, false, true)); + add2.add(new Role("user", false, false, true, true, true, true, false, true, true)); + add2.add(new Role("us-user", true, false, false, false, false, false, false, true, true)); + add2.add(new Role("news-user", false, true, false, false, false, false, false, true, true)); repository.addMatch("news.us.#", add2); ClientSession billConnection = null; ClientSession andrewConnection = null; @@ -1552,23 +1552,23 @@ public class SecurityTest extends ActiveMQTestBase { securityManager.getConfiguration().addRole("frank", "user"); securityManager.getConfiguration().addRole("sam", "news-user"); securityManager.getConfiguration().addRole("sam", "user"); - Role all = new Role("all", true, true, true, true, true, true, true, true); + Role all = new Role("all", true, true, true, true, true, true, true, true, true); HierarchicalRepository> repository = server.getSecurityRepository(); Set add = new HashSet<>(); - add.add(new Role("user", true, true, true, true, true, true, false, true)); + add.add(new Role("user", true, true, true, true, true, true, false, true, true)); add.add(all); repository.addMatch("#", add); Set add1 = new HashSet<>(); add1.add(all); - add1.add(new Role("user", false, false, true, true, true, true, false, true)); - add1.add(new Role("europe-user", true, false, false, false, false, false, false, true)); - add1.add(new Role("news-user", false, true, false, false, false, false, false, true)); + add1.add(new Role("user", false, false, true, true, true, true, false, true, true)); + add1.add(new Role("europe-user", true, false, false, false, false, false, false, true, true)); + add1.add(new Role("news-user", false, true, false, false, false, false, false, true, true)); repository.addMatch("news.europe.#", add1); Set add2 = new HashSet<>(); add2.add(all); - add2.add(new Role("user", false, false, true, true, true, true, false, true)); - add2.add(new Role("us-user", true, false, false, false, false, false, false, true)); - add2.add(new Role("news-user", false, true, false, false, false, false, false, true)); + add2.add(new Role("user", false, false, true, true, true, true, false, true, true)); + add2.add(new Role("us-user", true, false, false, false, false, false, false, true, true)); + add2.add(new Role("news-user", false, true, false, false, false, false, false, true, true)); repository.addMatch("news.us.#", add2); ClientSession billConnection = null; ClientSession andrewConnection = null; diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/server/ResourceLimitTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/server/ResourceLimitTest.java index 0f0a0acedc..b6ebc122e8 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/server/ResourceLimitTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/server/ResourceLimitTest.java @@ -59,7 +59,7 @@ public class ResourceLimitTest extends ActiveMQTestBase { ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("myUser", "password"); securityManager.getConfiguration().addRole("myUser", "arole"); - Role role = new Role("arole", false, false, false, false, true, true, false, true); + Role role = new Role("arole", false, false, false, false, true, true, false, true, false); Set roles = new HashSet<>(); roles.add(role); server.getSecurityRepository().addMatch("#", roles); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ssl/DualAuthenticationTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ssl/DualAuthenticationTest.java index 3540615cac..6529d9b0fa 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ssl/DualAuthenticationTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ssl/DualAuthenticationTest.java @@ -128,8 +128,8 @@ public class DualAuthenticationTest extends ActiveMQTestBase { server = addServer(ActiveMQServers.newActiveMQServer(config, ManagementFactory.getPlatformMBeanServer(), securityManager, false)); HierarchicalRepository> securityRepository = server.getSecurityRepository(); - Role sendRole = new Role("producers", true, false, true, false, true, false, false, false); - Role receiveRole = new Role("consumers", false, true, false, false, false, false, false, false); + Role sendRole = new Role("producers", true, false, true, false, true, false, false, false, false); + Role receiveRole = new Role("consumers", false, true, false, false, false, false, false, false, false); Set roles = new HashSet<>(); roles.add(sendRole); roles.add(receiveRole); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompTest.java index 7d66465774..90d18ae800 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompTest.java @@ -37,7 +37,6 @@ import org.apache.activemq.artemis.api.core.client.ClientProducer; import org.apache.activemq.artemis.api.core.client.ClientSession; import org.apache.activemq.artemis.api.core.client.ClientSessionFactory; import org.apache.activemq.artemis.api.core.client.ServerLocator; -import org.apache.activemq.artemis.api.core.management.ResourceNames; import org.apache.activemq.artemis.api.jms.ActiveMQJMSClient; import org.apache.activemq.artemis.core.postoffice.impl.LocalQueueBinding; import org.apache.activemq.artemis.core.protocol.stomp.Stomp; @@ -298,9 +297,9 @@ public class StompTest extends StompTestBase { Assert.assertTrue(Math.abs(tnow - tmsg) < 1500); // closing the consumer here should trigger auto-deletion - assertNotNull(server.getActiveMQServer().getPostOffice().getBinding(new SimpleString(ResourceNames.JMS_QUEUE + nonExistentQueue))); + assertNotNull(server.getActiveMQServer().getPostOffice().getBinding(new SimpleString(nonExistentQueue))); consumer.close(); - assertNull(server.getActiveMQServer().getPostOffice().getBinding(new SimpleString(ResourceNames.JMS_QUEUE + nonExistentQueue))); + assertNull(server.getActiveMQServer().getPostOffice().getBinding(new SimpleString(nonExistentQueue))); } @Test @@ -333,11 +332,11 @@ public class StompTest extends StompTestBase { long tmsg = message.getJMSTimestamp(); Assert.assertTrue(Math.abs(tnow - tmsg) < 1500); - assertNotNull(server.getActiveMQServer().getPostOffice().getBinding(new SimpleString(ResourceNames.JMS_TOPIC + nonExistentTopic))); + assertNotNull(server.getActiveMQServer().getPostOffice().getBinding(new SimpleString(nonExistentTopic))); // closing the consumer here should trigger auto-deletion of the topic consumer.close(); - assertNull(server.getActiveMQServer().getPostOffice().getBinding(new SimpleString(ResourceNames.JMS_TOPIC + nonExistentTopic))); + assertNull(server.getActiveMQServer().getPostOffice().getBinding(new SimpleString(nonExistentTopic))); } /* @@ -1436,9 +1435,9 @@ public class StompTest extends StompTestBase { Assert.assertTrue(frame.indexOf("destination:") > 0); Assert.assertTrue(frame.indexOf(getName()) > 0); - assertNotNull(server.getActiveMQServer().getPostOffice().getBinding(new SimpleString(ResourceNames.JMS_QUEUE + nonExistentQueue))); + assertNotNull(server.getActiveMQServer().getPostOffice().getBinding(new SimpleString(nonExistentQueue))); - final Queue subscription = ((LocalQueueBinding) server.getActiveMQServer().getPostOffice().getBinding(new SimpleString(ResourceNames.JMS_QUEUE + nonExistentQueue))).getQueue(); + final Queue subscription = ((LocalQueueBinding) server.getActiveMQServer().getPostOffice().getBinding(new SimpleString(nonExistentQueue))).getQueue(); assertTrue(Wait.waitFor(new Wait.Condition() { @Override @@ -1462,7 +1461,7 @@ public class StompTest extends StompTestBase { frame = receiveFrame(10000); Assert.assertTrue(frame.startsWith("RECEIPT")); - assertNull(server.getActiveMQServer().getPostOffice().getBinding(new SimpleString(ResourceNames.JMS_QUEUE + nonExistentQueue))); + assertNull(server.getActiveMQServer().getPostOffice().getBinding(new SimpleString(nonExistentQueue))); sendMessage(getName(), ActiveMQJMSClient.createQueue(nonExistentQueue)); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompTestBase.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompTestBase.java index 2eb95cf10f..26f2a2fedf 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompTestBase.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompTestBase.java @@ -72,6 +72,7 @@ import org.apache.activemq.artemis.jms.server.config.impl.JMSQueueConfigurationI import org.apache.activemq.artemis.jms.server.config.impl.TopicConfigurationImpl; import org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl; import org.apache.activemq.artemis.spi.core.security.ActiveMQJAASSecurityManager; +import org.apache.activemq.artemis.tests.integration.IntegrationTestLogger; import org.apache.activemq.artemis.tests.unit.util.InVMNamingContext; import org.apache.activemq.artemis.tests.util.ActiveMQTestBase; import org.junit.After; @@ -215,7 +216,7 @@ public abstract class StompTestBase extends ActiveMQTestBase { securityManager.getConfiguration().addRole(defUser, role); config.getSecurityRoles().put("#", new HashSet() { { - add(new Role(role, true, true, true, true, true, true, true, true)); + add(new Role(role, true, true, true, true, true, true, true, true, true)); } }); } @@ -280,7 +281,7 @@ public abstract class StompTestBase extends ActiveMQTestBase { } protected String getQueuePrefix() { - return "jms.queue."; + return ""; } protected String getTopicName() { @@ -288,7 +289,7 @@ public abstract class StompTestBase extends ActiveMQTestBase { } protected String getTopicPrefix() { - return "jms.topic."; + return ""; } protected void assertChannelClosed() throws InterruptedException { @@ -301,6 +302,7 @@ public abstract class StompTestBase extends ActiveMQTestBase { } public void sendFrame(String data) throws Exception { + IntegrationTestLogger.LOGGER.info("Sending: " + data); sendFrame(0, data); } diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/util/AbstractStompClientConnection.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/util/AbstractStompClientConnection.java index 56338e47ae..ce94ec36cb 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/util/AbstractStompClientConnection.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/util/AbstractStompClientConnection.java @@ -27,6 +27,8 @@ import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.TimeUnit; +import org.apache.activemq.artemis.tests.integration.IntegrationTestLogger; + public abstract class AbstractStompClientConnection implements StompClientConnection { public static final String STOMP_COMMAND = "STOMP"; @@ -91,6 +93,7 @@ public abstract class AbstractStompClientConnection implements StompClientConnec @Override public ClientStompFrame sendFrame(ClientStompFrame frame) throws IOException, InterruptedException { ClientStompFrame response = null; + IntegrationTestLogger.LOGGER.info("Sending frame:\n" + frame); ByteBuffer buffer = frame.toByteBuffer(); while (buffer.remaining() > 0) { socketChannel.write(buffer); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/v11/StompV11Test.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/v11/StompV11Test.java index 2bd15a1af4..407df8093a 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/v11/StompV11Test.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/v11/StompV11Test.java @@ -2522,7 +2522,7 @@ public class StompV11Test extends StompV11TestBase { ClientStompFrame frame = connV11.createFrame("SEND"); String guid = UUID.randomUUID().toString(); - frame.addHeader("destination", "jms.queue.NonExistentQueue" + guid); + frame.addHeader("destination", "NonExistentQueue" + guid); frame.addHeader("receipt", "1234"); frame.setBody("Hello World"); @@ -2541,7 +2541,7 @@ public class StompV11Test extends StompV11TestBase { ClientStompFrame frame = connV11.createFrame("SEND"); String guid = UUID.randomUUID().toString(); - frame.addHeader("destination", "jms.queue.NonExistentQueue" + guid); + frame.addHeader("destination", "NonExistentQueue" + guid); frame.addHeader("receipt", "1234"); frame.setBody("Hello World"); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/v11/StompV11TestBase.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/v11/StompV11TestBase.java index c1bdccc1f5..341b5832de 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/v11/StompV11TestBase.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/v11/StompV11TestBase.java @@ -124,7 +124,7 @@ public abstract class StompV11TestBase extends ActiveMQTestBase { } protected String getQueuePrefix() { - return "jms.queue."; + return ""; } protected String getTopicName() { @@ -132,7 +132,7 @@ public abstract class StompV11TestBase extends ActiveMQTestBase { } protected String getTopicPrefix() { - return "jms.topic."; + return ""; } public void sendMessage(String msg) throws Exception { diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/v12/StompV12Test.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/v12/StompV12Test.java index d3ef89ac02..fcb988473a 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/v12/StompV12Test.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/v12/StompV12Test.java @@ -2569,7 +2569,7 @@ public class StompV12Test extends StompV11TestBase { ClientStompFrame frame = connV12.createFrame("SEND"); String guid = UUID.randomUUID().toString(); - frame.addHeader("destination", "jms.queue.NonExistentQueue" + guid); + frame.addHeader("destination", "NonExistentQueue" + guid); frame.addHeader("receipt", "1234"); frame.setBody("Hello World"); @@ -2589,7 +2589,7 @@ public class StompV12Test extends StompV11TestBase { ClientStompFrame frame = connV12.createFrame("SEND"); String guid = UUID.randomUUID().toString(); - frame.addHeader("destination", "jms.queue.NonExistentQueue" + guid); + frame.addHeader("destination", "NonExistentQueue" + guid); frame.addHeader("receipt", "1234"); frame.setBody("Hello World"); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/util/JMSClusteredTestBase.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/util/JMSClusteredTestBase.java index 322d9a8df8..edf0397953 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/util/JMSClusteredTestBase.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/util/JMSClusteredTestBase.java @@ -87,8 +87,8 @@ public class JMSClusteredTestBase extends ActiveMQTestBase { jmsServer2.createQueue(false, name, null, true, "/queue/" + name); jmsServer1.createQueue(false, name, null, true, "/queue/" + name); - assertTrue(waitForBindings(server1, "jms.queue." + name, false, 1, 0, 10000)); - assertTrue(waitForBindings(server2, "jms.queue." + name, false, 1, 0, 10000)); + assertTrue(waitForBindings(server1, name, false, 1, 0, 10000)); + assertTrue(waitForBindings(server2, name, false, 1, 0, 10000)); return (Queue) context1.lookup("/queue/" + name); } diff --git a/tests/integration-tests/src/test/resources/reload-test-jms.xml b/tests/integration-tests/src/test/resources/reload-test-jms.xml index 9d5698424d..e914942095 100644 --- a/tests/integration-tests/src/test/resources/reload-test-jms.xml +++ b/tests/integration-tests/src/test/resources/reload-test-jms.xml @@ -100,8 +100,8 @@ under the License. false - jms.queue.DLQ - jms.queue.ExpiryQueue + DLQ + ExpiryQueue 0 10485760 10 diff --git a/tests/integration-tests/src/test/resources/reload-test-updated-jms.xml b/tests/integration-tests/src/test/resources/reload-test-updated-jms.xml index a9d101614e..5195fed4c5 100644 --- a/tests/integration-tests/src/test/resources/reload-test-updated-jms.xml +++ b/tests/integration-tests/src/test/resources/reload-test-updated-jms.xml @@ -86,8 +86,8 @@ under the License. -

jms.queue.DivertQueue
- jms.queue.NewQueue +
DivertQueue
+ NewQueue @@ -110,8 +110,8 @@ under the License. false - jms.queue.NewQueue - jms.queue.NewQueue + NewQueue + NewQueue 0 10485760 10 diff --git a/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/ActiveMQServerTestCase.java b/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/ActiveMQServerTestCase.java index 42d6ea5df3..f309c16bff 100644 --- a/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/ActiveMQServerTestCase.java +++ b/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/ActiveMQServerTestCase.java @@ -367,7 +367,7 @@ public abstract class ActiveMQServerTestCase { protected boolean assertRemainingMessages(final int expected) throws Exception { String queueName = "Queue1"; - Binding binding = servers.get(0).getActiveMQServer().getPostOffice().getBinding(SimpleString.toSimpleString("jms.queue." + queueName)); + Binding binding = servers.get(0).getActiveMQServer().getPostOffice().getBinding(SimpleString.toSimpleString(queueName)); if (binding != null && binding instanceof LocalQueueBinding) { ((LocalQueueBinding) binding).getQueue().flushExecutor(); } diff --git a/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/BrowserTest.java b/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/BrowserTest.java index 4256e60f96..c97e8640d1 100644 --- a/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/BrowserTest.java +++ b/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/BrowserTest.java @@ -92,7 +92,7 @@ public class BrowserTest extends JMSTestCase { coreSession.start(); - ClientConsumer browser = coreSession.createConsumer("jms.queue.Queue1", true); + ClientConsumer browser = coreSession.createConsumer("Queue1", true); conn.start(); diff --git a/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/MessageProducerTest.java b/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/MessageProducerTest.java index 7534542131..da171cb757 100644 --- a/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/MessageProducerTest.java +++ b/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/MessageProducerTest.java @@ -339,7 +339,7 @@ public class MessageProducerTest extends JMSTestCase { @Test public void testCreateProducerOnInexistentDestination() throws Exception { - getJmsServer().getAddressSettingsRepository().addMatch("#", new AddressSettings().setAutoCreateJmsTopics(false)); + getJmsServer().getAddressSettingsRepository().addMatch("#", new AddressSettings().setAutoCreateJmsQueues(false)); Connection pconn = createConnection(); try { Session ps = pconn.createSession(false, Session.AUTO_ACKNOWLEDGE); diff --git a/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/SessionTest.java b/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/SessionTest.java index 63b8561cc3..016b052909 100644 --- a/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/SessionTest.java +++ b/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/SessionTest.java @@ -169,7 +169,7 @@ public class SessionTest extends ActiveMQServerTestCase { @Test public void testCreateNonExistentTopic() throws Exception { - getJmsServer().getAddressSettingsRepository().addMatch("#", new AddressSettings().setAutoCreateJmsTopics(false)); + getJmsServer().getAddressSettingsRepository().addMatch("#", new AddressSettings().setAutoCreateJmsQueues(false)); Connection conn = getConnectionFactory().createConnection(); Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE); try { @@ -197,7 +197,7 @@ public class SessionTest extends ActiveMQServerTestCase { @Test public void testCreateTopicWhileQueueWithSameNameExists() throws Exception { - getJmsServer().getAddressSettingsRepository().addMatch("#", new AddressSettings().setAutoCreateJmsTopics(false)); + getJmsServer().getAddressSettingsRepository().addMatch("#", new AddressSettings().setAutoCreateJmsQueues(false)); Connection conn = getConnectionFactory().createConnection(); Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE); try { diff --git a/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/message/MessageHeaderTest.java b/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/message/MessageHeaderTest.java index 7aa0af34b2..994c1a6c6e 100644 --- a/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/message/MessageHeaderTest.java +++ b/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/message/MessageHeaderTest.java @@ -1124,6 +1124,11 @@ public class MessageHeaderTest extends MessageHeaderTestBase { return 0; } + @Override + public void createAddress(SimpleString address, boolean multicast) throws ActiveMQException { + + } + @Override public FakeSession setSendAcknowledgementHandler(final SendAcknowledgementHandler handler) { return this; diff --git a/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/tools/container/LocalTestServer.java b/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/tools/container/LocalTestServer.java index c749ef1c36..0fe7b47d02 100644 --- a/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/tools/container/LocalTestServer.java +++ b/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/tools/container/LocalTestServer.java @@ -31,7 +31,6 @@ import java.util.Set; import org.apache.activemq.artemis.api.core.TransportConfiguration; import org.apache.activemq.artemis.api.core.client.ActiveMQClient; import org.apache.activemq.artemis.api.core.management.ObjectNameBuilder; -import org.apache.activemq.artemis.api.core.management.ResourceNames; import org.apache.activemq.artemis.api.jms.JMSFactoryType; import org.apache.activemq.artemis.api.jms.management.JMSQueueControl; import org.apache.activemq.artemis.api.jms.management.TopicControl; @@ -287,11 +286,10 @@ public class LocalTestServer implements Server, Runnable { public void configureSecurityForDestination(final String destName, final boolean isQueue, final Set roles) throws Exception { - String destination = (isQueue ? "jms.queue." : "jms.topic.") + destName; if (roles != null) { - getActiveMQServer().getSecurityRepository().addMatch(destination, roles); + getActiveMQServer().getSecurityRepository().addMatch(destName, roles); } else { - getActiveMQServer().getSecurityRepository().removeMatch(destination); + getActiveMQServer().getSecurityRepository().removeMatch(destName); } } @@ -330,7 +328,7 @@ public class LocalTestServer implements Server, Runnable { @Override public Long getMessageCountForQueue(final String queueName) throws Exception { - JMSQueueControl queue = (JMSQueueControl) getActiveMQServer().getManagementService().getResource(ResourceNames.JMS_QUEUE + queueName); + JMSQueueControl queue = (JMSQueueControl) getActiveMQServer().getManagementService().getResource(queueName); if (queue != null) { queue.flushExecutor(); return queue.getMessageCount(); @@ -342,10 +340,10 @@ public class LocalTestServer implements Server, Runnable { @Override public void removeAllMessages(final String destination, final boolean isQueue) throws Exception { if (isQueue) { - JMSQueueControl queue = (JMSQueueControl) getActiveMQServer().getManagementService().getResource(ResourceNames.JMS_QUEUE + destination); + JMSQueueControl queue = (JMSQueueControl) getActiveMQServer().getManagementService().getResource(destination); queue.removeMessages(null); } else { - TopicControl topic = (TopicControl) getActiveMQServer().getManagementService().getResource(ResourceNames.JMS_TOPIC + destination); + TopicControl topic = (TopicControl) getActiveMQServer().getManagementService().getResource(destination); topic.removeMessages(null); } } diff --git a/tests/joram-tests/src/test/java/org/apache/activemq/artemis/amqpJMS/ActiveMQAMQPAdmin.java b/tests/joram-tests/src/test/java/org/apache/activemq/artemis/amqpJMS/ActiveMQAMQPAdmin.java index 6f6b142d4c..a6e0b7439d 100644 --- a/tests/joram-tests/src/test/java/org/apache/activemq/artemis/amqpJMS/ActiveMQAMQPAdmin.java +++ b/tests/joram-tests/src/test/java/org/apache/activemq/artemis/amqpJMS/ActiveMQAMQPAdmin.java @@ -100,7 +100,7 @@ public class ActiveMQAMQPAdmin extends AbstractAdmin { public void createQueue(String name) { super.createQueue(name); try { - context.bind(name, new JmsQueue("jms.queue." + name)); + context.bind(name, new JmsQueue(name)); } catch (NamingException e) { throw new RuntimeException(e); } @@ -110,7 +110,7 @@ public class ActiveMQAMQPAdmin extends AbstractAdmin { public void createTopic(String name) { super.createTopic(name); try { - context.bind(name, new JmsTopic("jms.topic." + name)); + context.bind(name, new JmsTopic(name)); } catch (NamingException e) { throw new RuntimeException(e); } diff --git a/tests/joram-tests/src/test/java/org/objectweb/jtests/jms/conform/message/headers/MessageHeaderTest.java b/tests/joram-tests/src/test/java/org/objectweb/jtests/jms/conform/message/headers/MessageHeaderTest.java index 915f2cc05a..1317ff8a4c 100644 --- a/tests/joram-tests/src/test/java/org/objectweb/jtests/jms/conform/message/headers/MessageHeaderTest.java +++ b/tests/joram-tests/src/test/java/org/objectweb/jtests/jms/conform/message/headers/MessageHeaderTest.java @@ -180,7 +180,9 @@ public class MessageHeaderTest extends PTPTestCase { Assert.assertEquals("sec. 3.4.1 After completion of the send it holds the destination object specified " + "by the sending method.\n", senderQueue, message.getJMSDestination()); Message msg = receiver.receive(TestConfig.TIMEOUT); - Assert.assertEquals("sec. 3.4.1 When a message is received, its destination value must be equivalent " + " to the value assigned when it was sent.\n", ((Queue) message.getJMSDestination()).getQueueName(), ((Queue) msg.getJMSDestination()).getQueueName()); + String one = ((Queue) message.getJMSDestination()).getQueueName(); + String two = ((Queue) msg.getJMSDestination()).getQueueName(); + Assert.assertEquals("sec. 3.4.1 When a message is received, its destination value must be equivalent " + " to the value assigned when it was sent.\n", one, two); admin.deleteQueue("anotherQueue"); } catch (JMSException e) { diff --git a/tests/performance-tests/src/test/java/org/apache/activemq/artemis/tests/performance/storage/SendReceiveMultiThreadTest.java b/tests/performance-tests/src/test/java/org/apache/activemq/artemis/tests/performance/storage/SendReceiveMultiThreadTest.java index 2a89afb774..92fa6c8677 100644 --- a/tests/performance-tests/src/test/java/org/apache/activemq/artemis/tests/performance/storage/SendReceiveMultiThreadTest.java +++ b/tests/performance-tests/src/test/java/org/apache/activemq/artemis/tests/performance/storage/SendReceiveMultiThreadTest.java @@ -78,9 +78,9 @@ public class SendReceiveMultiThreadTest extends ActiveMQTestBase { server.start(); - Queue queue = server.createQueue(SimpleString.toSimpleString("jms.queue.performanceQueue"), SimpleString.toSimpleString("jms.queue.performanceQueue"), null, true, false); + Queue queue = server.createQueue(SimpleString.toSimpleString("performanceQueue"), SimpleString.toSimpleString("performanceQueue"), null, true, false); - Queue queue2 = server.createQueue(SimpleString.toSimpleString("jms.queue.stationaryQueue"), SimpleString.toSimpleString("jms.queue.stationaryQueue"), null, true, false); + Queue queue2 = server.createQueue(SimpleString.toSimpleString("stationaryQueue"), SimpleString.toSimpleString("stationaryQueue"), null, true, false); MyThread[] threads = new MyThread[NUMBER_OF_THREADS]; diff --git a/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/core/postoffice/impl/WildcardAddressManagerUnitTest.java b/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/core/postoffice/impl/WildcardAddressManagerUnitTest.java index c797955c54..3718afbbb2 100644 --- a/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/core/postoffice/impl/WildcardAddressManagerUnitTest.java +++ b/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/core/postoffice/impl/WildcardAddressManagerUnitTest.java @@ -43,9 +43,9 @@ public class WildcardAddressManagerUnitTest extends ActiveMQTestBase { public void testUnitOnWildCardFailingScenario() throws Exception { int errors = 0; WildcardAddressManager ad = new WildcardAddressManager(new BindingFactoryFake()); - ad.addBinding(new BindingFake("jms.topic.Topic1", "jms.topic.Topic1")); - ad.addBinding(new BindingFake("jms.topic.Topic1", "one")); - ad.addBinding(new BindingFake("jms.topic.*", "two")); + ad.addBinding(new BindingFake("Topic1", "Topic1")); + ad.addBinding(new BindingFake("Topic1", "one")); + ad.addBinding(new BindingFake("*", "two")); ad.removeBinding(SimpleString.toSimpleString("one"), null); try { ad.removeBinding(SimpleString.toSimpleString("two"), null); @@ -57,7 +57,7 @@ public class WildcardAddressManagerUnitTest extends ActiveMQTestBase { e.printStackTrace(); } try { - ad.addBinding(new BindingFake("jms.topic.Topic1", "three")); + ad.addBinding(new BindingFake("Topic1", "three")); } catch (Throwable e) { // We are not failing the test here as this test is replicating the exact scenario // that was happening under https://issues.jboss.org/browse/HORNETQ-988 diff --git a/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/core/security/impl/ActiveMQSecurityManagerImplTest.java b/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/core/security/impl/ActiveMQSecurityManagerImplTest.java index 87da4cc533..0df0e89630 100644 --- a/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/core/security/impl/ActiveMQSecurityManagerImplTest.java +++ b/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/core/security/impl/ActiveMQSecurityManagerImplTest.java @@ -59,22 +59,22 @@ public class ActiveMQSecurityManagerImplTest extends ActiveMQTestBase { Assert.assertTrue(securityManager.validateUser("guest", "password")); Assert.assertFalse(securityManager.validateUser(null, "wrongpass")); HashSet roles = new HashSet<>(); - roles.add(new Role("guest", true, true, true, true, true, true, true, true)); + roles.add(new Role("guest", true, true, true, true, true, true, true, true, true)); Assert.assertTrue(securityManager.validateUserAndRole(null, null, roles, CheckType.CREATE_DURABLE_QUEUE)); Assert.assertTrue(securityManager.validateUserAndRole(null, null, roles, CheckType.SEND)); Assert.assertTrue(securityManager.validateUserAndRole(null, null, roles, CheckType.CONSUME)); roles = new HashSet<>(); - roles.add(new Role("guest", true, true, false, true, true, true, true, true)); + roles.add(new Role("guest", true, true, false, true, true, true, true, true, true)); Assert.assertFalse(securityManager.validateUserAndRole(null, null, roles, CheckType.CREATE_DURABLE_QUEUE)); Assert.assertTrue(securityManager.validateUserAndRole(null, null, roles, CheckType.SEND)); Assert.assertTrue(securityManager.validateUserAndRole(null, null, roles, CheckType.CONSUME)); roles = new HashSet<>(); - roles.add(new Role("guest", true, false, false, true, true, true, true, true)); + roles.add(new Role("guest", true, false, false, true, true, true, true, true, true)); Assert.assertFalse(securityManager.validateUserAndRole(null, null, roles, CheckType.CREATE_DURABLE_QUEUE)); Assert.assertTrue(securityManager.validateUserAndRole(null, null, roles, CheckType.SEND)); Assert.assertFalse(securityManager.validateUserAndRole(null, null, roles, CheckType.CONSUME)); roles = new HashSet<>(); - roles.add(new Role("guest", false, false, false, true, true, true, true, true)); + roles.add(new Role("guest", false, false, false, true, true, true, true, true, true)); Assert.assertFalse(securityManager.validateUserAndRole(null, null, roles, CheckType.CREATE_DURABLE_QUEUE)); Assert.assertFalse(securityManager.validateUserAndRole(null, null, roles, CheckType.SEND)); Assert.assertFalse(securityManager.validateUserAndRole(null, null, roles, CheckType.CONSUME)); @@ -124,19 +124,19 @@ public class ActiveMQSecurityManagerImplTest extends ActiveMQTestBase { securityManager.getConfiguration().addRole("newuser1", "role3"); securityManager.getConfiguration().addRole("newuser1", "role4"); HashSet roles = new HashSet<>(); - roles.add(new Role("role1", true, true, true, true, true, true, true, true)); + roles.add(new Role("role1", true, true, true, true, true, true, true, true, true)); Assert.assertTrue(securityManager.validateUserAndRole("newuser1", "newpassword1", roles, CheckType.SEND)); roles = new HashSet<>(); - roles.add(new Role("role2", true, true, true, true, true, true, true, true)); + roles.add(new Role("role2", true, true, true, true, true, true, true, true, true)); Assert.assertTrue(securityManager.validateUserAndRole("newuser1", "newpassword1", roles, CheckType.SEND)); roles = new HashSet<>(); - roles.add(new Role("role3", true, true, true, true, true, true, true, true)); + roles.add(new Role("role3", true, true, true, true, true, true, true, true, true)); Assert.assertTrue(securityManager.validateUserAndRole("newuser1", "newpassword1", roles, CheckType.SEND)); roles = new HashSet<>(); - roles.add(new Role("role4", true, true, true, true, true, true, true, true)); + roles.add(new Role("role4", true, true, true, true, true, true, true, true, true)); Assert.assertTrue(securityManager.validateUserAndRole("newuser1", "newpassword1", roles, CheckType.SEND)); roles = new HashSet<>(); - roles.add(new Role("role5", true, true, true, true, true, true, true, true)); + roles.add(new Role("role5", true, true, true, true, true, true, true, true, true)); Assert.assertFalse(securityManager.validateUserAndRole("newuser1", "newpassword1", roles, CheckType.SEND)); } @@ -150,19 +150,19 @@ public class ActiveMQSecurityManagerImplTest extends ActiveMQTestBase { securityManager.getConfiguration().removeRole("newuser1", "role2"); securityManager.getConfiguration().removeRole("newuser1", "role4"); HashSet roles = new HashSet<>(); - roles.add(new Role("role1", true, true, true, true, true, true, true, true)); + roles.add(new Role("role1", true, true, true, true, true, true, true, true, true)); Assert.assertTrue(securityManager.validateUserAndRole("newuser1", "newpassword1", roles, CheckType.SEND)); roles = new HashSet<>(); - roles.add(new Role("role2", true, true, true, true, true, true, true, true)); + roles.add(new Role("role2", true, true, true, true, true, true, true, true, true)); Assert.assertFalse(securityManager.validateUserAndRole("newuser1", "newpassword1", roles, CheckType.SEND)); roles = new HashSet<>(); - roles.add(new Role("role3", true, true, true, true, true, true, true, true)); + roles.add(new Role("role3", true, true, true, true, true, true, true, true, true)); Assert.assertTrue(securityManager.validateUserAndRole("newuser1", "newpassword1", roles, CheckType.SEND)); roles = new HashSet<>(); - roles.add(new Role("role4", true, true, true, true, true, true, true, true)); + roles.add(new Role("role4", true, true, true, true, true, true, true, true, true)); Assert.assertFalse(securityManager.validateUserAndRole("newuser1", "newpassword1", roles, CheckType.SEND)); roles = new HashSet<>(); - roles.add(new Role("role5", true, true, true, true, true, true, true, true)); + roles.add(new Role("role5", true, true, true, true, true, true, true, true, true)); Assert.assertFalse(securityManager.validateUserAndRole("newuser1", "newpassword1", roles, CheckType.SEND)); } } diff --git a/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/jms/ActiveMQDestinationTest.java b/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/jms/ActiveMQDestinationTest.java index 06389ecbb1..5c66bc1ee1 100644 --- a/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/jms/ActiveMQDestinationTest.java +++ b/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/jms/ActiveMQDestinationTest.java @@ -26,6 +26,9 @@ import org.apache.activemq.artemis.utils.RandomUtil; import org.junit.Assert; import org.junit.Test; +import static org.apache.activemq.artemis.jms.client.ActiveMQDestination.QUEUE_QUALIFIED_PREFIX; +import static org.apache.activemq.artemis.jms.client.ActiveMQDestination.TOPIC_QUALIFIED_PREFIX; + public class ActiveMQDestinationTest extends ActiveMQTestBase { // Constants ----------------------------------------------------- @@ -40,10 +43,10 @@ public class ActiveMQDestinationTest extends ActiveMQTestBase { @Test public void testEquals() throws Exception { String destinationName = RandomUtil.randomString(); - String address = ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX + destinationName; - ActiveMQDestination destination = (ActiveMQDestination) ActiveMQDestination.fromAddress(address); - ActiveMQDestination sameDestination = (ActiveMQDestination) ActiveMQDestination.fromAddress(address); - ActiveMQDestination differentDestination = (ActiveMQDestination) ActiveMQDestination.fromAddress(address + RandomUtil.randomString()); + String address = QUEUE_QUALIFIED_PREFIX + destinationName; + ActiveMQDestination destination = (ActiveMQDestination) ActiveMQDestination.fromPrefixedName(address); + ActiveMQDestination sameDestination = (ActiveMQDestination) ActiveMQDestination.fromPrefixedName(address); + ActiveMQDestination differentDestination = (ActiveMQDestination) ActiveMQDestination.fromPrefixedName(address + RandomUtil.randomString()); Assert.assertFalse(destination.equals(null)); Assert.assertTrue(destination.equals(destination)); @@ -54,8 +57,8 @@ public class ActiveMQDestinationTest extends ActiveMQTestBase { @Test public void testFromAddressWithQueueAddressPrefix() throws Exception { String destinationName = RandomUtil.randomString(); - String address = ActiveMQDestination.JMS_QUEUE_ADDRESS_PREFIX + destinationName; - ActiveMQDestination destination = (ActiveMQDestination) ActiveMQDestination.fromAddress(address); + String address = QUEUE_QUALIFIED_PREFIX + destinationName; + ActiveMQDestination destination = (ActiveMQDestination) ActiveMQDestination.fromPrefixedName(address); Assert.assertTrue(destination instanceof Queue); Assert.assertEquals(destinationName, ((Queue) destination).getQueueName()); } @@ -63,8 +66,8 @@ public class ActiveMQDestinationTest extends ActiveMQTestBase { @Test public void testFromAddressWithTopicAddressPrefix() throws Exception { String destinationName = RandomUtil.randomString(); - String address = ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX + destinationName; - ActiveMQDestination destination = (ActiveMQDestination) ActiveMQDestination.fromAddress(address); + String address = TOPIC_QUALIFIED_PREFIX + destinationName; + ActiveMQDestination destination = (ActiveMQDestination) ActiveMQDestination.fromPrefixedName(address); Assert.assertTrue(destination instanceof Topic); Assert.assertEquals(destinationName, ((Topic) destination).getTopicName()); } @@ -75,7 +78,7 @@ public class ActiveMQDestinationTest extends ActiveMQTestBase { String destinationName = RandomUtil.randomString(); String address = invalidPrefix + destinationName; try { - ActiveMQDestination.fromAddress(address); + ActiveMQDestination.fromPrefixedName(address); Assert.fail("IllegalArgumentException"); } catch (JMSRuntimeException e) { }