(activemq-artemis-console) branch main updated: ARTEMIS-4680 - Upgrade the console to use HawtIO 4
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis-console.git The following commit(s) were added to refs/heads/main by this push: new b788f5b ARTEMIS-4680 - Upgrade the console to use HawtIO 4 b788f5b is described below commit b788f5b65fa07f49ccf322cb6293edc38b28cc98 Author: Andy Taylor AuthorDate: Wed May 29 10:20:21 2024 +0100 ARTEMIS-4680 - Upgrade the console to use HawtIO 4 Tidy up the license files --- LICENSE| 154 + .../.yarn/releases/LICENSE-yarn.txt| 143 +++ 2 files changed, 150 insertions(+), 147 deletions(-) diff --git a/LICENSE b/LICENSE index 30e4551..34638d2 100644 --- a/LICENSE +++ b/LICENSE @@ -201,150 +201,10 @@ See the License for the specific language governing permissions and limitations under the License. - -= For The Node cjs file for yarn under artemis-extension/.yarn/releases/yarn-.cjs = - - -* - * Copyright (c) 2014-present, Jon Schlinkert. - * Licensed under the MIT License. - */ -/*! - * is-extglob <https://github.com/jonschlinkert/is-extglob> - * - * Copyright (c) 2014-2016, Jon Schlinkert. - * Licensed under the MIT License. - */ -/*! - * is-glob <https://github.com/jonschlinkert/is-glob> - * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. - */ -/*! - * is-number <https://github.com/jonschlinkert/is-number> - * - * Copyright (c) 2014-present, Jon Schlinkert. - * Released under the MIT License. - */ -/*! - * is-windows <https://github.com/jonschlinkert/is-windows> - * - * Copyright © 2015-2018, Jon Schlinkert. - * Released under the MIT License. - */ -/*! - * to-regex-range <https://github.com/micromatch/to-regex-range> - * - * Copyright (c) 2015-present, Jon Schlinkert. - * Released under the MIT License. - */ -/** - @license - Copyright (c) 2015, Rebecca Turner - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND - FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR - OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. - */ -/** - @license - Copyright Joyent, Inc. and other Node contributors. - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to permit - persons to whom the Software is furnished to do so, subject to the - following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN - NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR - OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE - USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -/** - @license - Copyright Node.js contributors. All rights reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to - deal in the Software without restriction, including without limitation the - rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNES
(activemq-artemis) branch main updated: NO-JIRA Fix random test failures if flow is omitted
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new f4d9cfdca8 NO-JIRA Fix random test failures if flow is omitted f4d9cfdca8 is described below commit f4d9cfdca8fce27efac9242d80864a91fe815335 Author: Timothy Bish AuthorDate: Tue May 28 10:44:00 2024 -0400 NO-JIRA Fix random test failures if flow is omitted If the remote detach arrives fast enough it can suppress the flow from being sent by the broker so the test should mark that as an optional frame. --- .../tests/integration/amqp/connect/AMQPFederationAddressPolicyTest.java | 2 +- .../tests/integration/amqp/connect/AMQPFederationQueuePolicyTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/connect/AMQPFederationAddressPolicyTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/connect/AMQPFederationAddressPolicyTest.java index 4f9dfe18f1..6e82e370b9 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/connect/AMQPFederationAddressPolicyTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/connect/AMQPFederationAddressPolicyTest.java @@ -3155,7 +3155,7 @@ public class AMQPFederationAddressPolicyTest extends AmqpClientTestSupport { peer.remoteDetach().withClosed(true) .withErrorCondition(AmqpError.NOT_FOUND.toString(), "Address not found") .queue(); - peer.expectFlow(); + peer.expectFlow().optional(); peer.expectDetach(); server.createQueue(new QueueConfiguration("test").setRoutingType(RoutingType.MULTICAST) diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/connect/AMQPFederationQueuePolicyTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/connect/AMQPFederationQueuePolicyTest.java index 4cb32f385d..f32e032c4a 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/connect/AMQPFederationQueuePolicyTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/connect/AMQPFederationQueuePolicyTest.java @@ -3394,7 +3394,7 @@ public class AMQPFederationQueuePolicyTest extends AmqpClientTestSupport { peer.remoteDetach().withClosed(true) .withErrorCondition(AmqpError.NOT_FOUND.toString(), "Queue not found") .queue(); - peer.expectFlow(); + peer.expectFlow().optional(); peer.expectDetach(); final ConnectionFactory factory = CFUtil.createConnectionFactory("AMQP", "tcp://localhost:" + AMQP_PORT); - To unsubscribe, e-mail: commits-unsubscr...@activemq.apache.org For additional commands, e-mail: commits-h...@activemq.apache.org For further information, visit: https://activemq.apache.org/contact
(activemq-artemis) branch main updated: ARTEMIS-4771 AMQP Large Message Writer no-op staged write if already closed
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 3244965155 ARTEMIS-4771 AMQP Large Message Writer no-op staged write if already closed 3244965155 is described below commit 3244965155406f6b1904f9ba0e73d0ced4eda298 Author: Timothy Bish AuthorDate: Thu May 23 11:01:47 2024 -0400 ARTEMIS-4771 AMQP Large Message Writer no-op staged write if already closed If the writer is closed while flow controlled write attempts are pending in the connection executor an NPE is thrown which should be avoided as the closed state should trigger the writes to stop. Add fix and test that checks that this works as it should. --- .../amqp/proton/AMQPLargeMessageWriter.java| 5 + .../amqp/proton/AMQPLargeMessageWriterTest.java| 255 + 2 files changed, 260 insertions(+) diff --git a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/proton/AMQPLargeMessageWriter.java b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/proton/AMQPLargeMessageWriter.java index b2cffb483b..1425476408 100644 --- a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/proton/AMQPLargeMessageWriter.java +++ b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/proton/AMQPLargeMessageWriter.java @@ -170,6 +170,11 @@ public class AMQPLargeMessageWriter implements MessageWriter { } private void tryDelivering() { + if (closed) { + logger.trace("AMQP Large Message Writer was closed before queued write attempt was executed"); + return; + } + // This is discounting some bytes due to Transfer payload final int frameSize = protonSender.getSession().getConnection().getTransport().getOutboundFrameSizeLimit() - 50 - (delivery.getTag() != null ? delivery.getTag().length : 0); diff --git a/artemis-protocols/artemis-amqp-protocol/src/test/java/org/apache/activemq/artemis/protocol/amqp/proton/AMQPLargeMessageWriterTest.java b/artemis-protocols/artemis-amqp-protocol/src/test/java/org/apache/activemq/artemis/protocol/amqp/proton/AMQPLargeMessageWriterTest.java new file mode 100644 index 00..2122fd3200 --- /dev/null +++ b/artemis-protocols/artemis-amqp-protocol/src/test/java/org/apache/activemq/artemis/protocol/amqp/proton/AMQPLargeMessageWriterTest.java @@ -0,0 +1,255 @@ +/* + * 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.protocol.amqp.proton; + +import static org.junit.Assert.fail; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyInt; +import static org.mockito.Mockito.atLeastOnce; +import static org.mockito.Mockito.doAnswer; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.verifyNoInteractions; +import static org.mockito.Mockito.verifyNoMoreInteractions; +import static org.mockito.Mockito.when; + +import org.apache.activemq.artemis.core.message.LargeBodyReader; +import org.apache.activemq.artemis.core.persistence.impl.nullpm.NullStorageManager; +import org.apache.activemq.artemis.core.server.MessageReference; +import org.apache.activemq.artemis.protocol.amqp.broker.AMQPLargeMessage; +import org.apache.activemq.artemis.protocol.amqp.broker.AMQPSessionCallback; +import org.apache.activemq.artemis.protocol.amqp.broker.ActiveMQProtonRemotingConnection; +import org.apache.activemq.artemis.spi.core.remoting.ReadyListener; +import org.apache.qpid.proton.engine.Connection; +import org.apache.qpid.proton.engine.Delivery; +import org.apache.qpid.proton.engine.EndpointState; +import org.apache.qpid.proton.engine.Sender; +import org.apache.qpid.proton.engine.Session; +import org.apache.qpid.proton.engine.impl.TransportImpl; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnota
(activemq-artemis) branch main updated (3c058e98f1 -> f64d918406)
This is an automated email from the ASF dual-hosted git repository. robbie pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git from 3c058e98f1 ARTEMIS-3622 MQTT can deadlock on client cxn/discxn new 98e1389a6e ARTEMIS-4778: clean up configuration test heirarchy, remove hundreds of duplicate tests, isolate parameterized tests new 3e20687cf3 ARTEMIS-4778: replace various assertEquals checks with more apropriate assertTrue / assertFalse / assertNull new 243ea9aa01 ARTEMIS-4778: remove spawn check rule, not needed as the tests dont spawn new 3c84f26413 ARTEMIS-4778: split two Nested test classes (one parameterized, other not) into their own class files new 7849e2dcbf ARTEMIS-4778: extract base class and classes from parameterized test with subclass that skips to de-parameterize itself new f64d918406 ARTEMIS-4778: rework tests manipulating Xxe config so it is reset after class, and not updated at all for skipped tests The 6 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../activemq/artemis/utils/XmlProviderTest.java| 41 +- .../config/impl/AbstractConfigurationTestBase.java | 490 + .../core/config/impl/ConfigurationImplTest.java| 473 +--- .../config/impl/DefaultsFileConfigurationTest.java | 24 +- ...ConfigurationBrokerConnectionEncryptedTest.java | 34 +- .../impl/FileConfigurationDbEncryptedPassTest.java | 37 +- .../impl/FileConfigurationSecurityPluginTest.java | 37 +- .../core/config/impl/FileConfigurationTest.java| 102 - .../config/impl/FileXIncludeConfigurationTest.java | 28 +- .../impl/FileXIncludeSchemaConfigurationTest.java | 34 +- .../activemq/ActiveMQXAConnectionFactoryTest.java | 2 +- .../activemq/command/ActiveMQMessageTest.java | 2 +- .../amqp/AmqpFlowControlFailDispositionTests.java | 103 + .../amqp/AmqpFlowControlFailOrdinaryTests.java | 94 .../integration/amqp/AmqpFlowControlFailTest.java | 175 ...ibutionTest.java => NettyFailoverInVMTest.java} | 7 +- ...ibutionTest.java => NettyFailoverJdbcTest.java} | 7 +- ...ailoverTest.java => NettyFailoverTestBase.java} | 18 +- .../failover/NettyReplicatedFailoverTest.java | 2 +- .../artemis/amqpJMS/JoramAMQPAggregationTest.java | 6 - .../artemis/jms/JoramCoreAggregationTest.java | 5 - .../message/properties/JMSXPropertyTest.java | 8 +- .../properties/MessagePropertyConversionTest.java | 6 +- .../message/properties/MessagePropertyTest.java| 2 +- .../jms/conform/session/QueueSessionTest.java | 8 +- .../jtests/jms/conform/session/SessionTest.java| 20 +- .../jms/conform/session/TopicSessionTest.java | 4 +- 27 files changed, 982 insertions(+), 787 deletions(-) create mode 100644 artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/AbstractConfigurationTestBase.java create mode 100644 tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpFlowControlFailDispositionTests.java create mode 100644 tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpFlowControlFailOrdinaryTests.java delete mode 100644 tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpFlowControlFailTest.java copy tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/{SharedStoreDistributionTest.java => NettyFailoverInVMTest.java} (85%) copy tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/{SharedStoreDistributionTest.java => NettyFailoverJdbcTest.java} (85%) rename tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/{NettyFailoverTest.java => NettyFailoverTestBase.java} (93%)
(activemq-artemis) 05/06: ARTEMIS-4778: extract base class and classes from parameterized test with subclass that skips to de-parameterize itself
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git commit 7849e2dcbff19da774f3027b619c56516d8ac628 Author: Robbie Gemmell AuthorDate: Tue May 21 16:18:22 2024 +0100 ARTEMIS-4778: extract base class and classes from parameterized test with subclass that skips to de-parameterize itself --- .../cluster/failover/NettyFailoverInVMTest.java| 24 ++ .../cluster/failover/NettyFailoverJdbcTest.java| 24 ++ ...ailoverTest.java => NettyFailoverTestBase.java} | 18 +--- .../failover/NettyReplicatedFailoverTest.java | 2 +- 4 files changed, 54 insertions(+), 14 deletions(-) diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/NettyFailoverInVMTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/NettyFailoverInVMTest.java new file mode 100644 index 00..947048c8e3 --- /dev/null +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/NettyFailoverInVMTest.java @@ -0,0 +1,24 @@ +/* + * 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.tests.integration.cluster.failover; + +public class NettyFailoverInVMTest extends NettyFailoverTestBase { + + public NettyFailoverInVMTest() { + super(NodeManagerType.InVM); + } +} diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/NettyFailoverJdbcTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/NettyFailoverJdbcTest.java new file mode 100644 index 00..2d2469694c --- /dev/null +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/NettyFailoverJdbcTest.java @@ -0,0 +1,24 @@ +/* + * 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.tests.integration.cluster.failover; + +public class NettyFailoverJdbcTest extends NettyFailoverTestBase { + + public NettyFailoverJdbcTest() { + super(NodeManagerType.Jdbc); + } +} diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/NettyFailoverTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/NettyFailoverTestBase.java similarity index 93% rename from tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/NettyFailoverTest.java rename to tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/NettyFailoverTestBase.java index c07949ed7f..3bef6a4c1a 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/NettyFailoverTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/NettyFailoverTestBase.java @@ -17,7 +17,6 @@ package org.apache.activemq.artemis.tests.integration.cluster.failover; import java.util.ArrayList; -import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -52,25 +51,18 @@ impor
(activemq-artemis) 01/06: ARTEMIS-4778: clean up configuration test heirarchy, remove hundreds of duplicate tests, isolate parameterized tests
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git commit 98e1389a6e9803554186e0b44cb0be58b9cff276 Author: Robbie Gemmell AuthorDate: Tue May 21 16:15:12 2024 +0100 ARTEMIS-4778: clean up configuration test heirarchy, remove hundreds of duplicate tests, isolate parameterized tests --- .../config/impl/AbstractConfigurationTestBase.java | 490 + .../core/config/impl/ConfigurationImplTest.java| 473 +--- .../config/impl/DefaultsFileConfigurationTest.java | 24 +- ...ConfigurationBrokerConnectionEncryptedTest.java | 34 +- .../impl/FileConfigurationDbEncryptedPassTest.java | 37 +- .../impl/FileConfigurationSecurityPluginTest.java | 37 +- .../core/config/impl/FileConfigurationTest.java| 41 +- .../config/impl/FileXIncludeConfigurationTest.java | 10 +- .../impl/FileXIncludeSchemaConfigurationTest.java | 16 +- 9 files changed, 632 insertions(+), 530 deletions(-) diff --git a/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/AbstractConfigurationTestBase.java b/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/AbstractConfigurationTestBase.java new file mode 100644 index 00..01babe492c --- /dev/null +++ b/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/AbstractConfigurationTestBase.java @@ -0,0 +1,490 @@ +/* + * 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.config.impl; + +import java.util.Properties; + +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.config.Configuration; +import org.apache.activemq.artemis.core.config.ha.PrimaryOnlyPolicyConfiguration; +import org.apache.activemq.artemis.core.config.routing.ConnectionRouterConfiguration; +import org.apache.activemq.artemis.core.server.JournalType; +import org.apache.activemq.artemis.core.server.plugin.impl.LoggingActiveMQServerPlugin; +import org.apache.activemq.artemis.core.server.routing.KeyType; +import org.apache.activemq.artemis.core.server.routing.policies.ConsistentHashModuloPolicy; +import org.apache.activemq.artemis.core.server.routing.policies.ConsistentHashPolicy; +import org.apache.activemq.artemis.tests.util.ServerTestBase; +import org.apache.activemq.artemis.utils.RandomUtil; +import org.junit.Before; + +public abstract class AbstractConfigurationTestBase extends ServerTestBase { + + protected Configuration conf; + + @Override + @Before + public void setUp() throws Exception { + super.setUp(); + + conf = createConfiguration(); + } + + protected abstract Configuration createConfiguration() throws Exception; + + // Utility method, not itself a test; call it from actual test method + public static void doSetGetAttributesTestImpl(Configuration configuration) throws Exception { + for (int j = 0; j < 100; j++) { + int i = RandomUtil.randomInt(); + configuration.setScheduledThreadPoolMaxSize(i); + assertEquals(i, configuration.getScheduledThreadPoolMaxSize()); + + long l = RandomUtil.randomLong(); + configuration.setSecurityInvalidationInterval(l); + assertEquals(l, configuration.getSecurityInvalidationInterval()); + + boolean b = RandomUtil.randomBoolean(); + configuration.setSecurityEnabled(b); + assertEquals(b, configuration.isSecurityEnabled()); + + String s = RandomUtil.randomString(); + configuration.setBindingsDirectory(s); + assertEquals(s, configuration.getBindingsDirectory()); + + b = RandomUtil.randomBoolean(); + configuration.setCreateBindingsDir(b); + assertEquals(b, configuration.isCreateBindingsDir()); + + s = RandomUtil.randomString(); + configuration.setJournalDirectory(s); + assertEquals(s, configuration.getJournalDirectory()); + + b = RandomUtil.randomBoolean(); + configuration.setCreateJournalDir(b); + assertEquals(b, configuration.isCreateJournalDir()); + + i = RandomUtil.randomInt() % 2
(activemq-artemis) 02/06: ARTEMIS-4778: replace various assertEquals checks with more apropriate assertTrue / assertFalse / assertNull
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git commit 3e20687cf3637a941c9199275ed6be51163dc6a8 Author: Robbie Gemmell AuthorDate: Tue May 21 16:15:51 2024 +0100 ARTEMIS-4778: replace various assertEquals checks with more apropriate assertTrue / assertFalse / assertNull --- .../activemq/ActiveMQXAConnectionFactoryTest.java| 2 +- .../apache/activemq/command/ActiveMQMessageTest.java | 2 +- .../conform/message/properties/JMSXPropertyTest.java | 8 .../properties/MessagePropertyConversionTest.java| 6 +++--- .../message/properties/MessagePropertyTest.java | 2 +- .../jtests/jms/conform/session/QueueSessionTest.java | 8 .../jtests/jms/conform/session/SessionTest.java | 20 ++-- .../jtests/jms/conform/session/TopicSessionTest.java | 4 ++-- 8 files changed, 26 insertions(+), 26 deletions(-) diff --git a/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/ActiveMQXAConnectionFactoryTest.java b/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/ActiveMQXAConnectionFactoryTest.java index 892125f744..286dd0d5c9 100644 --- a/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/ActiveMQXAConnectionFactoryTest.java +++ b/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/ActiveMQXAConnectionFactoryTest.java @@ -106,7 +106,7 @@ public class ActiveMQXAConnectionFactoryTest extends CombinationTestSupport { assertEquals(10, cf.getRedeliveryPolicy().getMaximumRedeliveries()); assertEquals(1, cf.getRedeliveryPolicy().getInitialRedeliveryDelay()); assertEquals(1, cf.getRedeliveryPolicy().getRedeliveryDelay()); - assertEquals(true, cf.getRedeliveryPolicy().isUseExponentialBackOff()); + assertTrue(cf.getRedeliveryPolicy().isUseExponentialBackOff()); assertEquals(2.0, cf.getRedeliveryPolicy().getBackOffMultiplier(), 0.1); // the broker url have been adjusted. diff --git a/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/command/ActiveMQMessageTest.java b/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/command/ActiveMQMessageTest.java index 706261adb2..c0cdb15962 100644 --- a/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/command/ActiveMQMessageTest.java +++ b/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/command/ActiveMQMessageTest.java @@ -531,7 +531,7 @@ public class ActiveMQMessageTest extends TestCase { assertEquals("Cheddar", msg.getStringProperty(name)); msg.setStringProperty(name, null); - assertEquals(null, msg.getStringProperty(name)); + assertNull(msg.getStringProperty(name)); } public void testSetNullPropertyName() throws JMSException { diff --git a/tests/joram-tests/src/test/java/org/objectweb/jtests/jms/conform/message/properties/JMSXPropertyTest.java b/tests/joram-tests/src/test/java/org/objectweb/jtests/jms/conform/message/properties/JMSXPropertyTest.java index 188d212022..c04451c618 100644 --- a/tests/joram-tests/src/test/java/org/objectweb/jtests/jms/conform/message/properties/JMSXPropertyTest.java +++ b/tests/joram-tests/src/test/java/org/objectweb/jtests/jms/conform/message/properties/JMSXPropertyTest.java @@ -91,7 +91,7 @@ public class JMSXPropertyTest extends PTPTestCase { // senderSession has been created as non transacted // we create it again but as a transacted session senderSession = senderConnection.createQueueSession(true, 0); - Assert.assertEquals(true, senderSession.getTransacted()); + Assert.assertTrue(senderSession.getTransacted()); // we create again the sender sender = senderSession.createSender(senderQueue); senderConnection.start(); @@ -100,7 +100,7 @@ public class JMSXPropertyTest extends PTPTestCase { // receiverSession has been created as non transacted // we create it again but as a transacted session receiverSession = receiverConnection.createQueueSession(true, 0); - Assert.assertEquals(true, receiverSession.getTransacted()); + Assert.assertTrue(receiverSession.getTransacted()); // we create again the receiver if (receiver != null) { receiver.close(); @@ -123,7 +123,7 @@ public class JMSXPropertyTest extends PTPTestCase { // ... which is the one which was sent... Assert.assertEquals("testJMSXDeliveryCount", msg.getText()); // ...and has not been redelivered - Assert.assertEquals(false, msg.getJMSRedelivered()); + Assert.assertFalse(msg.getJMSRedelivered()); // ... so it has been delivered once int jmsxDeliveryCount = msg.getIntProperty("JMSXDeliveryCount"); Assert.assertEquals(1, jmsxDeliveryCount); @@ -138,7 +138,7 @@ public class JMSXPr
(activemq-artemis) 03/06: ARTEMIS-4778: remove spawn check rule, not needed as the tests dont spawn
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git commit 243ea9aa01db65b4c9f1bdf1698dcb5569fa7ba6 Author: Robbie Gemmell AuthorDate: Tue May 21 16:16:08 2024 +0100 ARTEMIS-4778: remove spawn check rule, not needed as the tests dont spawn --- .../apache/activemq/artemis/amqpJMS/JoramAMQPAggregationTest.java | 6 -- .../org/apache/activemq/artemis/jms/JoramCoreAggregationTest.java | 5 - 2 files changed, 11 deletions(-) diff --git a/tests/joram-tests/src/test/java/org/apache/activemq/artemis/amqpJMS/JoramAMQPAggregationTest.java b/tests/joram-tests/src/test/java/org/apache/activemq/artemis/amqpJMS/JoramAMQPAggregationTest.java index a703e75b59..1c5f6a3c07 100644 --- a/tests/joram-tests/src/test/java/org/apache/activemq/artemis/amqpJMS/JoramAMQPAggregationTest.java +++ b/tests/joram-tests/src/test/java/org/apache/activemq/artemis/amqpJMS/JoramAMQPAggregationTest.java @@ -19,11 +19,9 @@ package org.apache.activemq.artemis.amqpJMS; import java.io.IOException; import java.util.Properties; -import org.apache.activemq.artemis.tests.rules.SpawnedVMCheck; import org.junit.AfterClass; import org.junit.Assert; import org.junit.BeforeClass; -import org.junit.Rule; import org.junit.runner.RunWith; import org.junit.runners.Suite; import org.junit.runners.Suite.SuiteClasses; @@ -53,10 +51,6 @@ import org.objectweb.jtests.jms.framework.JMSTestCase; @SuiteClasses({TopicConnectionTest.class, ConnectionTest.class, MessageBodyTest.class, MessageDefaultTest.class, MessageTypeTest.class, MessageHeaderTest.class, JMSXPropertyTest.class, MessagePropertyConversionTest.class, MessagePropertyTest.class, QueueBrowserTest.class, TemporaryQueueTest.class, SelectorSyntaxTest.class, SelectorTest.class, QueueSessionTest.class, SessionTest.class, TopicSessionTest.class, UnifiedSessionTest.class, TemporaryTopicTest.class,}) public class JoramAMQPAggregationTest extends Assert { - - @Rule - public SpawnedVMCheck check = new SpawnedVMCheck(); - /** * Should be overridden * diff --git a/tests/joram-tests/src/test/java/org/apache/activemq/artemis/jms/JoramCoreAggregationTest.java b/tests/joram-tests/src/test/java/org/apache/activemq/artemis/jms/JoramCoreAggregationTest.java index 9875b493db..7448b9ca04 100644 --- a/tests/joram-tests/src/test/java/org/apache/activemq/artemis/jms/JoramCoreAggregationTest.java +++ b/tests/joram-tests/src/test/java/org/apache/activemq/artemis/jms/JoramCoreAggregationTest.java @@ -19,11 +19,9 @@ package org.apache.activemq.artemis.jms; import java.io.IOException; import java.util.Properties; -import org.apache.activemq.artemis.tests.rules.SpawnedVMCheck; import org.junit.AfterClass; import org.junit.Assert; import org.junit.BeforeClass; -import org.junit.Rule; import org.junit.runner.RunWith; import org.junit.runners.Suite; import org.junit.runners.Suite.SuiteClasses; @@ -53,9 +51,6 @@ import org.objectweb.jtests.jms.framework.JMSTestCase; @SuiteClasses({TopicConnectionTest.class, ConnectionTest.class, MessageBodyTest.class, MessageDefaultTest.class, MessageTypeTest.class, MessageHeaderTest.class, JMSXPropertyTest.class, MessagePropertyConversionTest.class, MessagePropertyTest.class, QueueBrowserTest.class, TemporaryQueueTest.class, SelectorSyntaxTest.class, SelectorTest.class, QueueSessionTest.class, SessionTest.class, TopicSessionTest.class, UnifiedSessionTest.class, TemporaryTopicTest.class,}) public class JoramCoreAggregationTest extends Assert { - @Rule - public SpawnedVMCheck check = new SpawnedVMCheck(); - /** * Should be overridden *
(activemq-artemis) 04/06: ARTEMIS-4778: split two Nested test classes (one parameterized, other not) into their own class files
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git commit 3c84f26413bf140244beda32eb46dc5559cecf08 Author: Robbie Gemmell AuthorDate: Tue May 21 16:17:55 2024 +0100 ARTEMIS-4778: split two Nested test classes (one parameterized, other not) into their own class files --- .../amqp/AmqpFlowControlFailDispositionTests.java | 103 .../amqp/AmqpFlowControlFailOrdinaryTests.java | 94 +++ .../integration/amqp/AmqpFlowControlFailTest.java | 175 - 3 files changed, 197 insertions(+), 175 deletions(-) diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpFlowControlFailDispositionTests.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpFlowControlFailDispositionTests.java new file mode 100644 index 00..484386aed6 --- /dev/null +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpFlowControlFailDispositionTests.java @@ -0,0 +1,103 @@ +/* + * 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.tests.integration.amqp; + +import org.apache.activemq.artemis.core.server.ActiveMQServer; +import org.apache.activemq.artemis.core.settings.impl.AddressFullMessagePolicy; +import org.apache.activemq.artemis.core.settings.impl.AddressSettings; +import org.apache.activemq.transport.amqp.client.AmqpClient; +import org.apache.activemq.transport.amqp.client.AmqpConnection; +import org.apache.activemq.transport.amqp.client.AmqpMessage; +import org.apache.activemq.transport.amqp.client.AmqpSender; +import org.apache.activemq.transport.amqp.client.AmqpSession; +import org.apache.qpid.proton.amqp.Symbol; +import org.apache.qpid.proton.amqp.messaging.Accepted; +import org.apache.qpid.proton.amqp.messaging.Modified; +import org.apache.qpid.proton.amqp.messaging.Rejected; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; + +import java.io.IOException; +import java.util.Arrays; +import java.util.Collection; +import java.util.Map; + +@RunWith(Parameterized.class) +public class AmqpFlowControlFailDispositionTests extends JMSClientTestSupport { + + @Parameterized.Parameter() + public boolean useModified; + + @Parameterized.Parameter(1) + public Symbol[] outcomes; + + @Parameterized.Parameter(2) + public String expectedMessage; + + @Parameterized.Parameters(name = "useModified={0}") + public static Collection parameters() { + return Arrays.asList(new Object[][] { +{true, new Symbol[]{Accepted.DESCRIPTOR_SYMBOL, Rejected.DESCRIPTOR_SYMBOL, Modified.DESCRIPTOR_SYMBOL}, "failure at remote"}, +{true, new Symbol[]{Accepted.DESCRIPTOR_SYMBOL, Rejected.DESCRIPTOR_SYMBOL}, "[condition = amqp:resource-limit-exceeded]"}, +{false, new Symbol[]{Accepted.DESCRIPTOR_SYMBOL, Rejected.DESCRIPTOR_SYMBOL, Modified.DESCRIPTOR_SYMBOL}, "[condition = amqp:resource-limit-exceeded]"}, +{false, new Symbol[]{}, "[condition = amqp:resource-limit-exceeded]"} + }); + } + + @Override + protected void configureAddressPolicy(ActiveMQServer server) { + AddressSettings addressSettings = server.getAddressSettingsRepository().getMatch("#"); + addressSettings.setAddressFullMessagePolicy(AddressFullMessagePolicy.FAIL); + addressSettings.setMaxSizeBytes(1000); + server.getAddressSettingsRepository().addMatch("#", addressSettings); + } + + @Override + protected void configureAMQPAcceptorParameters(Map params) { + params.put("amqpUseModifiedForTransientDeliveryErrors", useModified); + } + + + @Test(timeout = 10_000) + public void testAddressFullDisposition() throws Exception { + AmqpClient client = createAmqpClient(getBrokerAmqpConnectionURI()); + AmqpConnection connection = client.connect(); + try { + AmqpSession session = connection.createSession(); + AmqpSen
(activemq-artemis) 06/06: ARTEMIS-4778: rework tests manipulating Xxe config so it is reset after class, and not updated at all for skipped tests
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git commit f64d9184066f33a08bf04d6ce75a7649af17b87e Author: Robbie Gemmell AuthorDate: Tue May 21 16:18:38 2024 +0100 ARTEMIS-4778: rework tests manipulating Xxe config so it is reset after class, and not updated at all for skipped tests --- .../activemq/artemis/utils/XmlProviderTest.java| 41 ++- .../core/config/impl/FileConfigurationTest.java| 61 ++ .../config/impl/FileXIncludeConfigurationTest.java | 18 --- .../impl/FileXIncludeSchemaConfigurationTest.java | 18 --- 4 files changed, 115 insertions(+), 23 deletions(-) diff --git a/artemis-commons/src/test/java/org/apache/activemq/artemis/utils/XmlProviderTest.java b/artemis-commons/src/test/java/org/apache/activemq/artemis/utils/XmlProviderTest.java index 989ae50f6e..86ce633949 100644 --- a/artemis-commons/src/test/java/org/apache/activemq/artemis/utils/XmlProviderTest.java +++ b/artemis-commons/src/test/java/org/apache/activemq/artemis/utils/XmlProviderTest.java @@ -21,30 +21,67 @@ import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamSource; import javax.xml.validation.Validator; import java.io.File; +import java.lang.invoke.MethodHandles; import java.util.Arrays; import java.util.Collection; import java.util.HashMap; import java.util.Map; +import org.apache.activemq.artemis.tests.util.ArtemisTestCase; +import org.junit.AfterClass; import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; @RunWith(Parameterized.class) -public class XmlProviderTest { +public class XmlProviderTest extends ArtemisTestCase { + + private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); + + private static Boolean origXxeEnabled; + + protected boolean xxeEnabled; @Parameterized.Parameters(name = "xxeEnabled={0}") public static Collection getParameters() { return Arrays.asList(new Boolean[]{true, false}); } - public XmlProviderTest(boolean xxeEnabled) { + @BeforeClass + public static void beforeAll() { + if (origXxeEnabled == null) { + origXxeEnabled = XmlProvider.isXxeEnabled(); + } + + logger.trace("BeforeAll - origXxeEnabled={}, isXxeEnabled={}", origXxeEnabled, XmlProvider.isXxeEnabled()); + } + + @AfterClass + public static void afterAll() { + logger.trace("AfterAll - origXxeEnabled={}, isXxeEnabled={} ", origXxeEnabled, XmlProvider.isXxeEnabled()); + if (origXxeEnabled != null) { + logger.trace("AfterAll - Resetting XxeEnabled={}", origXxeEnabled); + XmlProvider.setXxeEnabled(origXxeEnabled); + } + } + + @Before + public void setUp() { + logger.trace("Running setUp - xxeEnabled={}", xxeEnabled); XmlProvider.setXxeEnabled(xxeEnabled); } + public XmlProviderTest(boolean xxeEnabled) { + this.xxeEnabled = xxeEnabled; + } + @Test public void testDocument() throws Exception { DocumentBuilder documentBuilder = XmlProvider.newDocumentBuilder(); 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 214b6e7b65..f9d4958336 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 @@ -24,6 +24,7 @@ import java.nio.file.Path; import java.nio.file.StandardCopyOption; import java.util.Arrays; import java.util.Collection; +import java.lang.invoke.MethodHandles; import java.util.Collections; import java.util.HashSet; import java.util.List; @@ -76,39 +77,81 @@ import org.apache.activemq.artemis.logs.AssertionLoggerHandler; import org.apache.activemq.artemis.utils.RandomUtil; import org.apache.activemq.artemis.utils.XmlProvider; import org.apache.activemq.artemis.utils.critical.CriticalAnalyzerPolicy; +import org.junit.After; import org.junit.AfterClass; import org.junit.Assert; +import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; @RunWith(Parameterized.class) public class FileConfigurationTest extends AbstractConfigurationTestBase { + private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupCla
(activemq-artemis) branch main updated: ARTEMIS-3622 MQTT can deadlock on client cxn/discxn
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 3c058e98f1 ARTEMIS-3622 MQTT can deadlock on client cxn/discxn 3c058e98f1 is described below commit 3c058e98f1e332987aff026e4026758df6ca2785 Author: Justin Bertram AuthorDate: Tue Apr 30 08:08:37 2024 -0500 ARTEMIS-3622 MQTT can deadlock on client cxn/discxn This commit fixes the deadlock described on ARTEMIS-3622 by moving the synchronization "up" a level from the MQTTSession to the MQTTConnectionManager. It also eliminates the synchronization on the MQTTSessionState in the MQTTConnectionManager because it's no longer needed. This change should not only eliminate the deadlock, but improve performance relatively as well. There is no test associated with this commit as I wasn't able to reproduce the deadlock with any kind of straight-forward test. There was a test linked on the Jira, but it involved intrusive and fragile scaffolding and wasn't ultimately tenable. That said, I did test this fix with that test and it was successful. In any case, I think static analysis should be sufficient here as the changes are pretty straight-forward. --- .../core/protocol/mqtt/MQTTConnectionManager.java | 142 ++--- .../artemis/core/protocol/mqtt/MQTTSession.java| 13 +- 2 files changed, 77 insertions(+), 78 deletions(-) diff --git a/artemis-protocols/artemis-mqtt-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/mqtt/MQTTConnectionManager.java b/artemis-protocols/artemis-mqtt-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/mqtt/MQTTConnectionManager.java index eecc76166d..cedd8153c5 100644 --- a/artemis-protocols/artemis-mqtt-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/mqtt/MQTTConnectionManager.java +++ b/artemis-protocols/artemis-mqtt-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/mqtt/MQTTConnectionManager.java @@ -51,7 +51,7 @@ public class MQTTConnectionManager { session.getConnection().addFailureListener(failureListener); } - void connect(MqttConnectMessage connect, String validatedUser, String username, String password) throws Exception { + synchronized void connect(MqttConnectMessage connect, String validatedUser, String username, String password) throws Exception { if (session.getVersion() == MQTTVersion.MQTT_5) { session.getConnection().setProtocolVersion(Byte.toString(MqttVersion.MQTT_5.protocolLevel())); String authenticationMethod = MQTTUtil.getProperty(String.class, connect.variableHeader().properties(), AUTHENTICATION_METHOD); @@ -68,67 +68,65 @@ public class MQTTConnectionManager { String clientId = session.getConnection().getClientID(); boolean sessionPresent = session.getStateManager().getSessionStates().containsKey(clientId); - MQTTSessionState sessionState = getSessionState(clientId); - synchronized (sessionState) { - session.setSessionState(sessionState); - sessionState.setFailed(false); - ServerSessionImpl serverSession = createServerSession(username, password, validatedUser); - serverSession.start(); - ServerSessionImpl internalServerSession = createServerSession(username, password, validatedUser); - internalServerSession.disableSecurity(); - internalServerSession.start(); - session.setServerSession(serverSession, internalServerSession); - - if (cleanStart) { -/* [MQTT-3.1.2-6] If CleanSession is set to 1, the Client and Server MUST discard any previous Session and - * start a new one. This Session lasts as long as the Network Connection. State data associated with this Session - * MUST NOT be reused in any subsequent Session */ -session.clean(true); -session.setClean(true); - } + MQTTSessionState sessionState = session.getStateManager().getSessionState(clientId); + session.setSessionState(sessionState); + sessionState.setFailed(false); + ServerSessionImpl serverSession = createServerSession(username, password, validatedUser); + serverSession.start(); + ServerSessionImpl internalServerSession = createServerSession(username, password, validatedUser); + internalServerSession.disableSecurity(); + internalServerSession.start(); + session.setServerSession(serverSession, internalServerSession); + + if (cleanStart) { + /* [MQTT-3.1.2-6] If CleanSession is set to 1, the Client and Server MUST discard any previous Session and + * start a new one. This Session lasts as long as the Network Connection. State data associated with this Session + * MUST NOT be reused in any subseque
(activemq-artemis) branch main updated: ARTEMIS-4772: fix build failure from modified PR #4935 commit f7b15e351ef712213e0db1d072a2f0ce84f7bb8e
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 3474a39301 ARTEMIS-4772: fix build failure from modified PR #4935 commit f7b15e351ef712213e0db1d072a2f0ce84f7bb8e 3474a39301 is described below commit 3474a393010feb6207c66277dfffa6635ed58166 Author: Robbie Gemmell AuthorDate: Tue May 21 10:39:47 2024 +0100 ARTEMIS-4772: fix build failure from modified PR #4935 commit f7b15e351ef712213e0db1d072a2f0ce84f7bb8e --- .../artemis/core/management/impl/ActiveMQServerControlImpl.java | 2 -- 1 file changed, 2 deletions(-) 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 ee31b5186f..895ead7c69 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 @@ -49,7 +49,6 @@ import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicReference; -import java.util.function.Function; import java.util.stream.Collectors; import org.apache.activemq.artemis.api.config.ActiveMQDefaultConfiguration; @@ -126,7 +125,6 @@ import org.apache.activemq.artemis.core.server.group.GroupingHandler; import org.apache.activemq.artemis.core.server.impl.Activation; import org.apache.activemq.artemis.core.server.impl.AddressInfo; import org.apache.activemq.artemis.core.server.impl.SharedNothingPrimaryActivation; -import org.apache.activemq.artemis.core.server.plugin.ActiveMQServerBasePlugin; import org.apache.activemq.artemis.core.server.replay.ReplayManager; import org.apache.activemq.artemis.core.settings.impl.AddressFullMessagePolicy; import org.apache.activemq.artemis.core.settings.impl.AddressSettings;
(activemq-artemis-console) 01/02: ARTEMIS-4680 - Upgrade the console to use HawtIO 4
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis-console.git commit 39ede8153dd5943e59891be8fa3be814ce175c02 Author: Andy Taylor AuthorDate: Fri May 10 10:05:30 2024 +0100 ARTEMIS-4680 - Upgrade the console to use HawtIO 4 Some general tidying up, adding ids and a few fixes --- .../src/artemis-extension/artemis/artemis-service.ts | 2 +- .../src/artemis-extension/artemis/messages/MessageView.tsx | 4 ++-- .../src/artemis-extension/artemis/messages/MessagesTable.tsx | 7 +-- .../src/artemis-extension/artemis/queues/QueuesTable.tsx | 2 +- .../src/artemis-extension/artemis/table/ArtemisTable.tsx | 6 +++--- .../src/artemis-extension/artemis/views/ArtemisTabView.tsx | 2 +- artemis-console-extension/pom.xml | 10 -- pom.xml| 2 -- 8 files changed, 21 insertions(+), 14 deletions(-) diff --git a/artemis-console-extension/artemis-extension/src/artemis-extension/artemis/artemis-service.ts b/artemis-console-extension/artemis-extension/src/artemis-extension/artemis/artemis-service.ts index 5f4a4a7..21f37e5 100644 --- a/artemis-console-extension/artemis-extension/src/artemis-extension/artemis/artemis-service.ts +++ b/artemis-console-extension/artemis-extension/src/artemis-extension/artemis/artemis-service.ts @@ -413,7 +413,7 @@ class ArtemisService { return this.formatPersistentSize(size); } if (columnID === "originalQueue" && message["StringProperties"]) { -const originalQueue = message["StringProperties"]._AMQ_ORIG_QUEUE; +var originalQueue = message["StringProperties"]._AMQ_ORIG_QUEUE != null ? message["StringProperties"]._AMQ_ORIG_QUEUE : message["StringProperties"]["extraProperties._AMQ_ORIG_QUEUE"] return originalQueue ? originalQueue : ""; } return message[columnID] ? "" + message[columnID] : ""; diff --git a/artemis-console-extension/artemis-extension/src/artemis-extension/artemis/messages/MessageView.tsx b/artemis-console-extension/artemis-extension/src/artemis-extension/artemis/messages/MessageView.tsx index 59fe57b..29300ab 100644 --- a/artemis-console-extension/artemis-extension/src/artemis-extension/artemis/messages/MessageView.tsx +++ b/artemis-console-extension/artemis-extension/src/artemis-extension/artemis/messages/MessageView.tsx @@ -225,8 +225,8 @@ export const MessageView: React.FunctionComponent = props => { {props.back && -<> { if (props.back) { props.back(0); } } }>Queues - { if (props.back) { props.back(1); } }}>Browse +<> { if (props.back) { props.back(0); } } }>Queues + { if (props.back) { props.back(1); } }}>Browse } ) diff --git a/artemis-console-extension/artemis-extension/src/artemis-extension/artemis/messages/MessagesTable.tsx b/artemis-console-extension/artemis-extension/src/artemis-extension/artemis/messages/MessagesTable.tsx index d0d7d7b..f0cd6a7 100644 --- a/artemis-console-extension/artemis-extension/src/artemis-extension/artemis/messages/MessagesTable.tsx +++ b/artemis-console-extension/artemis-extension/src/artemis-extension/artemis/messages/MessagesTable.tsx @@ -113,6 +113,7 @@ export const MessagesTable: React.FunctionComponent = props => { return [ { title: 'Delete', +id: 'message-dropdown-delete', onClick: () => { setSelectedMessages([row.messageID]); setShowDeleteMessagesModal(true); @@ -120,12 +121,14 @@ export const MessagesTable: React.FunctionComponent = props => { }, { title: 'View', +id: 'message-dropdown-view', onClick: () => { if (props.selectMessage) { props.selectMessage(row); } } }, { title: 'Resend', +id: 'message-dropdown-resend', onClick: () => { if (props.selectMessage) { setResendMessage(row); @@ -260,7 +263,7 @@ export const MessagesTable: React.FunctionComponent = props => { - + @@ -316,7 +319,7 @@ export const MessagesTable: React.FunctionComponent = props => { }} /> {props.back && - { if (props.back) { props.back(0) } }}>Queues + { if (props.back) { props.back(0) } }}>Queues } = navigate => { { id: 'maxConsumers', name: 'Max Consumers', visible: true, sortable: true, filterable: true }, { id: 'purgeOnNoConsumers', name: 'Purge On No Consumers', visible: true, sortable: true, filterable: true },
(activemq-artemis-console) 02/02: ARTEMIS-4680 - Upgrade the console to use HawtIO 4
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis-console.git commit 2deba43bdcf9c2cb77936fe856e9b173cee3ddbc Author: Andy Taylor AuthorDate: Wed May 15 11:06:14 2024 +0100 ARTEMIS-4680 - Upgrade the console to use HawtIO 4 Update HawtIO dependency --- .../artemis-extension/package.json | 2 +- .../artemis-extension/yarn.lock| 177 +++-- 2 files changed, 96 insertions(+), 83 deletions(-) diff --git a/artemis-console-extension/artemis-extension/package.json b/artemis-console-extension/artemis-extension/package.json index 309eebb..2eca436 100644 --- a/artemis-console-extension/artemis-extension/package.json +++ b/artemis-console-extension/artemis-extension/package.json @@ -12,7 +12,7 @@ "replace-version": "replace __PACKAGE_VERSION_PLACEHOLDER__ $npm_package_version ./build/static/js -r --include=\"*.js\"" }, "dependencies": { -"@hawtio/react": "^1.2.2", +"@hawtio/react": "1.2.5", "@patternfly/react-charts": "^7.1.1", "@patternfly/react-core": "^4.278.0", "@patternfly/react-icons": "^4.93.5", diff --git a/artemis-console-extension/artemis-extension/yarn.lock b/artemis-console-extension/artemis-extension/yarn.lock index 3ff70e3..f5b1b2c 100644 --- a/artemis-console-extension/artemis-extension/yarn.lock +++ b/artemis-console-extension/artemis-extension/yarn.lock @@ -2285,32 +2285,32 @@ __metadata: languageName: node linkType: hard -"@hawtio/react@npm:^1.2.2": - version: 1.2.2 - resolution: "@hawtio/react@npm:1.2.2" +"@hawtio/react@npm:1.2.5": + version: 1.2.5 + resolution: "@hawtio/react@npm:1.2.5" dependencies: "@hawtio/camel-model-v4_0": "npm:@hawtio/camel-model@~4.0.4" "@hawtio/camel-model-v4_4": "npm:@hawtio/camel-model@~4.4.0" -"@module-federation/utilities": ^3.0.7 +"@module-federation/utilities": ^3.0.11 "@patternfly/react-charts": ~6.94.21 "@patternfly/react-code-editor": ~4.82.122 "@patternfly/react-core": ~4.278.1 "@patternfly/react-table": ~4.113.7 "@testing-library/jest-dom": ^6.4.2 -"@testing-library/react": ^14.3.0 +"@testing-library/react": ^15.0.2 "@testing-library/user-event": ^14.5.2 "@thumbmarkjs/thumbmarkjs": ^0.14.6 "@types/dagre": ^0.7.52 "@types/dagre-layout": ^0.8.5 "@types/jest": ^29.5.12 "@types/jquery": ^3.5.29 -"@types/node": ^18.19.30 +"@types/node": ^18.19.31 "@types/react": ^18.2.23 -"@types/react-dom": ^18.2.24 +"@types/react-dom": ^18.2.25 "@types/react-router-dom": ^5.3.3 dagre: ^0.8.5 eventemitter3: ^5.0.1 -jolokia.js: ^2.0.0 +jolokia.js: ^2.0.1 jquery: ^3.7.1 js-logger: ^1.6.1 jwt-decode: ^4.0.0 @@ -2323,7 +2323,7 @@ __metadata: react-monaco-editor: ^0.55.0 react-router-dom: ^6.22.3 react-split: ^2.0.14 -reactflow: ^11.11.0 +reactflow: ^11.11.1 superstruct: ^1.0.4 typescript: ^5.3.3 xml-formatter: ^3.6.2 @@ -2335,7 +2335,7 @@ __metadata: peerDependenciesMeta: keycloak-js: optional: true - checksum: d133fb5b70700fe6cd6012ee087f7c500bf94c6e359db119e5e3fdc7da6a2136a2963dfaa822a26295076b00fbb3466f339def9fc7556feb27b8cf1e32144f7a + checksum: 5a87b939b22d828eb829cc44cdf5eaf044b6eaa7077ece86433500af7cf45b82296ef67ac840c944cfd8dba963ea0d1d1c229d461ae1f5032b39f3de0015b07c languageName: node linkType: hard @@ -2823,18 +2823,18 @@ __metadata: languageName: node linkType: hard -"@module-federation/sdk@npm:0.1.4": - version: 0.1.4 - resolution: "@module-federation/sdk@npm:0.1.4" - checksum: 7a8758172654eb5a536d40c89032391ad0552e77aaa769d1ab46e1fa27e752bd3e445c164de23b2497407131304d6b9dc2e905aefd36e85f877ae8ffb7380e4c +"@module-federation/sdk@npm:0.1.13": + version: 0.1.13 + resolution: "@module-federation/sdk@npm:0.1.13" + checksum: 5c5ca369f1fad768722ae79786b6396975164a6623cf0182126260b2e1a93978fce3b3d565aefd56a69bfe72e51f3100d1a3a4b6d8a790b7c1c1e866745e03f7 languageName: node linkType: hard -"@module-federation/utilities@npm:^3.0.7": - version: 3.0.9 - resolution: "@module-federation/utilities@npm:3.0.9" +"@module-federation/utilities@npm:^3.0.11": + version: 3.0.18 + resolution: "@module-federation/utilities@npm:3.0.18" dependencies: -"@module-federation/sdk": 0.1.4 +"@module-fed
(activemq-artemis-console) branch main updated (930a7d5 -> 2deba43)
This is an automated email from the ASF dual-hosted git repository. robbie pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis-console.git from 930a7d5 ARTEMIS-4680 - Upgrade the console to use HawtIO 4 new 39ede81 ARTEMIS-4680 - Upgrade the console to use HawtIO 4 new 2deba43 ARTEMIS-4680 - Upgrade the console to use HawtIO 4 The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../artemis-extension/package.json | 2 +- .../artemis-extension/artemis/artemis-service.ts | 2 +- .../artemis/messages/MessageView.tsx | 4 +- .../artemis/messages/MessagesTable.tsx | 7 +- .../artemis/queues/QueuesTable.tsx | 2 +- .../artemis/table/ArtemisTable.tsx | 6 +- .../artemis/views/ArtemisTabView.tsx | 2 +- .../artemis-extension/yarn.lock| 177 +++-- artemis-console-extension/pom.xml | 10 +- pom.xml| 2 - 10 files changed, 117 insertions(+), 97 deletions(-)
(activemq-artemis) 01/02: ARTEMIS-4769: update to pem-keystore 2.4.0
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git commit daf37ab0e194607e5afcc430b1723251af23339a Author: Robbie Gemmell AuthorDate: Fri May 10 10:55:21 2024 +0100 ARTEMIS-4769: update to pem-keystore 2.4.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 86ef43c496..c9370141cf 100644 --- a/pom.xml +++ b/pom.xml @@ -118,7 +118,7 @@ 5.6.0 3.9.1 4.4.0 - 2.3.0 + 2.4.0
(activemq-artemis) 02/02: ARTEMIS-4770: Upgrade BouncyCastle to 1.78
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git commit 77076452f29799b2e6d36e21b1c433f1334c6bd6 Author: Frederico Alves <5428003+fredbal...@users.noreply.github.com> AuthorDate: Wed May 8 10:11:17 2024 +0100 ARTEMIS-4770: Upgrade BouncyCastle to 1.78 This closes #4927 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c9370141cf..6e68a39b15 100644 --- a/pom.xml +++ b/pom.xml @@ -252,7 +252,7 @@ 2.0.0.AM25 2.0.0-M1 - 1.77 + 1.78 linux-x86_64 osx-x86_64
(activemq-artemis) branch main updated (cd563b49ad -> 77076452f2)
This is an automated email from the ASF dual-hosted git repository. robbie pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git from cd563b49ad ARTEMIS-4765 DuplicateIDCache on Mirror Target is using 20K elements instead of amqpCredits new daf37ab0e1 ARTEMIS-4769: update to pem-keystore 2.4.0 new 77076452f2 ARTEMIS-4770: Upgrade BouncyCastle to 1.78 The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
(activemq-artemis) branch main updated (d7a7116a4c -> b209dd013d)
This is an automated email from the ASF dual-hosted git repository. robbie pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git from d7a7116a4c ARTEMIS-4754 Structure the names used for federation internal queues add b209dd013d ARTEMIS-1769 mitigate null No new revisions were added by this update. Summary of changes: .../apache/activemq/artemis/core/management/impl/view/SessionView.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
(activemq-artemis) branch main updated: ARTEMIS-4754 Structure the names used for federation internal queues
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new d7a7116a4c ARTEMIS-4754 Structure the names used for federation internal queues d7a7116a4c is described below commit d7a7116a4c31bdd830e66f54240b7204a83101ae Author: Timothy Bish AuthorDate: Wed May 1 16:39:23 2024 -0400 ARTEMIS-4754 Structure the names used for federation internal queues When creating internal temporary queues for the federation control links and the events link we should use a structured naming convention to ease in configuring security for the federation user where all internal names fall under a root prefix which can be used to grant read and write access for the federation user. This change allows security on the wildcarded address "$ACTIVEMQ_ARTEMIS_FEDERATION.#". This change also includes some further restrictions added to federation resources and adds support for wildcarding '$' prefixed addresses. --- .../protocol/amqp/broker/AMQPSessionCallback.java | 21 +- .../amqp/connect/federation/AMQPFederation.java| 48 .../AMQPFederationCommandDispatcher.java | 25 +- .../federation/AMQPFederationConstants.java| 37 ++- .../federation/AMQPFederationEventDispatcher.java | 19 +- .../amqp/proton/AMQPConnectionContext.java | 4 +- .../activemq/artemis/core/settings/impl/Match.java | 5 + .../artemis/core/settings/impl/MatchTest.java | 23 ++ .../amqp/connect/AMQPFederationConnectTest.java| 265 - 9 files changed, 412 insertions(+), 35 deletions(-) diff --git a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/AMQPSessionCallback.java b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/AMQPSessionCallback.java index c67cac0a1d..4612f7873b 100644 --- a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/AMQPSessionCallback.java +++ b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/AMQPSessionCallback.java @@ -263,15 +263,32 @@ public class AMQPSessionCallback implements SessionCallback { } public void createTemporaryQueue(SimpleString queueName, RoutingType routingType) throws Exception { - createTemporaryQueue(queueName, queueName, routingType, null); + createTemporaryQueue(queueName, queueName, routingType, null, null); + } + + public void createTemporaryQueue(SimpleString queueName, RoutingType routingType, Integer maxConsumers) throws Exception { + createTemporaryQueue(queueName, queueName, routingType, null, maxConsumers); } public void createTemporaryQueue(SimpleString address, SimpleString queueName, RoutingType routingType, SimpleString filter) throws Exception { + createTemporaryQueue(address, queueName, routingType, filter, null); + } + + public void createTemporaryQueue(SimpleString address, +SimpleString queueName, +RoutingType routingType, +SimpleString filter, +Integer maxConsumers) throws Exception { try { - serverSession.createQueue(new QueueConfiguration(queueName).setAddress(address).setRoutingType(routingType).setFilterString(filter).setTemporary(true).setDurable(false)); + serverSession.createQueue(new QueueConfiguration(queueName).setAddress(address) + .setRoutingType(routingType) + .setFilterString(filter) + .setTemporary(true) + .setDurable(false) + .setMaxConsumers(maxConsumers)); } catch (ActiveMQSecurityException se) { throw ActiveMQAMQPProtocolMessageBundle.BUNDLE.securityErrorCreatingTempDestination(se.getMessage()); } diff --git a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederation.java b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederation.java index 1f3c818155..891e264111 100644 --- a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederation.java +++
(activemq-artemis-console) branch main updated: ARTEMIS-4680 - Upgrade the console to use HawtIO 4
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis-console.git The following commit(s) were added to refs/heads/main by this push: new 930a7d5 ARTEMIS-4680 - Upgrade the console to use HawtIO 4 930a7d5 is described below commit 930a7d549e0868df650a3cd35c05b64dc6d4b448 Author: Andy Taylor AuthorDate: Thu May 2 12:00:02 2024 +0100 ARTEMIS-4680 - Upgrade the console to use HawtIO 4 more upgrades to components in extension --- .../artemis-extension/package.json | 8 +- .../artemis-extension/yarn.lock| 125 + 2 files changed, 34 insertions(+), 99 deletions(-) diff --git a/artemis-console-extension/artemis-extension/package.json b/artemis-console-extension/artemis-extension/package.json index 82a7b89..309eebb 100644 --- a/artemis-console-extension/artemis-extension/package.json +++ b/artemis-console-extension/artemis-extension/package.json @@ -49,7 +49,13 @@ "victory-shared-events": "36.8.6", "victory-voronoi-container": "36.8.6", "victory-zoom-container": "36.8.6", -"fork-ts-checker-webpack-plugin": "6.5.3" +"fork-ts-checker-webpack-plugin": "6.5.3", +"d3-color": "3.1.0", +"nth-check": "2.0.1", +"tough-cookie": "4.1.3", +"semver": "7.5.2", +"word-wrap": "1.2.4", +"postcss": "8.4.31" }, "eslintConfig": { "extends": [ diff --git a/artemis-console-extension/artemis-extension/yarn.lock b/artemis-console-extension/artemis-extension/yarn.lock index c7772ea..3ff70e3 100644 --- a/artemis-console-extension/artemis-extension/yarn.lock +++ b/artemis-console-extension/artemis-extension/yarn.lock @@ -6109,7 +6109,7 @@ __metadata: languageName: node linkType: hard -"boolbase@npm:^1.0.0, boolbase@npm:~1.0.0": +"boolbase@npm:^1.0.0": version: 1.0.0 resolution: "boolbase@npm:1.0.0" checksum: 3e25c80ef626c3a3487c73dbfc70ac322ec830666c9ad915d11b701142fab25ec1e63eff2c450c74347acfd2de854ccde865cd79ef4db1683f7c7b046ea43bb0 @@ -7258,14 +7258,7 @@ __metadata: languageName: node linkType: hard -"d3-color@npm:1": - version: 1.4.1 - resolution: "d3-color@npm:1.4.1" - checksum: a214b61458b5fcb7ad1a84faed0e02918037bab6be37f2d437bf0e2915cbd854d89fbf93754f17b0781c89e39d46704633d05a2bfae77e6209f0f4b140f9894b - languageName: node - linkType: hard - -"d3-color@npm:1 - 3": +"d3-color@npm:3.1.0": version: 3.1.0 resolution: "d3-color@npm:3.1.0" checksum: 4931fbfda5d7c4b5cfa283a13c91a954f86e3b69d75ce588d06cde6c3628cebfc3af2069ccf225e982e8987c612aa7948b3932163ce15eb3c11cd7c003f3ee3b @@ -12866,12 +12859,12 @@ __metadata: languageName: node linkType: hard -"nanoid@npm:^3.3.4": - version: 3.3.4 - resolution: "nanoid@npm:3.3.4" +"nanoid@npm:^3.3.6": + version: 3.3.7 + resolution: "nanoid@npm:3.3.7" bin: nanoid: bin/nanoid.cjs - checksum: 2fddd6dee994b7676f008d3ffa4ab16035a754f4bb586c61df5a22cf8c8c94017aadd360368f47d653829e0569a92b129979152ff97af23a558331e47e37cd9c + checksum: d36c427e530713e4ac6567d488b489a36582ef89da1d6d4e3b87eded11eb10d7042a877958c6f104929809b2ab0bafa17652b076cdf84324aa75b30b722204f2 languageName: node linkType: hard @@ -13051,21 +13044,12 @@ __metadata: languageName: node linkType: hard -"nth-check@npm:^1.0.2": - version: 1.0.2 - resolution: "nth-check@npm:1.0.2" - dependencies: -boolbase: ~1.0.0 - checksum: 59e115fdd75b971d0030f42ada3aac23898d4c03aa13371fa8b3339d23461d1badf3fde5aad251fb956aaa75c0a3b9bfcd07c08a34a83b4f9dadfdce1d19337c - languageName: node - linkType: hard - -"nth-check@npm:^2.0.1": - version: 2.1.1 - resolution: "nth-check@npm:2.1.1" +"nth-check@npm:2.0.1": + version: 2.0.1 + resolution: "nth-check@npm:2.0.1" dependencies: boolbase: ^1.0.0 - checksum: 5afc3dafcd1573b08877ca8e6148c52abd565f1d06b1eb08caf982e3fa289a82f2cae697ffb55b5021e146d60443f1590a5d6b944844e944714a5b549675bcd3 + checksum: 5386d035c48438ff304fe687704d93886397349d1bed136de97aeae464caba10e8ffac55a04b215b86b3bc8897f33e0a5aa1045a9d8b2f251ae61b2a3ad3e450 languageName: node linkType: hard @@ -13514,13 +13498,6 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^0.2.1": - version: 0.2.1 - resolution: "picocolors@npm:0.2.1" - checksum: 3b0f441f0062def0c0f39e87b898ae7461c3a16ffc9f974f320b44c799418cabff17780ee647fda42b856a1dc45897e2c62047e1b546d94d6d5c6962f45427
(activemq-artemis-console) branch main updated: ARTEMIS-4680 - Upgrade the console to use HawtIO 4
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis-console.git The following commit(s) were added to refs/heads/main by this push: new c86fbdf ARTEMIS-4680 - Upgrade the console to use HawtIO 4 c86fbdf is described below commit c86fbdfd440184d220b6365448629d9295381418 Author: Andy Taylor AuthorDate: Thu May 2 10:31:48 2024 +0100 ARTEMIS-4680 - Upgrade the console to use HawtIO 4 upgrade components in extension https://issues.apache.org/jira/browse/ARTEMIS-4680 --- .../artemis-extension/yarn.lock| 245 +++-- 1 file changed, 173 insertions(+), 72 deletions(-) diff --git a/artemis-console-extension/artemis-extension/yarn.lock b/artemis-console-extension/artemis-extension/yarn.lock index 590c4b3..c7772ea 100644 --- a/artemis-console-extension/artemis-extension/yarn.lock +++ b/artemis-console-extension/artemis-extension/yarn.lock @@ -54,6 +54,16 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:^7.24.2": + version: 7.24.2 + resolution: "@babel/code-frame@npm:7.24.2" + dependencies: +"@babel/highlight": ^7.24.2 +picocolors: ^1.0.0 + checksum: 70e867340cfe09ca5488b2f36372c45cabf43c79a5b6426e6df5ef0611ff5dfa75a57dda841895693de6008f32c21a7c97027a8c7bcabd63a7d17416cbead6f8 + languageName: node + linkType: hard + "@babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.20.1, @babel/compat-data@npm:^7.20.5": version: 7.21.0 resolution: "@babel/compat-data@npm:7.21.0" @@ -152,6 +162,18 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.24.5": + version: 7.24.5 + resolution: "@babel/generator@npm:7.24.5" + dependencies: +"@babel/types": ^7.24.5 +"@jridgewell/gen-mapping": ^0.3.5 +"@jridgewell/trace-mapping": ^0.3.25 +jsesc: ^2.5.1 + checksum: a08c0ab900b36e1a17863e18e3216153322ea993246fd7a358ba38a31cfb15bab2af1dc178b2adafe4cb8a9f3ab0e0ceafd3fe6e8ca870dffb435b53b2b2a803 + languageName: node + linkType: hard + "@babel/helper-annotate-as-pure@npm:^7.18.6": version: 7.18.6 resolution: "@babel/helper-annotate-as-pure@npm:7.18.6" @@ -460,6 +482,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-split-export-declaration@npm:^7.24.5": + version: 7.24.5 + resolution: "@babel/helper-split-export-declaration@npm:7.24.5" + dependencies: +"@babel/types": ^7.24.5 + checksum: f23ab6942568084a57789462ce55dc9631aef1d2142ffa2ee28fc411ab55ed3ca65adf109e48655aa349bf8df7ca6dd81fd91c8c229fee1dc77e283189dc83c2 + languageName: node + linkType: hard + "@babel/helper-string-parser@npm:^7.19.4": version: 7.19.4 resolution: "@babel/helper-string-parser@npm:7.19.4" @@ -474,6 +505,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-string-parser@npm:^7.24.1": + version: 7.24.1 + resolution: "@babel/helper-string-parser@npm:7.24.1" + checksum: 8404e865b06013979a12406aab4c0e8d2e377199deec09dfe9f57b833b0c9ce7b6e8c1c553f2da8d0bcd240c5005bd7a269f4fef0d628aeb7d5fe035c436fb67 + languageName: node + linkType: hard + "@babel/helper-validator-identifier@npm:^7.18.6, @babel/helper-validator-identifier@npm:^7.19.1": version: 7.19.1 resolution: "@babel/helper-validator-identifier@npm:7.19.1" @@ -488,6 +526,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.24.5": + version: 7.24.5 + resolution: "@babel/helper-validator-identifier@npm:7.24.5" + checksum: 75d6f9f475c08f3be87bae4953e9b8d8c72983e16ed2860870b328d048cb20dccb4fcbf85eacbdd817ea1efbb38552a6db9046e2e37bfe13bdec44ac8939024c + languageName: node + linkType: hard + "@babel/helper-validator-option@npm:^7.18.6, @babel/helper-validator-option@npm:^7.21.0": version: 7.21.0 resolution: "@babel/helper-validator-option@npm:7.21.0" @@ -558,6 +603,18 @@ __metadata: languageName: node linkType: hard +"@babel/highlight@npm:^7.24.2": + version: 7.24.5 + resolution: "@babel/highlight@npm:7.24.5" + dependencies: +"@babel/helper-validator-identifier": ^7.24.5 +chalk: ^2.4.2 +js-tokens: ^4.0.0 +picocolors: ^1.0.0 + checksum: eece0e63e9210e902f1ee88f15cabfa31d2693bd2e56806eb849478b859d274c24477081c649cee6a241c4aed7da6f3e05c7afa5c3cd70094006ed095292b0d0 + languageName: node + linkType: hard + "@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.3": version: 7.21.3 resolution: "@babel/parser@npm:7.21.3" @@ -576,6 +633,15 @@ __metadata: languageName: node linkType: hard +"@ba
(activemq-artemis) branch main updated: ARTEMIS-4752 upgrade ErrorProne to 2.27.0
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 8b73335b46 ARTEMIS-4752 upgrade ErrorProne to 2.27.0 8b73335b46 is described below commit 8b73335b464adf9cb79c762c0ca30910228a09db Author: Justin Bertram AuthorDate: Wed May 1 14:40:57 2024 -0500 ARTEMIS-4752 upgrade ErrorProne to 2.27.0 The upgraded ErrorProne found some new issues so this commit fixes those as well. --- pom.xml | 2 +- .../tests/integration/management/ActiveMQServerControlTest.java | 8 .../artemis/tests/integration/server/ConfigurationTest.java | 4 ++-- .../tests/integration/stomp/StompWithLargeMessagesTest.java | 6 +++--- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pom.xml b/pom.xml index 63cfab396c..9b530dfef1 100644 --- a/pom.xml +++ b/pom.xml @@ -105,7 +105,7 @@ 10.0.20 4.0.6 5.3.4.Final - 2.24.1 + 2.27.0 5.1.9 3.3.2 2.16.1 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 be1cb95741..3c50732111 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 @@ -2620,7 +2620,7 @@ public class ActiveMQServerControlTest extends ManagementTestBase { second = array.getJsonObject(0); } - Assert.assertNotNull(first.getJsonNumber(ConsumerField.ID.getAlternativeName()).longValue()); + Assert.assertNotNull(first.getJsonNumber(ConsumerField.ID.getAlternativeName())); Assert.assertTrue(first.getString(ConsumerField.CONNECTION.getAlternativeName()).length() > 0); Assert.assertEquals(factory.getConnection().getID().toString(), first.getString(ConsumerField.CONNECTION.getAlternativeName())); Assert.assertTrue(first.getString(ConsumerField.SESSION.getAlternativeName()).length() > 0); @@ -2633,7 +2633,7 @@ public class ActiveMQServerControlTest extends ManagementTestBase { // test the old version that has been replaced for backward compatibility Assert.assertEquals(0, first.getJsonNumber(ConsumerField.MESSAGES_IN_TRANSIT.getAlternativeName()).longValue()); - Assert.assertNotNull(second.getJsonNumber(ConsumerField.ID.getAlternativeName()).longValue()); + Assert.assertNotNull(second.getJsonNumber(ConsumerField.ID.getAlternativeName())); Assert.assertTrue(second.getString(ConsumerField.CONNECTION.getAlternativeName()).length() > 0); Assert.assertEquals(factory.getConnection().getID().toString(), second.getString(ConsumerField.CONNECTION.getAlternativeName())); Assert.assertTrue(second.getString(ConsumerField.SESSION.getAlternativeName()).length() > 0); @@ -2704,7 +2704,7 @@ public class ActiveMQServerControlTest extends ManagementTestBase { JsonObject second = sorted[1]; Assert.assertTrue(first.getJsonNumber(ConsumerField.CREATION_TIME.getName()).longValue() > 0); - Assert.assertNotNull(first.getJsonNumber(ConsumerField.ID.getAlternativeName()).longValue()); + Assert.assertNotNull(first.getJsonNumber(ConsumerField.ID.getAlternativeName())); Assert.assertTrue(first.getString(ConsumerField.CONNECTION.getAlternativeName()).length() > 0); Assert.assertEquals(factory.getConnection().getID().toString(), first.getString(ConsumerField.CONNECTION.getAlternativeName())); Assert.assertTrue(first.getString(ConsumerField.SESSION.getAlternativeName()).length() > 0); @@ -2719,7 +2719,7 @@ public class ActiveMQServerControlTest extends ManagementTestBase { Assert.assertEquals(0, first.getJsonNumber(ConsumerField.LAST_ACKNOWLEDGED_TIME.getName()).longValue()); Assert.assertTrue(second.getJsonNumber(ConsumerField.CREATION_TIME.getName()).longValue() > 0); - Assert.assertNotNull(second.getJsonNumber(ConsumerField.ID.getAlternativeName()).longValue()); + Assert.assertNotNull(second.getJsonNumber(ConsumerField.ID.getAlternativeName())); Assert.assertTrue(second.getString(ConsumerField.CONNECTION.getAlternativeName()).length() > 0); Assert.assertEquals(factory2.getConnection().getID().toString(), second.getString(ConsumerField.CONNECTION.getAlternativeName())); Assert.assertTrue(second.getString(ConsumerField.SESSION.getAlternativeName()).length() > 0); diff --git a/tests/integration-tests/src/test/java/org
(activemq-artemis) branch main updated: ARTEMIS-4745 Allow configuration of the pull consumer batch size
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 659b17c3a9 ARTEMIS-4745 Allow configuration of the pull consumer batch size 659b17c3a9 is described below commit 659b17c3a933a7d80f9148836d7b9bbd4275932f Author: Timothy Bish AuthorDate: Fri Apr 26 11:00:26 2024 -0400 ARTEMIS-4745 Allow configuration of the pull consumer batch size Allow for configuration of the batch size granted to the remote when an AMQP federation queue receiver is pulling messages only when there is local capacity to handle them. Some code housekeeping is done here to make adding future properties a bit simpler and require fewer changes. --- .../amqp/connect/federation/AMQPFederation.java| 35 +- .../federation/AMQPFederationAddressConsumer.java | 4 +- .../AMQPFederationAddressPolicyManager.java| 2 +- .../federation/AMQPFederationConfiguration.java| 21 ++ .../federation/AMQPFederationConstants.java| 8 +++ .../AMQPFederationConsumerConfiguration.java | 30 +++-- .../federation/AMQPFederationQueueConsumer.java| 10 ++- .../connect/federation/AMQPFederationSource.java | 57 +--- .../connect/federation/AMQPFederationTarget.java | 34 +- .../amqp/connect/AMQPFederationConnectTest.java| 4 ++ .../connect/AMQPFederationQueuePolicyTest.java | 76 +++--- 11 files changed, 136 insertions(+), 145 deletions(-) diff --git a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederation.java b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederation.java index d2a8cf3542..1f3c818155 100644 --- a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederation.java +++ b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederation.java @@ -36,7 +36,6 @@ import org.apache.activemq.artemis.protocol.amqp.federation.internal.FederationQ import org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext; import org.apache.activemq.artemis.protocol.amqp.proton.AMQPSessionContext; import org.apache.qpid.proton.engine.Link; -import org.apache.qpid.proton.engine.Receiver; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -132,39 +131,9 @@ public abstract class AMQPFederation implements FederationInternal { public abstract AMQPSessionContext getSessionContext(); /** -* @return the timeout before signaling an error when creating remote link (0 mean disable). +* @return the federation configuration that is in effect. */ - public abstract int getLinkAttachTimeout(); - - /** -* @return the configured {@link Receiver} link credit batch size. -*/ - public abstract int getReceiverCredits(); - - /** -* @return the configured {@link Receiver} link credit low value. -*/ - public abstract int getReceiverCreditsLow(); - - /** -* @return the size in bytes before a message is considered large. -*/ - public abstract int getLargeMessageThreshold(); - - /** -* @return the true if the federation should ignore filters on queue consumers. -*/ - public abstract boolean isIgnoreQueueConsumerFilters(); - - /** -* @return the true if the federation should ignore priorities on queue consumers. -*/ - public abstract boolean isIgnoreQueueConsumerPriorities(); - - /** -* @return the true if the federation should support core message tunneling. -*/ - public abstract boolean isCoreMessageTunnelingEnabled(); + public abstract AMQPFederationConfiguration getConfiguration(); @Override public final synchronized void start() throws ActiveMQException { diff --git a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederationAddressConsumer.java b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederationAddressConsumer.java index 777452c708..2e8346a63f 100644 --- a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederationAddressConsumer.java +++ b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederationAddressConsumer.java @@ -321,11 +321,11 @@ public class AMQPFederationAddressConsumer implements FederationConsumerInternal final ScheduledFuture openTimeoutTask; final AtomicBoolean openTimedOut = new AtomicBoolean(false
(activemq-artemis) branch main updated: ARTEMIS-4744 Fully support multple host broker connections URIs
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new ee7a2c0944 ARTEMIS-4744 Fully support multple host broker connections URIs ee7a2c0944 is described below commit ee7a2c0944843bf8b3ebb939f5833aa26b1e1868 Author: Timothy Bish AuthorDate: Thu Apr 25 13:01:00 2024 -0400 ARTEMIS-4744 Fully support multple host broker connections URIs Create a new NettyConnector for each connection attempt that is configured from distinct broker connection URIs which allows for differing TLS configuration per remote connection configuration. --- .../amqp/connect/AMQPBrokerConnection.java | 109 +--- .../amqp/connect/AMQPBrokerConnectionManager.java | 17 +- .../connect/mirror/AMQPMirrorControllerSource.java | 5 +- .../amqp/connect/AMQPConnectSaslTest.java | 189 - 4 files changed, 276 insertions(+), 44 deletions(-) diff --git a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/AMQPBrokerConnection.java b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/AMQPBrokerConnection.java index 0223f9ac8b..5b4c1c9892 100644 --- a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/AMQPBrokerConnection.java +++ b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/AMQPBrokerConnection.java @@ -49,8 +49,11 @@ import org.apache.activemq.artemis.core.config.amqpBrokerConnectivity.AMQPMirror import org.apache.activemq.artemis.core.postoffice.Binding; import org.apache.activemq.artemis.core.postoffice.QueueBinding; import org.apache.activemq.artemis.core.remoting.CertificateUtil; +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.NettyConnection; import org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnector; +import org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnectorFactory; import org.apache.activemq.artemis.core.remoting.impl.netty.TransportConstants; import org.apache.activemq.artemis.core.server.ActiveMQComponent; import org.apache.activemq.artemis.core.server.ActiveMQServer; @@ -65,10 +68,13 @@ import org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage; import org.apache.activemq.artemis.protocol.amqp.broker.AMQPSessionCallback; import org.apache.activemq.artemis.protocol.amqp.broker.ActiveMQProtonRemotingConnection; import org.apache.activemq.artemis.protocol.amqp.broker.ProtonProtocolManager; +import org.apache.activemq.artemis.protocol.amqp.broker.ProtonProtocolManagerFactory; +import org.apache.activemq.artemis.protocol.amqp.connect.AMQPBrokerConnectionManager.ClientProtocolManagerWithAMQP; import org.apache.activemq.artemis.protocol.amqp.connect.federation.AMQPFederationPolicySupport; import org.apache.activemq.artemis.protocol.amqp.connect.federation.AMQPFederationSource; import org.apache.activemq.artemis.protocol.amqp.connect.mirror.AMQPMirrorControllerAggregation; import org.apache.activemq.artemis.protocol.amqp.connect.mirror.AMQPMirrorControllerSource; +import org.apache.activemq.artemis.protocol.amqp.connect.mirror.ReferenceIDSupplier; import org.apache.activemq.artemis.protocol.amqp.logger.ActiveMQAMQPProtocolLogger; import org.apache.activemq.artemis.protocol.amqp.logger.ActiveMQAMQPProtocolMessageBundle; import org.apache.activemq.artemis.protocol.amqp.proton.AMQPLargeMessageWriter; @@ -120,10 +126,13 @@ public class AMQPBrokerConnection implements ClientConnectionLifeCycleListener, */ public static final boolean DEFAULT_CORE_MESSAGE_TUNNELING_ENABLED = true; + private static final NettyConnectorFactory CONNECTOR_FACTORY = new NettyConnectorFactory().setServerConnector(true); + + private final ProtonProtocolManagerFactory protonProtocolManagerFactory; + private final ReferenceIDSupplier referenceIdSupplier; private final AMQPBrokerConnectConfiguration brokerConnectConfiguration; - private final ProtonProtocolManager protonProtocolManager; private final ActiveMQServer server; - private final NettyConnector bridgesConnector; + private final List configurations; private NettyConnection connection; private Session session; private AMQPSessionContext sessionContext; @@ -134,6 +143,7 @@ public class AMQPBrokerConnection implements ClientConnectionLifeCycleListener, private AMQPFederationSource brokerFederation; private int retryCounter = 0; private int lastRetryCounter; + private int connectionTimeout; private boolean connecting = false; private volatile
(activemq-artemis) branch main updated: ARTEMIS-1921 setting client ID on core JMS should be reflected in broker RemotingConnection
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 791630fa86 ARTEMIS-1921 setting client ID on core JMS should be reflected in broker RemotingConnection 791630fa86 is described below commit 791630fa861f868beb3e2d778eb44f92117b0220 Author: Justin Bertram AuthorDate: Mon Apr 15 13:00:48 2024 -0500 ARTEMIS-1921 setting client ID on core JMS should be reflected in broker RemotingConnection --- .../core/management/impl/view/ConnectionView.java | 10 + .../core/management/impl/view/ConsumerView.java| 13 ++- .../core/management/impl/view/ProducerView.java| 12 +- .../core/server/impl/ServerSessionImpl.java| 4 ++ .../jms/multiprotocol/JMSClientIDTest.java | 44 ++ .../MultiprotocolJMSClientTestSupport.java | 9 - .../management/ActiveMQServerControlTest.java | 36 -- 7 files changed, 71 insertions(+), 57 deletions(-) diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConnectionView.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConnectionView.java index 6f38df3922..6f0a72b7b3 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConnectionView.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConnectionView.java @@ -16,16 +16,15 @@ */ package org.apache.activemq.artemis.core.management.impl.view; -import org.apache.activemq.artemis.json.JsonObjectBuilder; import java.util.Date; import java.util.List; import java.util.Set; import java.util.TreeSet; -import org.apache.activemq.artemis.api.core.client.ClientSession; import org.apache.activemq.artemis.core.management.impl.view.predicate.ConnectionFilterPredicate; import org.apache.activemq.artemis.core.server.ActiveMQServer; import org.apache.activemq.artemis.core.server.ServerSession; +import org.apache.activemq.artemis.json.JsonObjectBuilder; import org.apache.activemq.artemis.spi.core.protocol.RemotingConnection; import org.apache.activemq.artemis.utils.JsonLoader; import org.apache.activemq.artemis.utils.StringUtil; @@ -52,14 +51,9 @@ public class ConnectionView extends ActiveMQAbstractView { List sessions = server.getSessions(connection.getID().toString()); Set users = new TreeSet<>(); - String jmsSessionClientID = null; for (ServerSession session : sessions) { String username = session.getUsername() == null ? "" : session.getUsername(); users.add(username); - //for the special case for JMS - if (session.getMetaData(ClientSession.JMS_SESSION_IDENTIFIER_PROPERTY) != null) { -jmsSessionClientID = session.getMetaData("jms-client-id"); - } } return JsonLoader.createObjectBuilder() @@ -69,7 +63,7 @@ public class ConnectionView extends ActiveMQAbstractView { .add(ConnectionField.CREATION_TIME.getName(), new Date(connection.getCreationTime()).toString()) .add(ConnectionField.IMPLEMENTATION.getName(), toString(connection.getClass().getSimpleName())) .add(ConnectionField.PROTOCOL.getName(), toString(connection.getProtocolName())) - .add(ConnectionField.CLIENT_ID.getName(), toString(connection.getClientID() != null ? connection.getClientID() : jmsSessionClientID)) + .add(ConnectionField.CLIENT_ID.getName(), toString(connection.getClientID())) .add(ConnectionField.LOCAL_ADDRESS.getName(), toString(connection.getTransportLocalAddress())) .add(ConnectionField.SESSION_COUNT.getName(), sessions.size()); } diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConsumerView.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConsumerView.java index 48c6293330..c3a5013faa 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConsumerView.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConsumerView.java @@ -16,15 +16,14 @@ */ package org.apache.activemq.artemis.core.management.impl.view; -import org.apache.activemq.artemis.core.management.impl.ActiveMQServerControlImpl; -import org.apache.activemq.artemis.json.JsonObjectBuilder; import java.util.Date; -import org.apache.activemq.artemis.api.core.client.ClientSession; +import org.apache.activemq.artemis.core.management.impl.ActiveMQServerControlImpl; import org.apache.activemq.artemis.core.management.impl.view.predicate.ConsumerFilterPredicate; import org.apache.activemq.artemis.core.server.ActiveMQServer; import org.apache.activemq.artemis.
(activemq-artemis) branch main updated: ARTEMIS-4625 upgrade CheckStyle to 10.15.0
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 7072eb187a ARTEMIS-4625 upgrade CheckStyle to 10.15.0 7072eb187a is described below commit 7072eb187ac4dea1a68414823e7b883a38ee319a Author: Justin Bertram AuthorDate: Fri Apr 12 16:32:48 2024 -0500 ARTEMIS-4625 upgrade CheckStyle to 10.15.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f3f0133348..40d2049206 100644 --- a/pom.xml +++ b/pom.xml @@ -110,7 +110,7 @@ 3.3.2 2.16.1 1.44.1 - 10.12.7 + 10.15.0 5.10.0 4.0.2 4.1.108.Final
svn commit: r68543 - /dev/activemq/KEYS
Author: robbie Date: Mon Apr 15 17:56:08 2024 New Revision: 68543 Log: remove KEYS file copy, the newly added content from r68541 was copied to the release area file in r68542 Removed: dev/activemq/KEYS
svn commit: r68542 - /release/activemq/KEYS
Author: robbie Date: Mon Apr 15 17:33:32 2024 New Revision: 68542 Log: copy addition from Andy Taylor in r68541 from dev area into dist area KEYS file Modified: release/activemq/KEYS Modified: release/activemq/KEYS == --- release/activemq/KEYS (original) +++ release/activemq/KEYS Mon Apr 15 17:33:32 2024 @@ -1853,3 +1853,64 @@ BQ/qsDfimZpqwyLW2+4BgFxLgOE8bZTPiJTEmfAC v3bFHTk24dCc3QHRqFozGvNQyTzeTxtyIZ0Rsq9TKOBfRNmSTy+0hvHd5Q== =+QeH -END PGP PUBLIC KEY BLOCK- + +pub rsa4096 2024-04-15 [SC] + 89F10275838B9CE605FB5F92C057DA235E620327 +uid [ultimate] Andy Taylor (CODE SIGNING KEY) +sig 3C057DA235E620327 2024-04-15 [self-signature] +sub rsa4096 2024-04-15 [E] +sig C057DA235E620327 2024-04-15 [self-signature] + +-BEGIN PGP PUBLIC KEY BLOCK- + +mQINBGYdR3oBEADAKb0pvVreVS4BNGkf3WUzjpyGryERQb7CWBN+f4jeBFkC542+ +ckjRznKfbB7Bhk00rIBe4SSj/PgilNeICnELvvmWKfKWsBVIQMYBm2mQwfv9i2WX +cFmUdhh/M5KaaJHXtXrpVCVrRkfpR8HIUAHy3lppyhJq74Hus6azw1mghkF8jirc +COAAdtJ49cYoRAW/H3+yXrqaVn576mETySJLhvrND7xSkCYuvi25GIorkOkFtaRR +mdwY7r0B8QBJnpS0grGy8okbGCFOOkCcYi6Jl55ycq8VWI8rjpPcip56b7iAOeeq +QIS8m9RwvMF4vVrEirBb4oR+o6A81ZoeoBMPtxkqsBR265WbuNY9GO6wBm63g9UG +lL2+4PB55ugC5qvWdX3DxEw9FyUKXVNoIwVr+gDVlfr/2magLWx7zKiVbTeWEU7n +qCMDy1daRcbDr/fDfrObtpeHv0h07Tb53Y7EBIL7PoqB/n3+aZRtLD8Y8WJ8qcFV +te7CeSp+acVdaX+QzjhMTTNUp2UHcA4pv3ZOo2ZSxyGtpdloTP6qzPmfd7PVmfr3 +VxU1q8ghUKY28bvxwwajDMwi9tfR0MWSGgXWM/G/oiy42vsmB1bKpYP+1gcsgRqZ +vCwJzzf3Zd4+jE/ZNKD1jnaPYqrkNQS32HyfeeKONCVTbjmLxM4QAs1vXQARAQAB +tDZBbmR5IFRheWxvciAoQ09ERSBTSUdOSU5HIEtFWSkgPGFuZHl0YXlsb3JAYXBh +Y2hlLm9yZz6JAlEEEwEIADsWIQSJ8QJ1g4uc5gX7X5LAV9ojXmIDJwUCZh1HegIb +AwULCQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAAKCRDAV9ojXmIDJ2udD/9Rsnu5 +OZRaICMELt93ulzGbuJs1EXbtDPQfTH0h0XD58C3mEJArK446pDbO2tJ0JFuDTDA +IO/mETloioq7QznZJsZubygnnDqV/qkyNmqjaPKyY008kDvtCFJPMJgye2wfvNn+ +iY4dNr+X6gHJ0b9/RimlLTTf+8CdCI2DxkyVBuxP4mDJFAQBM4royfm0SNrlitnu +IKSgel68p9Km1maTL0yA/khy9a4Vk63wvC0eKj22x94Bsk3vEejSi3kaJf/LJwFX +IyOF/2BpCOhRctFq3+h8NFvH2QQDOEwO6/YGxq3Er7/8s3QySNE1GtfBOMYAxpt0 +dW02yw7HI+XoBaB3SeG6JGTDHfN/ic8p9SPyMsvlfdBFVPfvVQ+eespJJ99v1Air +8BnVGbQ3dUyxZyVR8tTPb2rI96oMTa5IUUODfEGeRKC5fEvO5qtZKjqgYICiSNrb +HfjEzK1Ec3Xe7ctQkG9PWSDXysyjAzk5GM4gAdZ1PWG33VVOAXW0ozRYJO4Cyixg +Xfa/QsTHcdewa9HWrjdq1WVC5rJGH+QRh2yVPINRXYuwJ8n0RMdShZaFxray6Zi9 +7Qh35hzBpCcxnX/i6V8EdyyTXwu64tXheHofHvRXQBCKFJcaYN0tu1GqvLyzZ7fu +E7QUg7vFMIKNAb+fdzDlvVeaV5Q2sdARBvhLnLkCDQRmHUd6ARAAuUov0xp53wae +sl1A3HBzYlBdAPBbH+lv2FkQEjnkNgTzbe1wppCtidU635pDikYEu2Py1BM3o/3p +p9P0RfzzM3xn98vP+k3noaWU9A0poUC1ZoCHkrj6alfssYM4bzjsiyP0cmsho0tM +9jJz+OkoYaCIdBxZNSqCkiN3JCt+gQ8KPY4btTwLM28CBTvMRMrZQKQMUPaKts5X +ECnB6RJporddB7GTd3Xyi1ehCTUkaE82bzGSTygYCmvbcFZPWpoX5HZdgjVDjYyM +4CJuUPpNbGlN3BRQZZx/0Gw0oa4XkIMaHa6+M3CzaDIcwYx151eAIdklO7+KTwpM +eZdMFjeseynVWyf7kHno3CNlNCcNNmnIiMs5CXTyJ/+XALg2a/c1x39weJVDLYXG +XK4T+PmbeTY73cDLFiO2+AGnbvBIkDeWCVF6mFHiW02gjXKytaojATYH3cKXieHX +WnUbUN7SM2v2KR8/5a6SEYKwLh2LVXKsedgBIk2AN/dUeraQX9/Rk4F5O7Gd+YFh +X7PqrvtC3cfR8CUXt6oPWSLg2Dq3elQVnpDSA6zH7ajhV40di3C8dHyUMF8US+EQ +BaIY7SM6YvdaZ8vlf515fm5ZNqIIQAMsgzWcZn0yWNo4Q0+c5jENjSukmWYYSJX0 +J88WHWv2Pk8P7PMhEUwOcEfYd7awDqcAEQEAAYkCNgQYAQgAIBYhBInxAnWDi5zm +BftfksBX2iNeYgMnBQJmHUd6AhsMAAoJEMBX2iNeYgMnnZEQALXU4Pj9xln6QKxf +zxKdHEfCjeEuhUkL4I6YFlMk2CiKkGFTKn7mbFzBt5lA5FqOvpcIjloMcFPu2QUF +lmR+AV4Ma3PEwZwczq1WKHYI6Gjo4X9L+dXFPM00H3q4ERZhvvobjRDbQMBFVOeA +6mxc4jA5SBVM7SpVpKscbivrouCrb0PgUZbD7/i5nwhU29lT5Xi+FzQLI7IOhWiz +c7zb+xJhD9Hnp+9PBLC5c06n9z3rFKzxAPJ8+ZM17isCuaSpfa0Do7RnJC6gDu3j +8uEEWYnxIZmaqNZs8WOfRirfsFUOQG/gxmfc+WKVx3ZTViiSnHPvCqStLGhopNEM +10QqUNvKmmVwyTFSsuEv+XqLetQO4wALOEiYXLSFiBANLXdmBwRVUkkQeD+fkpHs +ZwLwV0Fm75BmUva2LyMXvYTC7g/Hz1+LFJbopdGLhsrcp7g2J/hfmUSUdYPTsHjB +Lz2UZazFsswX67+iFIp3p8m0nHRizqaIIWYosnaoo3SZ0PnPYa41NXeTFDMN9Gz6 +qPGtab/XgvvDLrJVn3XCmdHMRcv8fQnpe4b549Uq961YrGmd0TvfdyfnzrvCwGaa +w2z057iagHT1ZgThhk0yCLYsXHgsQ+7YcdCuHkV/ucJ0Xn9izviPtGXPXEJpjYYs +sByw5smKL7dj3h7n3v4RX3Hllkov +=2x6z +-END PGP PUBLIC KEY BLOCK- +
(activemq-artemis-examples) branch development updated: ARTEMIS-4720 Add an example of AMQP federation over SSL
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch development in repository https://gitbox.apache.org/repos/asf/activemq-artemis-examples.git The following commit(s) were added to refs/heads/development by this push: new 064b177 ARTEMIS-4720 Add an example of AMQP federation over SSL 064b177 is described below commit 064b177decaa9c9920e17c9514ab73b68e0c12cc Author: Timothy Bish AuthorDate: Thu Apr 11 09:17:54 2024 -0400 ARTEMIS-4720 Add an example of AMQP federation over SSL Adds an example that shows how to configure broker connections for AMQP federation over an SSL connection. --- .../amqp-federation-over-ssl/pom.xml | 158 + .../amqp-federation-over-ssl/readme.md | 19 +++ .../jms/example/BrokerFederationExample.java | 86 +++ .../src/main/resources/activemq/server0/broker.xml | 123 .../activemq/server0/server-ca-truststore.p12 | Bin 0 -> 1270 bytes .../resources/activemq/server0/server-keystore.p12 | Bin 0 -> 5000 bytes .../src/main/resources/activemq/server1/broker.xml | 106 ++ .../activemq/server1/server-ca-truststore.p12 | Bin 0 -> 1270 bytes .../resources/activemq/server1/server-keystore.p12 | Bin 0 -> 5000 bytes .../amqp-federation-over-ssl/store-generation.txt | 62 examples/features/broker-connection/pom.xml| 2 + scripts/run-examples.sh| 2 + 12 files changed, 558 insertions(+) diff --git a/examples/features/broker-connection/amqp-federation-over-ssl/pom.xml b/examples/features/broker-connection/amqp-federation-over-ssl/pom.xml new file mode 100644 index 000..28dd50d --- /dev/null +++ b/examples/features/broker-connection/amqp-federation-over-ssl/pom.xml @@ -0,0 +1,158 @@ + + + +http://maven.apache.org/POM/4.0.0; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd;> + 4.0.0 + + + org.apache.activemq.examples.broker-connection + broker-connections + 2.34.0-SNAPSHOT + + + amqp-federation-over-ssl + jar + amqp-federation-over-ssl + + + ${project.basedir}/../../../.. + + + + + org.apache.qpid + qpid-jms-client + + + + + + +org.apache.activemq +artemis-maven-plugin + + + create0 + + create + + + ${noServer} + ${basedir}/target/server0 + true + ${basedir}/target/classes/activemq/server0 + + -Djava.net.preferIPv4Stack=true + + + + create1 + + create + + + ${noServer} + ${basedir}/target/server1 + true + ${basedir}/target/classes/activemq/server1 + + -Djava.net.preferIPv4Stack=true + + + + + start1 + + cli + + + ${noServer} + true + ${basedir}/target/server1 + tcp://localhost:5770?sslEnabled=truetrustStorePath=activemq/server1/server-ca-truststore.p12trustStorePassword=securepasstrustStoreType=PKCS12 + +run + + server1 + + + + start0 + + cli + + + true + ${noServer} + ${basedir}/target/server0 + tcp://localhost:5660?sslEnabled=truetrustStorePath=activemq/server0/server-ca-truststore.p12trustStorePassword=securepasstrustStoreType=PKCS12 + +run + + server0 + + + + runClient + + runClient + + + + org.apache.activemq.artemis.jms.example.BrokerFederationExample + + + + stop0 + + stop + + + ${noServer} +
(activemq-artemis) branch main updated: ARTEMIS-4710 Keep pem-keystore dependencies as is; make it really optional
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new bf1ea41287 ARTEMIS-4710 Keep pem-keystore dependencies as is; make it really optional bf1ea41287 is described below commit bf1ea4128775c97e6c6fc6a0ab6921feaf8197d5 Author: Alexey Markevich AuthorDate: Tue Apr 2 10:34:59 2024 +0200 ARTEMIS-4710 Keep pem-keystore dependencies as is; make it really optional The latest version already uses bcprov-jdk18on. Avoid global imports to be able to exclude dependency when not used. --- artemis-core-client/pom.xml | 9 - .../activemq/artemis/core/remoting/impl/ssl/SSLSupport.java | 4 ++-- artemis-pom/pom.xml | 11 --- 3 files changed, 2 insertions(+), 22 deletions(-) diff --git a/artemis-core-client/pom.xml b/artemis-core-client/pom.xml index 844d97879b..94dce4ab12 100644 --- a/artemis-core-client/pom.xml +++ b/artemis-core-client/pom.xml @@ -124,15 +124,6 @@ de.dentrassi.crypto pem-keystore - - - org.bouncycastle - bcprov-jdk18on - - - org.bouncycastle - bcpkix-jdk18on - - - - - org.bouncycastle - bcprov-jdk15on - - - org.bouncycastle - bcpkix-jdk15on - - org.bouncycastle
(activemq-artemis-examples) branch development updated: ARTEMIS-4703 Add example of Queue federation with multiple brokers
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch development in repository https://gitbox.apache.org/repos/asf/activemq-artemis-examples.git The following commit(s) were added to refs/heads/development by this push: new 374f543 ARTEMIS-4703 Add example of Queue federation with multiple brokers 374f543 is described below commit 374f543e79acc9de117d304d1420de9c3898294b Author: Timothy Bish AuthorDate: Thu Mar 28 16:21:32 2024 -0400 ARTEMIS-4703 Add example of Queue federation with multiple brokers Adds an example that demonstrates moving messages through an intermediary broker which has no consumer demand. --- .../amqp-federation-queue-multiple-brokers/pom.xml | 198 + .../readme.md | 12 ++ .../jms/example/BrokerFederationExample.java | 73 .../src/main/resources/activemq/serverA/broker.xml | 102 +++ .../src/main/resources/activemq/serverB/broker.xml | 116 .../src/main/resources/activemq/serverC/broker.xml | 112 examples/features/broker-connection/pom.xml| 2 + 7 files changed, 615 insertions(+) diff --git a/examples/features/broker-connection/amqp-federation-queue-multiple-brokers/pom.xml b/examples/features/broker-connection/amqp-federation-queue-multiple-brokers/pom.xml new file mode 100644 index 000..d43716e --- /dev/null +++ b/examples/features/broker-connection/amqp-federation-queue-multiple-brokers/pom.xml @@ -0,0 +1,198 @@ + + + +http://maven.apache.org/POM/4.0.0; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd;> + 4.0.0 + + + org.apache.activemq.examples.broker-connection + broker-connections + 2.34.0-SNAPSHOT + + + amqp-federation-queue-multiple-brokers + jar + amqp-federation Queue Multiple Brokers + + + ${project.basedir}/../../../.. + + + + + org.apache.qpid + qpid-jms-client + + + + + + +org.apache.activemq +artemis-maven-plugin + + + createA + + create + + + ${noServer} + ${basedir}/target/serverA + true + ${basedir}/target/classes/activemq/serverA + + -Djava.net.preferIPv4Stack=true + + + + createB + + create + + + ${noServer} + ${basedir}/target/serverB + true + ${basedir}/target/classes/activemq/serverB + + -Djava.net.preferIPv4Stack=true + + + + createC + + create + + + ${noServer} + ${basedir}/target/serverC + true + ${basedir}/target/classes/activemq/serverC + + -Djava.net.preferIPv4Stack=true + + + + + startA + + cli + + + ${noServer} + true + ${basedir}/target/serverA + tcp://localhost:5670 + +run + + serverA + + + + startB + + cli + + + true + ${noServer} + ${basedir}/target/serverB + tcp://localhost:5671 + +run + + serverB + + + + startC + + cli + + + true + ${noServer} + ${basedir}/target/serverC + tcp://localhost:5672 + +run + + serverC + + + + runClient + +
(activemq-artemis) branch main updated: ARTEMIS-4657 support better correlation ID compat b/w JMS clients
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 50fae08b09 ARTEMIS-4657 support better correlation ID compat b/w JMS clients 50fae08b09 is described below commit 50fae08b09a76e200ef107d06cc867231f644ccd Author: Justin Bertram AuthorDate: Tue Feb 27 11:25:51 2024 -0600 ARTEMIS-4657 support better correlation ID compat b/w JMS clients --- .../activemq/artemis/reader/MessageUtil.java | 1 + .../artemis/protocol/amqp/broker/AMQPMessage.java | 4 +- .../amqp/converter/AMQPMessageIdHelper.java| 7 +- .../protocol/amqp/converter/AmqpCoreConverter.java | 2 +- .../protocol/amqp/converter/CoreAmqpConverter.java | 2 + .../converter/message/AMQPMessageIdHelperTest.java | 62 --- .../openwire/OpenWireMessageConverter.java | 19 ++- .../openwire/OpenWireMessageConverterTest.java | 55 ++ .../artemis/core/server/ActiveMQServerLogger.java | 3 + .../jms/multiprotocol/JMSCorrelationIDTest.java| 184 + 10 files changed, 306 insertions(+), 33 deletions(-) diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/reader/MessageUtil.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/reader/MessageUtil.java index 4e4d3e5928..780085f4fd 100644 --- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/reader/MessageUtil.java +++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/reader/MessageUtil.java @@ -21,6 +21,7 @@ import java.util.HashSet; import java.util.List; import java.util.Objects; import java.util.Set; + import org.apache.activemq.artemis.api.core.ActiveMQException; import org.apache.activemq.artemis.api.core.ActiveMQPropertyConversionException; import org.apache.activemq.artemis.api.core.Message; diff --git a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/AMQPMessage.java b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/AMQPMessage.java index 018d0a27e6..e10ae2b9e2 100644 --- a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/AMQPMessage.java +++ b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/AMQPMessage.java @@ -20,6 +20,7 @@ import javax.management.openmbean.CompositeData; import javax.management.openmbean.CompositeDataSupport; import javax.management.openmbean.OpenDataException; import javax.management.openmbean.SimpleType; +import java.lang.invoke.MethodHandles; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.util.Collections; @@ -80,7 +81,6 @@ import org.apache.qpid.proton.message.Message; import org.apache.qpid.proton.message.impl.MessageImpl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.lang.invoke.MethodHandles; import static org.apache.activemq.artemis.protocol.amqp.converter.AMQPMessageSupport.getCharsetForTextualContent; @@ -1562,7 +1562,7 @@ public abstract class AMQPMessage extends RefCountMessage implements org.apache. return getAMQPUserID(); case MessageUtil.CORRELATIONID_HEADER_NAME_STRING: if (properties != null && properties.getCorrelationId() != null) { - return AMQPMessageIdHelper.INSTANCE.toCorrelationIdString(properties.getCorrelationId()); + return AMQPMessageIdHelper.INSTANCE.toCorrelationIdStringOrBytes(properties.getCorrelationId()); } return null; default: diff --git a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/converter/AMQPMessageIdHelper.java b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/converter/AMQPMessageIdHelper.java index baf08aeefb..06f97f1d3a 100644 --- a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/converter/AMQPMessageIdHelper.java +++ b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/converter/AMQPMessageIdHelper.java @@ -113,7 +113,7 @@ public class AMQPMessageIdHelper { } } - public String toCorrelationIdString(Object idObject) { + public Object toCorrelationIdStringOrBytes(Object idObject) { if (idObject instanceof String) { final String stringId = (String) idObject; @@ -130,6 +130,11 @@ public class AMQPMessageIdHelper { // It has "ID:" prefix and doesn't have encoding prefix, use it as-is. return stringId; } + } else if (idObject instanceof Binary) { + ByteBuffer dup = ((Binary) idObject).asByteBuffer
(activemq-artemis) branch main updated: ARTEMIS-4631: update to spring 5.3.33
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new a3cde08681 ARTEMIS-4631: update to spring 5.3.33 a3cde08681 is described below commit a3cde086817203ab9ce53c6da3b9ff0c0875761b Author: Robbie Gemmell AuthorDate: Fri Mar 15 10:42:13 2024 + ARTEMIS-4631: update to spring 5.3.33 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ff35bc5ffd..1c55a54413 100644 --- a/pom.xml +++ b/pom.xml @@ -190,7 +190,7 @@ 5.15.0 9.0.9 - 5.3.32 + 5.3.33 2.16.1 ${jackson.version}
(activemq-artemis) branch main updated: ARTEMIS-4648 support typed properties from CLI producer
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 009687ef7c ARTEMIS-4648 support typed properties from CLI producer 009687ef7c is described below commit 009687ef7cdad7b734a49cca546cb7fce37eb90c Author: Justin Bertram AuthorDate: Thu Mar 7 20:47:49 2024 -0600 ARTEMIS-4648 support typed properties from CLI producer --- artemis-cli/pom.xml| 5 + .../artemis/cli/commands/messages/Producer.java| 13 ++ .../cli/commands/messages/ProducerThread.java | 53 + .../cli/commands/messages/ProducerThreadTest.java | 234 + .../apache/activemq/cli/test/CliProducerTest.java | 29 +++ 5 files changed, 334 insertions(+) diff --git a/artemis-cli/pom.xml b/artemis-cli/pom.xml index c5d71a340f..13b182dfc4 100644 --- a/artemis-cli/pom.xml +++ b/artemis-cli/pom.xml @@ -154,6 +154,11 @@ junit test + + org.mockito + mockito-core + test +
(activemq-artemis) branch main updated: ARTEMIS-4672 - Upgrade Netty to 4.107.Final
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 56ec308045 ARTEMIS-4672 - Upgrade Netty to 4.107.Final 56ec308045 is described below commit 56ec3080455e5810466cadcbf90fae4b29f0216e Author: Emmanuel Hugonnet AuthorDate: Wed Mar 6 18:31:21 2024 +0100 ARTEMIS-4672 - Upgrade Netty to 4.107.Final * Upgrading netty-tcpnative to 2.0.63 * Upgrading netty to 4.107.Final Signed-off-by: Emmanuel Hugonnet --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index b931f9c41f..ff35bc5ffd 100644 --- a/pom.xml +++ b/pom.xml @@ -114,7 +114,7 @@ 10.12.7 5.10.0 4.0.2 - 4.1.106.Final + 4.1.107.Final 2.1.12 5.6.0 3.9.1 @@ -133,7 +133,7 @@ 2.3.9 - 2.0.61.Final + 2.0.63.Final 0.34.1 1.0.0-M19 2.0.11
(activemq-artemis) branch main updated: ARTEMIS-4655 report logging metrics
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 661a4e6fdc ARTEMIS-4655 report logging metrics 661a4e6fdc is described below commit 661a4e6fdc1d10b115c209a25e96e6b97e75e8e6 Author: Justin Bertram AuthorDate: Thu Feb 22 15:25:05 2024 -0600 ARTEMIS-4655 report logging metrics It may be useful to configure alerts for ERROR or WARN events in the log which may go unnoticed otherwise. --- .../api/config/ActiveMQDefaultConfiguration.java | 10 +++ .../artemis/core/config/MetricsConfiguration.java | 10 +++ .../deployers/impl/FileConfigurationParser.java| 2 + .../core/server/metrics/MetricsManager.java| 4 + .../resources/schema/artemis-configuration.xsd | 8 ++ .../config/impl/DefaultsFileConfigurationTest.java | 2 + .../core/config/impl/FileConfigurationTest.java| 1 + .../resources/ConfigurationTest-full-config.xml| 1 + .../ConfigurationTest-xinclude-config.xml | 1 + ...gurationTest-xinclude-schema-config-metrics.xml | 1 + artemis-server/src/test/resources/metrics.xml | 1 + docs/user-manual/metrics.adoc | 13 ++- .../integration/plugin/LoggingMetricsTest.java | 99 ++ 13 files changed, 152 insertions(+), 1 deletion(-) 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 1a6a8f47e7..0fe9cd90bb 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 @@ -676,6 +676,9 @@ public final class ActiveMQDefaultConfiguration { // Whether or not to report uptime metrics private static final boolean DEFAULT_UPTIME_METRICS = false; + // Whether or not to report logging metrics + private static final boolean DEFAULT_LOGGING_METRICS = false; + // How often (in ms) to scan for expired MQTT sessions private static long DEFAULT_MQTT_SESSION_SCAN_INTERVAL = 500; @@ -1865,6 +1868,13 @@ public final class ActiveMQDefaultConfiguration { return DEFAULT_UPTIME_METRICS; } + /** +* Whether or not to report logging metrics +*/ + public static Boolean getDefaultLoggingMetrics() { + return DEFAULT_LOGGING_METRICS; + } + /** * How often (in ms) to scan for expired MQTT sessions */ diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/config/MetricsConfiguration.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/config/MetricsConfiguration.java index aa1173048e..566b1a25bd 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/config/MetricsConfiguration.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/config/MetricsConfiguration.java @@ -30,6 +30,7 @@ public class MetricsConfiguration implements Serializable { private boolean fileDescriptors = ActiveMQDefaultConfiguration.getDefaultFileDescriptorsMetrics(); private boolean processor = ActiveMQDefaultConfiguration.getDefaultProcessorMetrics(); private boolean uptime = ActiveMQDefaultConfiguration.getDefaultUptimeMetrics(); + private boolean logging = ActiveMQDefaultConfiguration.getDefaultLoggingMetrics(); private ActiveMQMetricsPlugin plugin; public boolean isJvmMemory() { @@ -95,6 +96,15 @@ public class MetricsConfiguration implements Serializable { return this; } + public boolean isLogging() { + return logging; + } + + public MetricsConfiguration setLogging(boolean logging) { + this.logging = logging; + return this; + } + public ActiveMQMetricsPlugin getPlugin() { return plugin; } diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/deployers/impl/FileConfigurationParser.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/deployers/impl/FileConfigurationParser.java index 7ec64918f4..527afd5f37 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/deployers/impl/FileConfigurationParser.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/deployers/impl/FileConfigurationParser.java @@ -1012,6 +1012,8 @@ public final class FileConfigurationParser extends XMLConfigurationUtil { metricsConfiguration.setProcessor(XMLUtil.parseBoolean(child)); } else if (child.getNodeName().equals("uptime")) { metricsConfiguration.setUptime(XMLUtil.parseBoolean(child)); +} else if (child.getNodeName().equal
(activemq-artemis-examples) branch development updated: ARTEMIS-4658 AMQP federation example for multicast over hub and spoke
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch development in repository https://gitbox.apache.org/repos/asf/activemq-artemis-examples.git The following commit(s) were added to refs/heads/development by this push: new 46e506e ARTEMIS-4658 AMQP federation example for multicast over hub and spoke 46e506e is described below commit 46e506ee9e2aed70444baa684fff8fd4b62c0cd2 Author: Timothy Bish AuthorDate: Thu Feb 29 11:47:00 2024 -0500 ARTEMIS-4658 AMQP federation example for multicast over hub and spoke Adds an example showing how AMQP federation can be used to federate multicast messages over a hub and spoke topology with bi-directional federation. Also adds the AMQP federation examples to the run script --- .../amqp-federation-multicast-hub-spoke/pom.xml| 237 + .../amqp-federation-multicast-hub-spoke/readme.md | 5 + .../jms/example/BrokerFederationExample.java | 231 .../src/main/resources/activemq/hub/broker.xml | 101 + .../src/main/resources/activemq/spoke1/broker.xml | 118 ++ .../src/main/resources/activemq/spoke2/broker.xml | 118 ++ .../src/main/resources/activemq/spoke3/broker.xml | 118 ++ examples/features/broker-connection/pom.xml| 2 + scripts/run-examples.sh| 2 + 9 files changed, 932 insertions(+) diff --git a/examples/features/broker-connection/amqp-federation-multicast-hub-spoke/pom.xml b/examples/features/broker-connection/amqp-federation-multicast-hub-spoke/pom.xml new file mode 100644 index 000..1118423 --- /dev/null +++ b/examples/features/broker-connection/amqp-federation-multicast-hub-spoke/pom.xml @@ -0,0 +1,237 @@ + + + +http://maven.apache.org/POM/4.0.0; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd;> + 4.0.0 + + + org.apache.activemq.examples.broker-connection + broker-connections + 2.33.0-SNAPSHOT + + + amqp-federation-multicast-hub-spoke + jar + amqp-federation + + + ${project.basedir}/../../../.. + + + + + org.apache.qpid + qpid-jms-client + + + + + + +org.apache.activemq +artemis-maven-plugin + + + createHub + + create + + + ${noServer} + ${basedir}/target/hub + true + ${basedir}/target/classes/activemq/hub + + -Djava.net.preferIPv4Stack=true + + + + createSpoke1 + + create + + + ${noServer} + ${basedir}/target/spoke1 + true + ${basedir}/target/classes/activemq/spoke1 + + -Djava.net.preferIPv4Stack=true + + + + createSpoke2 + + create + + + ${noServer} + ${basedir}/target/spoke2 + true + ${basedir}/target/classes/activemq/spoke2 + + -Djava.net.preferIPv4Stack=true + + + + createSpoke3 + + create + + + ${noServer} + ${basedir}/target/spoke3 + true + ${basedir}/target/classes/activemq/spoke3 + + -Djava.net.preferIPv4Stack=true + + + + startHub + + cli + + + ${noServer} + true + ${basedir}/target/hub + tcp://localhost:5460 + +run + + hub + + + + startSpoke3 + + cli + + + ${noServer} + true + ${basedir}/target/spoke3 + tcp://localhost:5860 + +run + +
(activemq-artemis) branch main updated (6fe603f717 -> c7f536c8b8)
This is an automated email from the ASF dual-hosted git repository. robbie pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git from 6fe603f717 NO-JIRA add comment on current directory to the image build readme new 155634b115 ARTEMIS-4621: update to PostgreSQL 42.7.2 new c7f536c8b8 ARTEMIS-4631: update to Spring 5.3.32 The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
(activemq-artemis) 02/02: ARTEMIS-4631: update to Spring 5.3.32
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git commit c7f536c8b8202d54eacff4851e92f367a511c60b Author: Robbie Gemmell AuthorDate: Thu Feb 29 14:02:52 2024 + ARTEMIS-4631: update to Spring 5.3.32 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 639381b4d2..b931f9c41f 100644 --- a/pom.xml +++ b/pom.xml @@ -190,7 +190,7 @@ 5.15.0 9.0.9 - 5.3.31 + 5.3.32 2.16.1 ${jackson.version}
(activemq-artemis) 01/02: ARTEMIS-4621: update to PostgreSQL 42.7.2
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git commit 155634b11540fa9e0ec3e5cb8de143523d5ee712 Author: Robbie Gemmell AuthorDate: Thu Feb 29 13:52:46 2024 + ARTEMIS-4621: update to PostgreSQL 42.7.2 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 67cc250555..639381b4d2 100644 --- a/pom.xml +++ b/pom.xml @@ -171,7 +171,7 @@ 2.22.2 2.3.3 1.2.5 - 42.7.1 + 42.7.2 1.19.4 4.17.0 3.0.0
(activemq-artemis-examples) branch development updated: add note to CONTRIBUTING.md about Jiras and commit log references
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch development in repository https://gitbox.apache.org/repos/asf/activemq-artemis-examples.git The following commit(s) were added to refs/heads/development by this push: new f2cffdc add note to CONTRIBUTING.md about Jiras and commit log references f2cffdc is described below commit f2cffdcdf5fb52033377de64a2a6e20e21393e46 Author: Robbie Gemmell AuthorDate: Thu Feb 29 15:17:11 2024 + add note to CONTRIBUTING.md about Jiras and commit log references --- CONTRIBUTING.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 62e4906..20512ed 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -5,6 +5,8 @@ Contributions should target the [`development`](https://github.com/apache/active * The [`development`](https://github.com/apache/activemq-artemis-examples/tree/development) branch is used for all development toward the next Artemis release and the related Examples, whether it be improving existing examples, creating new examples, or most especially for making any updates needed to match as-yet-unreleased changes in the upcoming Artemis version. * The [`main`](https://github.com/apache/activemq-artemis-examples/tree/main) branch contains examples for use with the latest ActiveMQ Artemis release. +Like with the main repository, most examples changes should have an [ARTEMIS Jira issue](https://issues.apache.org/jira/projects/ARTEMIS) which should be referenced in the commit log message. See [https://activemq.apache.org/issues](https://activemq.apache.org/issues) for more details. + ## Testing Changes The [GitHub Actions build](https://github.com/apache/activemq-artemis-examples/actions) for the Examples repo can also be used in your fork to test out changes. In order to enable the build in your repository, go to e.g:
(activemq-website) branch main updated: add examples repo to list on contributing page, and update gitbox clone URLs from old git-wip-us name
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-website.git The following commit(s) were added to refs/heads/main by this push: new 62d207d38 add examples repo to list on contributing page, and update gitbox clone URLs from old git-wip-us name 62d207d38 is described below commit 62d207d3859c6bd2d151191d3381be61c0354f11 Author: Robbie Gemmell AuthorDate: Thu Feb 29 15:37:37 2024 + add examples repo to list on contributing page, and update gitbox clone URLs from old git-wip-us name --- src/contributing.md | 31 --- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/src/contributing.md b/src/contributing.md index 231ff63c6..a74ed697c 100644 --- a/src/contributing.md +++ b/src/contributing.md @@ -16,24 +16,25 @@ If anything in any component's documentation is confusing or not clear please [l Code -If you want to get your hands on the code here are the repos for all our components. It's typically best to use the GitHub mirror as that will allow you to easily send pull requests which can be reviewed by project committers and merged. +If you want to get your hands on the code here are the repos for all our components. It's typically best to use the GitHub mirror as that will allow you to easily send pull requests which can be reviewed by project committers and merged. The Gitbox links redirect to GitHub for browsing. |Component|Apache Git Repository|GitHub Mirror| |---|---| -|Classic|[activemq](https://git-wip-us.apache.org/repos/asf?p=activemq.git)|[activemq](https://github.com/apache/activemq)| -|Artemis|[activemq-artemis](https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git)|[activemq-artemis](https://github.com/apache/activemq-artemis)| -|Artemis Native|[activemq-artemis-native](https://git-wip-us.apache.org/repos/asf?p=activemq-artemis-native.git)|[activemq-artemis-native](https://github.com/apache/activemq-artemis-native)| -|NMS API|[activemq-nms-api](https://git-wip-us.apache.org/repos/asf?p=activemq-nms-api.git)|[activemq-nms-api](https://github.com/apache/activemq-nms-api)| -|NMS AMQP|[activemq-nms-amqp](https://git-wip-us.apache.org/repos/asf?p=activemq-nms-amqp.git)|[activemq-nms-amqp](https://github.com/apache/activemq-nms-amqp)| -|NMS EMS|[activemq-nms-ems](https://git-wip-us.apache.org/repos/asf?p=activemq-nms-ems.git)|[activemq-nms-ems](https://github.com/apache/activemq-nms-ems)| -|NMS OpenWire|[activemq-nms-openwire](https://git-wip-us.apache.org/repos/asf?p=activemq-nms-openwire.git)|[activemq-nms-openwire](https://github.com/apache/activemq-nms-openwire)| -|NMS MSMQ|[activemq-nms-msmq](https://git-wip-us.apache.org/repos/asf?p=activemq-nms-msmq.git)|[activemq-nms-msmq](https://github.com/apache/activemq-nms-msmq)| -|NMS STOMP|[activemq-nms-stomp](https://git-wip-us.apache.org/repos/asf?p=activemq-nms-stomp.git)|[activemq-nms-stomp](https://github.com/apache/activemq-nms-stomp)| -|NMS XMS|[activemq-nms-xms](https://git-wip-us.apache.org/repos/asf?p=activemq-nms-xms.git)|[activemq-nms-xms](https://github.com/apache/activemq-nms-xms)| -|NMS ZMQ|[activemq-nms-zmq](https://git-wip-us.apache.org/repos/asf?p=activemq-nms-zmq.git)|[activemq-nms-zmq](https://github.com/apache/activemq-nms-zmq)| -|CLI Tools|[activemq-cli-tools](https://git-wip-us.apache.org/repos/asf?p=activemq-cli-tools.git)|[activemq-cli-tools](https://github.com/apache/activemq-cli-tools)| -|CPP|[activemq-cpp](https://git-wip-us.apache.org/repos/asf?p=activemq-cpp.git)|[activemq-cpp](https://github.com/apache/activemq-cpp)| -|Website|[activemq-website](https://git-wip-us.apache.org/repos/asf?p=activemq-website.git)|[activemq-website](https://github.com/apache/activemq-website)| +|Classic|[activemq](https://gitbox.apache.org/repos/asf/activemq.git)|[activemq](https://github.com/apache/activemq)| +|Artemis|[activemq-artemis](https://gitbox.apache.org/repos/asf/activemq-artemis.git)|[activemq-artemis](https://github.com/apache/activemq-artemis)| +|Artemis Examples|[activemq-artemis-examples](https://gitbox.apache.org/repos/asf/activemq-artemis-examples.git)|[activemq-artemis-examples](https://github.com/apache/activemq-artemis-examples)| +|Artemis Native|[activemq-artemis-native](https://gitbox.apache.org/repos/asf/activemq-artemis-native.git)|[activemq-artemis-native](https://github.com/apache/activemq-artemis-native)| +|NMS API|[activemq-nms-api](https://gitbox.apache.org/repos/asf/activemq-nms-api.git)|[activemq-nms-api](https://github.com/apache/activemq-nms-api)| +|NMS AMQP|[activemq-nms-amqp](https://gitbox.apache.org/repos/asf/activemq-nms-amqp.git)|[activemq-nms-amqp](https://github.com/apache/activemq-nms-amqp)| +|NMS EMS|[activemq-nms-ems](https://gitbox.apache.org/repos/asf/activemq-nms-ems.git)|[activemq-nms-ems](https://github.com/apache/activemq-nms-ems)| +|NMS OpenWire|[activemq-nms-openwire](https
(activemq-artemis) branch main updated: ARTEMIS-4658 Prevent reflections when using dual address federation
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new fd5d9b9ad0 ARTEMIS-4658 Prevent reflections when using dual address federation fd5d9b9ad0 is described below commit fd5d9b9ad03e15d8b90b4861358ab55c67207525 Author: Timothy Bish AuthorDate: Wed Feb 28 11:03:59 2024 -0500 ARTEMIS-4658 Prevent reflections when using dual address federation When federation is configured in two directions between nodes for an address the message can reflect from one node to another if max hops is not set or not set correctly and in some federation topologies the max hops value can't solve the issue and still result in a working configuration. This reflection should be prevented at the federation consumer level for address consumers. --- .../amqp/broker/ProtonProtocolManager.java | 2 +- .../federation/AMQPFederationAddressConsumer.java | 23 ++- .../AMQPFederationAddressSenderController.java | 44 +++- .../federation/AMQPFederationPolicySupport.java| 8 +- .../amqp/AmqpInboundConnectionTest.java| 4 +- .../connect/AMQPFederationAddressPolicyTest.java | 57 +- .../connect/AMQPFederationServerToServerTest.java | 226 + 7 files changed, 339 insertions(+), 25 deletions(-) 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 07bb6ed407..6f246531e1 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 @@ -238,7 +238,7 @@ public class ProtonProtocolManager extends AbstractProtocolManager filtersMap = new HashMap<>(); +filtersMap.put(AmqpSupport.NO_LOCAL_NAME, AmqpNoLocalFilter.NO_LOCAL); if (consumerInfo.getFilterString() != null && !consumerInfo.getFilterString().isEmpty()) { final AmqpJmsSelectorFilter jmsFilter = new AmqpJmsSelectorFilter(consumerInfo.getFilterString()); - final Map filtersMap = new HashMap<>(); - filtersMap.put(AmqpSupport.JMS_SELECTOR_KEY, jmsFilter); - source.setFilter(filtersMap); + filtersMap.put(AmqpSupport.JMS_SELECTOR_KEY, jmsFilter); } +source.setOutcomes(Arrays.copyOf(DEFAULT_OUTCOMES, DEFAULT_OUTCOMES.length)); +source.setDurable(TerminusDurability.NONE); +source.setExpiryPolicy(TerminusExpiryPolicy.LINK_DETACH); +source.setAddress(address); +source.setFilter(filtersMap); + target.setAddress(address); final Map addressSourceProperties = new HashMap<>(); @@ -526,6 +530,11 @@ public class AMQPFederationAddressConsumer implements FederationConsumerInternal if (message instanceof ICoreMessage) { baseMessage = incrementCoreMessageHops((ICoreMessage) message); + + // Add / Update the connection Id value to reflect the remote container Id so that the + // no-local filter of a federation address receiver directed back to the source of this + // message will exclude it as intended. + baseMessage.putStringProperty(MessageUtil.CONNECTION_ID_PROPERTY_NAME_STRING, getConnection().getRemoteContainer()); } else { baseMessage = incrementAMQPMessageHops((AMQPMessage) message); } diff --git a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederationAddressSenderController.java b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederationAddressSenderController.java index 2ac48d55a4..56759303f6 100644 --- a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederationAddressSenderController.java +++ b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederationAddressSenderController.java @@ -48,6 +48,7 @@ import org.apache.activemq.artemis.protocol.amqp.proton.AMQPSessionContext; import org.apache.activemq.artemis.protocol.amqp.proton.AmqpSupport; import org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerSenderContext; import org.apache.activemq.artemis.protocol.amqp.proton
(activemq-artemis) branch main updated: ARTEMIS-4656: remove superflous artemis-spring-integration module
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 723c11ac15 ARTEMIS-4656: remove superflous artemis-spring-integration module 723c11ac15 is described below commit 723c11ac15ebb086b1ede805254dda24908c8452 Author: Robbie Gemmell AuthorDate: Tue Feb 27 15:58:53 2024 + ARTEMIS-4656: remove superflous artemis-spring-integration module --- artemis-bom/pom.xml| 5 -- integration/activemq-spring-integration/pom.xml| 51 --- .../integration/spring/SpringBindingRegistry.java | 59 -- .../integration/spring/SpringJmsBootstrap.java | 40 --- pom.xml| 1 - tests/compatibility-tests/pom.xml | 4 -- 6 files changed, 160 deletions(-) diff --git a/artemis-bom/pom.xml b/artemis-bom/pom.xml index 27b4aafcfc..a44ffac759 100644 --- a/artemis-bom/pom.xml +++ b/artemis-bom/pom.xml @@ -218,11 +218,6 @@ artemis-service-extensions ${project.version} - -org.apache.activemq -artemis-spring-integration -${project.version} - org.apache.activemq artemis-stomp-protocol diff --git a/integration/activemq-spring-integration/pom.xml b/integration/activemq-spring-integration/pom.xml deleted file mode 100644 index 690542d8ee..00 --- a/integration/activemq-spring-integration/pom.xml +++ /dev/null @@ -1,51 +0,0 @@ - - -http://maven.apache.org/POM/4.0.0; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd;> - 4.0.0 - - - org.apache.activemq - artemis-pom - 2.33.0-SNAPSHOT - ../../artemis-pom/pom.xml - - - artemis-spring-integration - jar - ActiveMQ Artemis Spring Integration - - - ${project.basedir}/../.. - - - - - org.apache.activemq - artemis-server - - - org.apache.activemq - artemis-jms-server - - - org.springframework - spring-beans - - - - diff --git a/integration/activemq-spring-integration/src/main/java/org/apache/activemq/artemis/integration/spring/SpringBindingRegistry.java b/integration/activemq-spring-integration/src/main/java/org/apache/activemq/artemis/integration/spring/SpringBindingRegistry.java deleted file mode 100644 index 892eb6ffa3..00 --- a/integration/activemq-spring-integration/src/main/java/org/apache/activemq/artemis/integration/spring/SpringBindingRegistry.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * 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.integration.spring; - -import org.apache.activemq.artemis.spi.core.naming.BindingRegistry; -import org.springframework.beans.factory.NoSuchBeanDefinitionException; -import org.springframework.beans.factory.config.ConfigurableBeanFactory; - -/** - * This has been deprecated since org.apache.activemq.artemis.integration.spring.SpringJmsBootstrap was also deprecated. - */ -@Deprecated -public class SpringBindingRegistry implements BindingRegistry { - - private ConfigurableBeanFactory factory; - - public SpringBindingRegistry(ConfigurableBeanFactory factory) { - this.factory = factory; - } - - @Override - public Object lookup(String name) { - Object obj = null; - try { - obj = factory.getBean(name); - } catch (NoSuchBeanDefinitionException e) { - //ignore - } - return obj; - } - - @Override - public boolean bind(String name, Object obj) { - factory.registerSingleton(name, obj); - return true; - } - - @Override - public void unbind(String name) { - } - - @Override - public void close() { - } -} diff --git a/integration/activemq-spring-integration/src/main/java/org/apache/activemq/artemis/integration/spring/SpringJmsBootstrap.jav
(activemq-artemis-examples) branch development updated: ARTEMIS-4656: remove unused artemis-spring-integration module dep, add used artemis-server and artemis-jms-client deps
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch development in repository https://gitbox.apache.org/repos/asf/activemq-artemis-examples.git The following commit(s) were added to refs/heads/development by this push: new 328ca27 ARTEMIS-4656: remove unused artemis-spring-integration module dep, add used artemis-server and artemis-jms-client deps 328ca27 is described below commit 328ca274d96c31a9c03705dad2f8bf6807a3f650 Author: Robbie Gemmell AuthorDate: Tue Feb 27 15:52:33 2024 + ARTEMIS-4656: remove unused artemis-spring-integration module dep, add used artemis-server and artemis-jms-client deps --- examples/features/standard/spring-integration/pom.xml | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/examples/features/standard/spring-integration/pom.xml b/examples/features/standard/spring-integration/pom.xml index a0967bc..7ea1d47 100644 --- a/examples/features/standard/spring-integration/pom.xml +++ b/examples/features/standard/spring-integration/pom.xml @@ -38,8 +38,11 @@ under the License. org.apache.activemq - artemis-spring-integration - ${project.version} + artemis-jms-client + + + org.apache.activemq + artemis-server jakarta.jms
(activemq-artemis) branch main updated: ARTEMIS-4653 Create federation consumers for specific queue consumer filters
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 91556729f1 ARTEMIS-4653 Create federation consumers for specific queue consumer filters 91556729f1 is described below commit 91556729f13c8d1e6a9d077ddacf63e00ffb46dc Author: Timothy Bish AuthorDate: Wed Feb 21 11:48:08 2024 -0500 ARTEMIS-4653 Create federation consumers for specific queue consumer filters When Queue consumers attach with filters use those instead of the Queue filter to filter the messages that are federated to avoid stranding of messages on the local broker. This will result in multiple federation consumers if the various attached local consumers all use different filters but does keep unwanted messages on the remote so that consumers there can consume those. --- .../amqp/connect/federation/AMQPFederation.java| 10 + .../AMQPFederationAddressPolicyManager.java| 19 +- .../federation/AMQPFederationConfiguration.java| 46 .../federation/AMQPFederationConstants.java| 21 ++ .../AMQPFederationConsumerConfiguration.java | 24 ++ .../federation/AMQPFederationQueueConsumer.java| 9 +- .../AMQPFederationQueuePolicyManager.java | 36 +++ .../AMQPFederationQueueSenderController.java | 39 ++-- .../connect/federation/AMQPFederationSource.java | 19 ++ .../connect/federation/AMQPFederationTarget.java | 10 + .../internal/FederationGenericConsumerInfo.java| 41 +--- .../internal/FederationQueuePolicyManager.java | 40 ++-- .../AMQPFederationConfigurationReloadTest.java | 22 +- .../amqp/connect/AMQPFederationConnectTest.java| 6 + .../connect/AMQPFederationQueuePolicyTest.java | 260 + .../connect/AMQPFederationServerToServerTest.java | 94 16 files changed, 607 insertions(+), 89 deletions(-) diff --git a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederation.java b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederation.java index 362ea8ef8e..d2a8cf3542 100644 --- a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederation.java +++ b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederation.java @@ -151,6 +151,16 @@ public abstract class AMQPFederation implements FederationInternal { */ public abstract int getLargeMessageThreshold(); + /** +* @return the true if the federation should ignore filters on queue consumers. +*/ + public abstract boolean isIgnoreQueueConsumerFilters(); + + /** +* @return the true if the federation should ignore priorities on queue consumers. +*/ + public abstract boolean isIgnoreQueueConsumerPriorities(); + /** * @return the true if the federation should support core message tunneling. */ diff --git a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederationAddressPolicyManager.java b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederationAddressPolicyManager.java index c551a4ae7f..f6bc4f9e2d 100644 --- a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederationAddressPolicyManager.java +++ b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederationAddressPolicyManager.java @@ -23,6 +23,7 @@ import java.lang.invoke.MethodHandles; import java.util.Objects; import java.util.concurrent.atomic.AtomicBoolean; +import org.apache.activemq.artemis.api.config.ActiveMQDefaultConfiguration; import org.apache.activemq.artemis.api.core.ActiveMQException; import org.apache.activemq.artemis.core.server.ActiveMQServerLogger; import org.apache.activemq.artemis.core.server.Divert; @@ -31,9 +32,11 @@ import org.apache.activemq.artemis.core.server.impl.AddressInfo; import org.apache.activemq.artemis.protocol.amqp.federation.FederationConsumer; import org.apache.activemq.artemis.protocol.amqp.federation.FederationConsumerInfo; import org.apache.activemq.artemis.protocol.amqp.federation.FederationReceiveFromAddressPolicy; +import org.apache.activemq.artemis.protocol.amqp.federation.FederationConsumerInfo.Role; import org.apache.activemq.artemis.protocol.amqp.federation.internal.FederationAddressPolicyManager; import org.apache.activemq.artemis.protocol.amqp.federation.internal.FederationConsumerInternal; import
(activemq-artemis) branch main updated: ARTEMIS-4645 Update broker connection tests to use unique broker names
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new ddbf357625 ARTEMIS-4645 Update broker connection tests to use unique broker names ddbf357625 is described below commit ddbf357625d77695b6eec3433e9c2964b62f2ddd Author: Timothy Bish AuthorDate: Thu Feb 15 15:24:25 2024 -0500 ARTEMIS-4645 Update broker connection tests to use unique broker names Use the test name to create unique names for broker connections in the tests and the associated test logs --- .../connect/AMQPFederationAddressPolicyTest.java | 160 ++-- .../connect/AMQPFederationBrokerPliuginTest.java | 22 +-- .../AMQPFederationConfigurationReloadTest.java | 38 ++--- .../amqp/connect/AMQPFederationConnectTest.java| 42 +++--- .../connect/AMQPFederationQueuePolicyTest.java | 166 ++--- .../connect/AMQPFederationServerToServerTest.java | 44 +++--- .../amqp/connect/AMQPMirrorConnectionTest.java | 24 +-- 7 files changed, 248 insertions(+), 248 deletions(-) diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/connect/AMQPFederationAddressPolicyTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/connect/AMQPFederationAddressPolicyTest.java index e267dc7757..21c4b55b12 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/connect/AMQPFederationAddressPolicyTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/connect/AMQPFederationAddressPolicyTest.java @@ -173,11 +173,11 @@ public class AMQPFederationAddressPolicyTest extends AmqpClientTestSupport { receiveFromAddress.setAutoDeleteMessageCount(-1L); final AMQPFederatedBrokerConnectionElement element = new AMQPFederatedBrokerConnectionElement(); - element.setName("sample-federation"); + element.setName(getTestName()); element.addLocalAddressPolicy(receiveFromAddress); final AMQPBrokerConnectConfiguration amqpConnection = -new AMQPBrokerConnectConfiguration("test-address-federation", "tcp://" + remoteURI.getHost() + ":" + remoteURI.getPort()); +new AMQPBrokerConnectConfiguration(getTestName(), "tcp://" + remoteURI.getHost() + ":" + remoteURI.getPort()); amqpConnection.setReconnectAttempts(0);// No reconnects amqpConnection.addElement(element); @@ -193,7 +193,7 @@ public class AMQPFederationAddressPolicyTest extends AmqpClientTestSupport { peer.expectAttach().ofReceiver() .withDesiredCapability(FEDERATION_ADDRESS_RECEIVER.toString()) - .withName(allOf(containsString("sample-federation"), +.withName(allOf(containsString(getTestName()), containsString("test"), containsString("address-receiver"), containsString(server.getNodeID().toString( @@ -268,11 +268,11 @@ public class AMQPFederationAddressPolicyTest extends AmqpClientTestSupport { receiveFromAddress.setAutoDeleteMessageCount(-1L); final AMQPFederatedBrokerConnectionElement element = new AMQPFederatedBrokerConnectionElement(); - element.setName("sample-federation"); + element.setName(getTestName()); element.addLocalAddressPolicy(receiveFromAddress); final AMQPBrokerConnectConfiguration amqpConnection = -new AMQPBrokerConnectConfiguration("test-address-federation", "tcp://" + remoteURI.getHost() + ":" + remoteURI.getPort()); +new AMQPBrokerConnectConfiguration(getTestName(), "tcp://" + remoteURI.getHost() + ":" + remoteURI.getPort()); amqpConnection.setReconnectAttempts(0);// No reconnects amqpConnection.addElement(element); @@ -288,7 +288,7 @@ public class AMQPFederationAddressPolicyTest extends AmqpClientTestSupport { peer.waitForScriptToComplete(5, TimeUnit.SECONDS); peer.expectAttach().ofReceiver() .withDesiredCapability(FEDERATION_ADDRESS_RECEIVER.toString()) - .withName(allOf(containsString("sample-federation"), +.withName(allOf(containsString(getTestName()), containsString("test"), containsString("address-receiver"),
(activemq-artemis) branch main updated: ARTEMIS-4642 Fix tracked federated demand when links are rejected or blocked
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new b8800337df ARTEMIS-4642 Fix tracked federated demand when links are rejected or blocked b8800337df is described below commit b8800337df4b2e9a7ab7fde42a1a0bd8c342a6ba Author: Timothy Bish AuthorDate: Thu Feb 15 12:02:06 2024 -0500 ARTEMIS-4642 Fix tracked federated demand when links are rejected or blocked Under some scenarios federation demand tracking is losing track of total demand for a federated resource leading to teardown of federated links before all local demand has been removed from the resource. This occurs most often if the attempts to establish a federation link are refused because the resource hasn't yet been created and an eventual attach succeeds, but can also occur in combination with a plugin blocking or not blocking federation link creation in some cases. --- .../federation/AMQPFederationAddressConsumer.java | 4 +- .../federation/AMQPFederationQueueConsumer.java| 4 +- .../amqp/federation/FederationConsumerInfo.java| 5 + .../internal/FederationAddressEntry.java | 65 - .../internal/FederationAddressPolicyManager.java | 139 +- .../internal/FederationGenericConsumerInfo.java| 8 + .../federation/internal/FederationQueueEntry.java | 62 - .../internal/FederationQueuePolicyManager.java | 145 ++- .../connect/AMQPFederationAddressPolicyTest.java | 191 ++ .../connect/AMQPFederationQueuePolicyTest.java | 285 + 10 files changed, 770 insertions(+), 138 deletions(-) diff --git a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederationAddressConsumer.java b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederationAddressConsumer.java index 9338bd18a1..dda6e95cd3 100644 --- a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederationAddressConsumer.java +++ b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederationAddressConsumer.java @@ -165,7 +165,7 @@ public class AMQPFederationAddressConsumer implements FederationConsumerInternal if (started) { started = false; connection.runLater(() -> { - federation.removeLinkClosedInterceptor(consumerInfo.getFqqn()); + federation.removeLinkClosedInterceptor(consumerInfo.getId()); if (receiver != null) { try { @@ -350,7 +350,7 @@ public class AMQPFederationAddressConsumer implements FederationConsumerInternal // Intercept remote close and check for valid reasons for remote closure such as // the remote peer not having a matching queue for this subscription or from an // operator manually closing the link. - federation.addLinkClosedInterceptor(consumerInfo.getFqqn(), remoteCloseInterceptor); + federation.addLinkClosedInterceptor(consumerInfo.getId(), remoteCloseInterceptor); receiver = new AMQPFederatedAddressDeliveryReceiver(session, consumerInfo, protonReceiver); diff --git a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederationQueueConsumer.java b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederationQueueConsumer.java index ea2455c30c..8c386ab41f 100644 --- a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederationQueueConsumer.java +++ b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/federation/AMQPFederationQueueConsumer.java @@ -162,7 +162,7 @@ public class AMQPFederationQueueConsumer implements FederationConsumerInternal { if (started) { started = false; connection.runLater(() -> { - federation.removeLinkClosedInterceptor(consumerInfo.getFqqn()); + federation.removeLinkClosedInterceptor(consumerInfo.getId()); if (receiver != null) { try { @@ -341,7 +341,7 @@ public class AMQPFederationQueueConsumer implements FederationConsumerInternal { // Intercept remote close and check for valid reasons for remote closure such as // the remote peer not having a matching queue for this subscription or from an // op
(activemq-artemis) branch main updated: ARTEMIS-4644: convert some broker-connection tests to use the ProtonJ2 test peer
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 42a2e4637f ARTEMIS-4644: convert some broker-connection tests to use the ProtonJ2 test peer 42a2e4637f is described below commit 42a2e4637f9061689a0a383067543a9895fcd234 Author: Robbie Gemmell AuthorDate: Thu Feb 15 15:54:24 2024 + ARTEMIS-4644: convert some broker-connection tests to use the ProtonJ2 test peer Changes from myself and Tim Bish --- pom.xml| 1 - tests/integration-tests/pom.xml| 13 - .../amqp/connect/AMQPConnectSaslTest.java | 469 + .../tests/integration/amqp/connect/MockServer.java | 81 --- .../amqp/connect/ValidateAMQPErrorsTest.java | 580 - 5 files changed, 343 insertions(+), 801 deletions(-) diff --git a/pom.xml b/pom.xml index 264c780a0d..d208f015f4 100644 --- a/pom.xml +++ b/pom.xml @@ -187,7 +187,6 @@ 4.0.13 - 4.5.3 3.3.1 5.15.0 diff --git a/tests/integration-tests/pom.xml b/tests/integration-tests/pom.xml index 15d115d79d..198cc8e4a3 100644 --- a/tests/integration-tests/pom.xml +++ b/tests/integration-tests/pom.xml @@ -358,19 +358,6 @@ ${netty-tcnative-version} - - io.vertx - vertx-proton - ${vertx.version} - test - - - io.vertx - vertx-core - ${vertx.version} - test - - org.apache.activemq diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/connect/AMQPConnectSaslTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/connect/AMQPConnectSaslTest.java index 7140d75bfe..f8b14b6bf3 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/connect/AMQPConnectSaslTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/connect/AMQPConnectSaslTest.java @@ -16,47 +16,27 @@ */ package org.apache.activemq.artemis.tests.integration.amqp.connect; -import java.nio.charset.StandardCharsets; -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; -import java.security.SecureRandom; -import java.util.Objects; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.ExecutionException; +import java.lang.invoke.MethodHandles; +import java.net.URI; import java.util.concurrent.TimeUnit; -import javax.crypto.Mac; -import javax.security.auth.login.LoginException; - import org.apache.activemq.artemis.core.config.amqpBrokerConnectivity.AMQPBrokerConnectConfiguration; import org.apache.activemq.artemis.core.server.ActiveMQServer; -import org.apache.activemq.artemis.protocol.amqp.sasl.SASLResult; -import org.apache.activemq.artemis.protocol.amqp.sasl.scram.SCRAMServerSASL; -import org.apache.activemq.artemis.spi.core.security.scram.SCRAM; -import org.apache.activemq.artemis.spi.core.security.scram.ScramUtils; -import org.apache.activemq.artemis.spi.core.security.scram.UserData; import org.apache.activemq.artemis.tests.integration.amqp.AmqpClientTestSupport; -import org.apache.qpid.proton.engine.Sasl; -import org.apache.qpid.proton.engine.Sasl.SaslOutcome; -import org.apache.qpid.proton.engine.Transport; -import org.junit.After; -import org.junit.Before; +import org.apache.qpid.protonj2.test.driver.ProtonTestServer; +import org.apache.qpid.protonj2.test.driver.ProtonTestServerOptions; +import org.apache.qpid.protonj2.test.driver.codec.security.SaslCode; import org.junit.Test; - -import io.vertx.core.Handler; -import io.vertx.core.Vertx; -import io.vertx.core.http.ClientAuth; -import io.vertx.core.net.JksOptions; -import io.vertx.core.net.NetSocket; -import io.vertx.proton.ProtonConnection; -import io.vertx.proton.ProtonServerOptions; -import io.vertx.proton.sasl.ProtonSaslAuthenticator; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * See the tests/security-resources/build.sh script for details on the security resources used. */ public class AMQPConnectSaslTest extends AmqpClientTestSupport { + private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); + private static final int BROKER_PORT_NUM = AMQP_PORT + 1; private static final String SERVER_KEYSTORE_NAME = "server-keystore.jks"; @@ -74,9 +54,7 @@ public class AMQPConnectSaslTest extends AmqpClientTestSupport { private static final String PLAIN = "PLAIN"; private static final String ANONYMOUS = "ANONYMOUS"; private static final String EXTERNAL = "EXTERNAL"; - - private Vertx vertx; - private MockServer moc
(activemq-artemis) branch main updated: update actions to resolve deprecation warnings, and bump OS version
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new da0287ddba update actions to resolve deprecation warnings, and bump OS version da0287ddba is described below commit da0287ddba675e0828e6ecebc1e1e1c136a59de6 Author: Robbie Gemmell AuthorDate: Tue Feb 13 11:46:19 2024 + update actions to resolve deprecation warnings, and bump OS version --- .github/workflows/build.yml | 18 +- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index eb97238471..46db49b1b1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,20 +24,20 @@ env: jobs: test: name: Test (${{ matrix.java }}) -runs-on: ubuntu-20.04 +runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: java: [ 11, 17, 21 ] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: path: activemq-artemis - name: Cache Maven Local Repo if: ${{ !startsWith(github.ref, 'refs/tags/') }} -uses: actions/cache@v3 +uses: actions/cache@v4 with: path: | ~/.m2/repository/ @@ -46,7 +46,7 @@ jobs: ${{ runner.os }}-mvn- - name: Install JDK ${{ matrix.java }} -uses: actions/setup-java@v3 +uses: actions/setup-java@v4 with: java-version: ${{ matrix.java }} distribution: 'temurin' @@ -66,20 +66,20 @@ jobs: checks: name: Checks (${{ matrix.java }}) -runs-on: ubuntu-20.04 +runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: java: [ 11, 17, 21 ] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: path: activemq-artemis - name: Cache Maven Local Repo if: ${{ !startsWith(github.ref, 'refs/tags/') }} -uses: actions/cache@v3 +uses: actions/cache@v4 with: path: | ~/.m2/repository/ @@ -88,13 +88,13 @@ jobs: ${{ runner.os }}-mvn- - name: Install JDK ${{ matrix.java }} -uses: actions/setup-java@v3 +uses: actions/setup-java@v4 with: java-version: ${{ matrix.java }} distribution: 'temurin' - name: Checkout Artemis Examples Repo -uses: actions/checkout@v3 +uses: actions/checkout@v4 with: repository: ${{ env.EXAMPLES_REPO }} ref: ${{ env.EXAMPLES_BRANCH }}
(activemq-artemis) branch main updated: ARTEMIS-4628 Upgrade vertx version to 4.5.3
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 5969c20777 ARTEMIS-4628 Upgrade vertx version to 4.5.3 5969c20777 is described below commit 5969c207775a90ffa85b1cdb2a2a916917f360cb Author: Domenico Francesco Bruscino AuthorDate: Tue Feb 13 08:52:15 2024 +0100 ARTEMIS-4628 Upgrade vertx version to 4.5.3 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4bcf1cd70e..35fb5337fd 100644 --- a/pom.xml +++ b/pom.xml @@ -185,7 +185,7 @@ 4.0.13 - 4.5.2 + 4.5.3 3.3.1 5.15.0
(activemq-artemis) branch main updated: ARTEMIS-4586 Auto reload web binding SSL stores on change
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 29781bd5da ARTEMIS-4586 Auto reload web binding SSL stores on change 29781bd5da is described below commit 29781bd5da6f9892a6fb80c2da5dd7eb3c0e4ebd Author: Domenico Francesco Bruscino AuthorDate: Sun Jan 28 13:40:14 2024 +0100 ARTEMIS-4586 Auto reload web binding SSL stores on change --- .../apache/activemq/artemis/dto/BindingDTO.java| 11 +++ .../apache/activemq/artemis/dto/WebServerDTO.java | 11 +++ .../artemis/dto/test/WebServerDTOTest.java | 1 + artemis-web/pom.xml| 1 + .../artemis/component/WebServerComponent.java | 96 +- .../activemq/cli/test/WebServerComponentTest.java | 69 +++- docs/user-manual/web-server.adoc | 7 ++ .../integration/web/WebServerDTOConfigTest.java| 4 + 8 files changed, 198 insertions(+), 2 deletions(-) diff --git a/artemis-dto/src/main/java/org/apache/activemq/artemis/dto/BindingDTO.java b/artemis-dto/src/main/java/org/apache/activemq/artemis/dto/BindingDTO.java index 261351a06f..64cb3b5f1e 100644 --- a/artemis-dto/src/main/java/org/apache/activemq/artemis/dto/BindingDTO.java +++ b/artemis-dto/src/main/java/org/apache/activemq/artemis/dto/BindingDTO.java @@ -81,6 +81,9 @@ public class BindingDTO { @XmlAttribute private Boolean sniRequired; + @XmlAttribute + private Boolean sslAutoReload; + public String getKeyStorePassword() throws Exception { return getPassword(this.keyStorePassword); } @@ -225,6 +228,14 @@ public class BindingDTO { this.sniRequired = sniRequired; } + public Boolean getSslAutoReload() { + return sslAutoReload; + } + + public void setSslAutoReload(Boolean sslAutoReload) { + this.sslAutoReload = sslAutoReload; + } + public BindingDTO() { apps = new ArrayList<>(); } diff --git a/artemis-dto/src/main/java/org/apache/activemq/artemis/dto/WebServerDTO.java b/artemis-dto/src/main/java/org/apache/activemq/artemis/dto/WebServerDTO.java index 91f12ad9b5..8f8bbeaeef 100644 --- a/artemis-dto/src/main/java/org/apache/activemq/artemis/dto/WebServerDTO.java +++ b/artemis-dto/src/main/java/org/apache/activemq/artemis/dto/WebServerDTO.java @@ -104,6 +104,9 @@ public class WebServerDTO extends ComponentDTO { @XmlAttribute public Integer idleThreadTimeout = 6; + @XmlAttribute + public Integer scanPeriod; + public String getPath() { return path; } @@ -168,6 +171,14 @@ public class WebServerDTO extends ComponentDTO { this.idleThreadTimeout = idleThreadTimeout; } + public Integer getScanPeriod() { + return scanPeriod; + } + + public void setScanPeriod(Integer scanPeriod) { + this.scanPeriod = scanPeriod; + } + public List getBindings() { return bindings; } diff --git a/artemis-dto/src/test/java/org/apache/activemq/artemis/dto/test/WebServerDTOTest.java b/artemis-dto/src/test/java/org/apache/activemq/artemis/dto/test/WebServerDTOTest.java index f1e636c767..54709d04cc 100644 --- a/artemis-dto/src/test/java/org/apache/activemq/artemis/dto/test/WebServerDTOTest.java +++ b/artemis-dto/src/test/java/org/apache/activemq/artemis/dto/test/WebServerDTOTest.java @@ -49,6 +49,7 @@ public class WebServerDTOTest { Assert.assertNull(defaultBinding.getTrustStorePassword()); Assert.assertNull(defaultBinding.getSniHostCheck()); Assert.assertNull(defaultBinding.getSniRequired()); + Assert.assertNull(defaultBinding.getSslAutoReload()); } @Test diff --git a/artemis-web/pom.xml b/artemis-web/pom.xml index 9f38ddb676..8428141215 100644 --- a/artemis-web/pom.xml +++ b/artemis-web/pom.xml @@ -189,6 +189,7 @@ server-cert.pem server-key.pem server-pem-props-config.txt + other-server-keystore.p12 diff --git a/artemis-web/src/main/java/org/apache/activemq/artemis/component/WebServerComponent.java b/artemis-web/src/main/java/org/apache/activemq/artemis/component/WebServerComponent.java index 79f4fcbec5..a67096a5ee 100644 --- a/artemis-web/src/main/java/org/apache/activemq/artemis/component/WebServerComponent.java +++ b/artemis-web/src/main/java/org/apache/activemq/artemis/component/WebServerComponent.java @@ -25,7 +25,9 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; import java.util.EnumSet; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; import org.apache.activemq.artemis.ActiveMQWebLogger; @@ -51,8 +53,10 @@
(activemq-artemis) branch main updated: ARTEMIS-4639 NPEs when TopologyMember's primary is null
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 20840cfdf1 ARTEMIS-4639 NPEs when TopologyMember's primary is null 20840cfdf1 is described below commit 20840cfdf1de78bf6a53aa9a98510cb52456b81a Author: Justin Bertram AuthorDate: Wed Feb 7 09:20:16 2024 -0600 ARTEMIS-4639 NPEs when TopologyMember's primary is null --- .../protocol/openwire/OpenWireProtocolManager.java | 7 ++ .../openwire/amq/OpenWireProtocolManagerTest.java | 80 ++ .../server/cluster/impl/ClusterConnectionImpl.java | 11 +-- .../impl/ClusterConnectionImplMockTest.java| 94 -- 4 files changed, 182 insertions(+), 10 deletions(-) diff --git a/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireProtocolManager.java b/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireProtocolManager.java index 56ff48552c..4d9a52e434 100644 --- a/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireProtocolManager.java +++ b/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireProtocolManager.java @@ -232,6 +232,13 @@ public class OpenWireProtocolManager extends AbstractProtocolManagerhttp://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.openwire.amq; + +import java.util.concurrent.Executors; + +import io.netty.buffer.Unpooled; +import org.apache.activemq.artemis.api.core.client.TopologyMember; +import org.apache.activemq.artemis.core.buffers.impl.ChannelBufferWrapper; +import org.apache.activemq.artemis.core.client.impl.TopologyMemberImpl; +import org.apache.activemq.artemis.core.persistence.StorageManager; +import org.apache.activemq.artemis.core.persistence.impl.nullpm.NullStorageManager; +import org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection; +import org.apache.activemq.artemis.core.protocol.openwire.OpenWireProtocolManager; +import org.apache.activemq.artemis.core.security.SecurityStore; +import org.apache.activemq.artemis.core.server.ActiveMQServer; +import org.apache.activemq.artemis.core.server.ServerSession; +import org.apache.activemq.artemis.core.server.cluster.ClusterManager; +import org.apache.activemq.artemis.spi.core.remoting.Connection; +import org.apache.activemq.artemis.utils.ActiveMQThreadFactory; +import org.apache.activemq.artemis.utils.RandomUtil; +import org.apache.activemq.artemis.utils.actors.ArtemisExecutor; +import org.apache.activemq.command.ConnectionId; +import org.apache.activemq.command.ConnectionInfo; +import org.junit.Test; +import org.mockito.Mockito; + +public class OpenWireProtocolManagerTest { + + @Test + public void testNullPrimaryOnNodeUp() throws Exception { + + ArtemisExecutor executor = ArtemisExecutor.delegate(Executors.newSingleThreadExecutor(ActiveMQThreadFactory.defaultThreadFactory(getClass().getName(; + + try { + ClusterManager clusterManager = Mockito.mock(ClusterManager.class); + ActiveMQServer server = Mockito.mock(ActiveMQServer.class); + StorageManager storageManager = new NullStorageManager(); + Mockito.when(server.getStorageManager()).thenReturn(storageManager); + Mockito.when(server.newOperationContext()).thenReturn(storageManager.newContext(executor)); + Mockito.when(server.getClusterManager()).thenReturn(clusterManager); + Mockito.when(clusterManager.getDefaultConnection(Mockito.any())).thenReturn(null); + SecurityStore securityStore = Mockito.mock(SecurityStore.class); + Mockito.when(server.getSecurityStore()).thenReturn(securityStore); + Mockito.when(securityStore.authenticate(Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any())).thenReturn(null); + ServerSession serverSession = Mockito.mock(ServerSession.class); + Mockito.when(serverSession.getName()).thenReturn("session"); + Mockito.doReturn(serverSession).when(server).createSession(Mockito.anyString(), Mockito.any(), Mockito.any(), Mockito.anyInt(), Mockito.any(), Mockito.anyBoolean(), Mockito.anyBoolean(), Mockito.anyBoolean(), Mockito.anyBoolean(), Mockito.any(), Mockito.any(), Mockito.anyBoolean(), Mockito.any(), Mockito.any(), Mockito.anyString(), Mockito.any(),
(activemq-artemis) branch main updated: ARTEMIS-4638 fix bashism in install validation script
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 04b5585d66 ARTEMIS-4638 fix bashism in install validation script 04b5585d66 is described below commit 04b5585d662b90543aff91c4e904ba7a673ae1e3 Author: Justin Bertram AuthorDate: Tue Feb 6 11:59:01 2024 -0600 ARTEMIS-4638 fix bashism in install validation script --- artemis-distribution/src/test/scripts/validate-instalation.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/artemis-distribution/src/test/scripts/validate-instalation.sh b/artemis-distribution/src/test/scripts/validate-instalation.sh index 64a999499d..95465e7d96 100755 --- a/artemis-distribution/src/test/scripts/validate-instalation.sh +++ b/artemis-distribution/src/test/scripts/validate-instalation.sh @@ -76,7 +76,7 @@ sleep 5 export HTTP_CODE=$(curl -H "Origin:http://localhost; -u admin:admin --write-out '%{http_code}' --silent --output /dev/null http://localhost:8161/console/jolokia/read/org.apache.activemq.artemis:broker=%220.0.0.0%22/Version) -if [[ "$HTTP_CODE" -ne 200 ]] +if [ "$HTTP_CODE" -ne 200 ] then echo "Artemis Jolokia REST API check failed: " $HTTP_CODE else
(activemq-artemis) branch main updated: ARTEMIS-4630 Fix a typo in earlier commit 7ac6f4e99cc8349b378b4ae9d9ecc0970ac5b2b4
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 306b192e80 ARTEMIS-4630 Fix a typo in earlier commit 7ac6f4e99cc8349b378b4ae9d9ecc0970ac5b2b4 306b192e80 is described below commit 306b192e80e0477c837e2dbfcefe555b2bfafe51 Author: Ângelo Galvão AuthorDate: Tue Feb 6 06:38:42 2024 -0500 ARTEMIS-4630 Fix a typo in earlier commit 7ac6f4e99cc8349b378b4ae9d9ecc0970ac5b2b4 This closes #4811 --- .../org/apache/activemq/artemis/cli/commands/bin/artemis-service| 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/artemis-cli/src/main/resources/org/apache/activemq/artemis/cli/commands/bin/artemis-service b/artemis-cli/src/main/resources/org/apache/activemq/artemis/cli/commands/bin/artemis-service index e412647374..dd15a347ae 100755 --- a/artemis-cli/src/main/resources/org/apache/activemq/artemis/cli/commands/bin/artemis-service +++ b/artemis-cli/src/main/resources/org/apache/activemq/artemis/cli/commands/bin/artemis-service @@ -62,7 +62,7 @@ status() { pid_workdir=$ARTEMIS_INSTANCE if [ `command -v lsof &> /dev/null` ]; then pid_workdir="`lsof -a -d cwd -p ${pid} | awk '{print $9}' | tail -1`" -if +fi # check to see if it's gone... ps -p ${pid} > /dev/null if [ $? -eq 0 ] && [ "$pid_workdir" = "$ARTEMIS_INSTANCE" ]; then
(activemq-artemis) branch main updated: ARTEMIS-4592 ignore more currently-invalid potential upgrades
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 6c251eaa78 ARTEMIS-4592 ignore more currently-invalid potential upgrades 6c251eaa78 is described below commit 6c251eaa782fb27f7b5e20ac1a46ec55453eb7e5 Author: Justin Bertram AuthorDate: Mon Feb 5 13:32:12 2024 -0600 ARTEMIS-4592 ignore more currently-invalid potential upgrades --- pom.xml | 33 + 1 file changed, 33 insertions(+) diff --git a/pom.xml b/pom.xml index 4f36efba17..1eca540711 100644 --- a/pom.xml +++ b/pom.xml @@ -2010,6 +2010,39 @@ + + +org.apache.activemq +maven + + + regex + 6\..* + + + + + +org.apache.qpid +maven + + + regex + 2\..* + + + + + +org.apache.johnzon +maven + + + regex + 2\..* + + + org.springframework
(activemq-artemis-examples) branch development updated: Update CONTRIBUTING.md to cover using the CI job for testing
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch development in repository https://gitbox.apache.org/repos/asf/activemq-artemis-examples.git The following commit(s) were added to refs/heads/development by this push: new 1bdab8a Update CONTRIBUTING.md to cover using the CI job for testing 1bdab8a is described below commit 1bdab8a92b04b3a30239b778d3705bf8006a80e1 Author: Robbie Gemmell AuthorDate: Thu Feb 1 17:56:12 2024 + Update CONTRIBUTING.md to cover using the CI job for testing --- CONTRIBUTING.md | 19 --- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 95e3348..62e4906 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,19 @@ # Contributing -* The `main` branch contains examples for the latest ActiveMQ Artemis release. -* The `development` branch is used for development work, such as creating new examples and making updates requiring as-yet-unreleased changes from the upcoming Artemis release. +Contributions should target the [`development`](https://github.com/apache/activemq-artemis-examples/tree/development) branch. -Contributions should target the `development` branch. +* The [`development`](https://github.com/apache/activemq-artemis-examples/tree/development) branch is used for all development toward the next Artemis release and the related Examples, whether it be improving existing examples, creating new examples, or most especially for making any updates needed to match as-yet-unreleased changes in the upcoming Artemis version. +* The [`main`](https://github.com/apache/activemq-artemis-examples/tree/main) branch contains examples for use with the latest ActiveMQ Artemis release. + +## Testing Changes + +The [GitHub Actions build](https://github.com/apache/activemq-artemis-examples/actions) for the Examples repo can also be used in your fork to test out changes. In order to enable the build in your repository, go to e.g: +`https://github.com//activemq-artemis-examples/actions` + +Use an branch name other than _main_ to prepare your changes. Pushing commits to the examples repo on a _non-main_ branch name causes the build to check out the current revision of the [Artemis main branch](https://github.com/apache/activemq-artemis/tree/main/), build Artemis, match the examples version to the Artemis main version found, and then seperately compile (to give quick feedback when there are issues in later examples) and do verification build+run of many of the examples to ch [...] + +If your examples updates require matching changes to the Artemis build itself, the build upon commit push will likely fail because those changes aren't yet available on the Artemis main branch. You can however also trigger the examples build _manually_ by going to e.g `https://github.com//activemq-artemis-examples/actions/workflows/build.yml` and clicking on the Run Workflow dropdown, which will additionally let you specify an alternative repository and branch/tag to check [...] + +Pushing to the examples main branch does not check out and build Artemis since the main branch is only for use with released Artemis versions, so what is specified on the branch itself is always used as-is. The same is true for any Pull Requests raised that target the examples main branch (though again, Pull Requests should target the `development` branch). + +The GitHub Actions build in the Artemis repo itself takes a somewhat similar but opposing approach, where it normally checks out the examples repo development branch and runs the respective compile check (though it does not run the examples, use the examples repo build for that).
(activemq-website) branch main updated: update script shebangs to work on MacOS too
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-website.git The following commit(s) were added to refs/heads/main by this push: new b78f616b3 update script shebangs to work on MacOS too b78f616b3 is described below commit b78f616b3b146814119bee3b2c69076274adc487 Author: Robbie Gemmell AuthorDate: Thu Feb 1 16:51:51 2024 + update script shebangs to work on MacOS too --- scripts/release/create-artemis-release-file | 2 +- scripts/release/create-artemis-release-notes | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/release/create-artemis-release-file b/scripts/release/create-artemis-release-file index d6f1f1bf4..84b846ad4 100755 --- a/scripts/release/create-artemis-release-file +++ b/scripts/release/create-artemis-release-file @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python3 # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file diff --git a/scripts/release/create-artemis-release-notes b/scripts/release/create-artemis-release-notes index 609b72c8c..d941cb66e 100755 --- a/scripts/release/create-artemis-release-notes +++ b/scripts/release/create-artemis-release-notes @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python3 # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file
(activemq-artemis) branch main updated (f258b27eb4 -> 5afe289490)
This is an automated email from the ASF dual-hosted git repository. robbie pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git from f258b27eb4 ARTEMIS-4601 remove OpenTelemetry deps from main pom new 6f6b3e70a3 NO-JIRA: update release steps to around updating examples new 5afe289490 NO-JIRA: add note about installing PyYAML to use the site release update scripts The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: RELEASING.md | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-)
(activemq-artemis) 02/02: NO-JIRA: add note about installing PyYAML to use the site release update scripts
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git commit 5afe289490429d4cef0cce764c3c7efb143d3bb7 Author: Robbie Gemmell AuthorDate: Thu Feb 1 12:38:16 2024 + NO-JIRA: add note about installing PyYAML to use the site release update scripts --- RELEASING.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/RELEASING.md b/RELEASING.md index b3a47f2aab..9682e05370 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -309,6 +309,8 @@ cd activemq-website ``` **NOTE**: Some of the release scripts use [Python](https://www.python.org/), ensure you have it installed before proceeding. +Also, the [PyYAML](https://pyyaml.org/wiki/PyYAMLDocumentation) lib is used. Examples for installing that include +using `dnf install python3-pyyaml` on Fedora, or installing it using Pip by running `pip install pyyaml`. Once the CDN and Maven Central are up-to-date then update the site as follows:
(activemq-artemis) 01/02: NO-JIRA: update release steps to around updating examples
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git commit 6f6b3e70a3154b43e7522835c1a16bd5197c4bcf Author: Robbie Gemmell AuthorDate: Thu Feb 1 12:21:33 2024 + NO-JIRA: update release steps to around updating examples Note to check out the development branch before running the update script, to get updates to the scripts --- RELEASING.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/RELEASING.md b/RELEASING.md index 0323a3696f..b3a47f2aab 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -339,12 +339,13 @@ Once pushed, the changes should be published automatically by the `jekyll_websit The [examples repo](https://github.com/apache/activemq-artemis-examples) should be updated to reflect the new release and development versions. -Take a fresh clone of the repo and run the provided script, then check the results and push. +Take a fresh clone of the repo, check out the development branch, and run the provided script, then check the results and push. ``` git clone https://gitbox.apache.org/repos/asf/activemq-artemis-examples.git cd activemq-artemis-examples +git checkout development ./scripts/release/update-branch-versions.sh " ``` @@ -353,6 +354,7 @@ Example from the 2.32.0 release: git clone https://gitbox.apache.org/repos/asf/activemq-artemis-examples.git cd activemq-artemis-examples +git checkout development ./scripts/release/update-branch-versions.sh 2.32.0 2.33.0-SNAPSHOT" ```
(activemq-artemis-examples) branch development updated: tweak version update script sed usage to also work on MacOS
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch development in repository https://gitbox.apache.org/repos/asf/activemq-artemis-examples.git The following commit(s) were added to refs/heads/development by this push: new 8c5a154 tweak version update script sed usage to also work on MacOS 8c5a154 is described below commit 8c5a154028ce38cf6425f4cb00c6278a557b9d24 Author: Robbie Gemmell AuthorDate: Thu Feb 1 12:12:39 2024 + tweak version update script sed usage to also work on MacOS --- scripts/update-examples-version.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/update-examples-version.sh b/scripts/update-examples-version.sh index 6ca05b5..dd4d4ae 100755 --- a/scripts/update-examples-version.sh +++ b/scripts/update-examples-version.sh @@ -51,7 +51,8 @@ echo "Setting examples version to ${NEW_VERSION}" # Update root pom parent pom version echo "Updating root pom *parent* version" -sed -i "//,// s~[^<]*~${NEW_VERSION}~g w /dev/stdout" ./pom.xml +sed -i.bak "//,// s~[^<]*~${NEW_VERSION}~g w /dev/stdout" ./pom.xml +rm -f pom.xml.bak # Update root pom version and all the child modules to match echo "Updating root pom version and child modules"
(activemq-artemis) branch main updated: ARTEMIS-4601 remove OpenTelemetry deps from main pom
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new f258b27eb4 ARTEMIS-4601 remove OpenTelemetry deps from main pom f258b27eb4 is described below commit f258b27eb48b78ed8e14d27d2350ef9e7098f0d9 Author: Justin Bertram AuthorDate: Tue Jan 30 15:42:49 2024 -0600 ARTEMIS-4601 remove OpenTelemetry deps from main pom The OpenTelemetry dependencies can be isolated to the `opentelemetry` example in the `activemq-artemis-examples` repo. They aren't needed here anymore. --- pom.xml | 21 - 1 file changed, 21 deletions(-) diff --git a/pom.xml b/pom.xml index 1024784d39..9cfa150941 100644 --- a/pom.xml +++ b/pom.xml @@ -125,10 +125,6 @@ 2.2.4 2.3.9 - - 1.24.0 - ${opentelemetry.version}-alpha - 2.0.61.Final 0.34.1 @@ -586,23 +582,6 @@ - - -io.opentelemetry -opentelemetry-bom -${opentelemetry.version} -pom -import - - -io.opentelemetry -opentelemetry-bom-alpha -${opentelemetry-alpha.version} -pom -import - - - org.jgroups
(activemq-artemis-examples) branch main updated (52d7ce8 -> 6958316)
This is an automated email from the ASF dual-hosted git repository. robbie pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis-examples.git from 52d7ce8 update examples version to 2.31.2 add 3c406e0 Update examples version to 2.32.0-SNAPSHOT add f6b880d copy in empty-dirs/files logging config fixup change (requires 2.32.0-SNAPSHOT) add 6a749c1 ARTEMIS 4518 exclude slf4j-api from JMS bridge example add b75d791 ARTEMIS-4551 Remove interceptor dependency from interceptor client (#2) add c3cd128 ARTEMIS-4550 Upgrade spring boot version to 2.7.18 add 2590866 NO-JIRA: update year in NOTICE file add c1ff39d fix up variable name to reflect actual usage add b048d17 update non-main branch step gating to handle pull_request triggered runs different env, behave in way actually intended add c1c40f5 add .gitattributes override to configure linguist, make repo language stats reflect the examples add 17e7355 ARTEMIS-4584: only create sender for the specific queue matching the examples security etc config add 834cbde upgrade actions versions to latest, fix deprecation warnings add 0e9deb8 fix problem with cache key definition, causing separate caches for the 2 jobs add 6958316 Update examples to version 2.32.0 No new revisions were added by this update. Summary of changes: .gitattributes | 4 +++ .github/workflows/build.yml| 42 +++--- NOTICE | 2 +- artemis-distribution/pom.xml | 2 +- .../broker-connection/amqp-federation/pom.xml | 12 ++- .../amqp-receiving-messages/pom.xml| 12 ++- .../amqp-sending-messages-multicast/pom.xml| 12 ++- .../amqp-sending-messages/pom.xml | 12 ++- .../broker-connection/amqp-sending-overssl/pom.xml | 12 ++- .../src/main/resources/activemq/server0/broker.xml | 2 +- .../broker-connection/disaster-recovery/pom.xml| 12 ++- examples/features/broker-connection/pom.xml| 2 +- .../clustered/client-side-load-balancing/pom.xml | 17 +++-- .../clustered-durable-subscription/pom.xml | 12 ++- .../features/clustered/clustered-grouping/pom.xml | 17 +++-- .../features/clustered/clustered-jgroups/pom.xml | 12 ++- .../features/clustered/clustered-queue/pom.xml | 12 ++- .../clustered-static-discovery-uri/pom.xml | 22 +++- .../clustered/clustered-static-discovery/pom.xml | 22 +++- .../clustered/clustered-static-oneway/pom.xml | 17 +++-- .../features/clustered/clustered-topic-uri/pom.xml | 12 ++- .../features/clustered/clustered-topic/pom.xml | 12 ++- examples/features/clustered/pom.xml| 2 +- .../clustered/queue-message-redistribution/pom.xml | 12 ++- .../shared-storage-static-cluster/pom.xml | 2 +- .../features/clustered/symmetric-cluster/pom.xml | 32 - .../connection-router/evenly-redirect/pom.xml | 17 +++-- examples/features/connection-router/pom.xml| 2 +- .../connection-router/symmetric-redirect/pom.xml | 12 ++- .../connection-router/symmetric-simple/pom.xml | 12 ++- .../federation/federated-address-divert/pom.xml| 12 ++- .../federated-address-downstream-upstream/pom.xml | 17 +++-- .../federated-address-downstream/pom.xml | 17 +++-- .../features/federation/federated-address/pom.xml | 17 +++-- .../federated-queue-downstream-upstream/pom.xml| 17 +++-- .../federation/federated-queue-downstream/pom.xml | 17 +++-- .../features/federation/federated-queue/pom.xml| 17 +++-- examples/features/federation/pom.xml | 2 +- .../features/ha/application-layer-failover/pom.xml | 2 +- .../ha/client-side-failoverlistener/pom.xml| 2 +- .../ha/colocated-failover-scale-down/pom.xml | 2 +- examples/features/ha/colocated-failover/pom.xml| 2 +- examples/features/ha/ha-policy-autobackup/pom.xml | 2 +- .../features/ha/multiple-failover-failback/pom.xml | 2 +- examples/features/ha/multiple-failover/pom.xml | 2 +- .../features/ha/non-transaction-failover/pom.xml | 2 +- examples/features/ha/pom.xml | 2 +- .../features/ha/replicated-failback-static/pom.xml | 2 +- examples/features/ha/replicated-failback/pom.xml | 2 +- .../ha/replicated-multiple-failover/pom.xml| 2 +- .../ha/replicated-transaction-failover/pom.xml | 2 +- examples/features/ha/scale-down/pom.xml| 2 +- examples/features/ha/stop-server-failover/pom.xml | 12 ++- examples/features/ha/transaction-failover/pom.xml | 2 +- .../ha/zookeeper-single-pair-failback/pom.xml | 2 +- examples/features/perf/perf/pom.xml| 2 +- examples
(activemq-artemis-examples) 01/02: Update examples to version 2.32.0
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch development in repository https://gitbox.apache.org/repos/asf/activemq-artemis-examples.git commit 6958316d39b01f67add3c2f90a1bf75f62c39020 Author: Robbie Gemmell AuthorDate: Tue Jan 30 17:13:07 2024 + Update examples to version 2.32.0 --- artemis-distribution/pom.xml | 2 +- examples/features/broker-connection/amqp-federation/pom.xml | 2 +- examples/features/broker-connection/amqp-receiving-messages/pom.xml | 2 +- .../broker-connection/amqp-sending-messages-multicast/pom.xml | 2 +- examples/features/broker-connection/amqp-sending-messages/pom.xml | 2 +- examples/features/broker-connection/amqp-sending-overssl/pom.xml | 2 +- examples/features/broker-connection/disaster-recovery/pom.xml | 2 +- examples/features/broker-connection/pom.xml | 2 +- examples/features/clustered/client-side-load-balancing/pom.xml| 2 +- examples/features/clustered/clustered-durable-subscription/pom.xml| 2 +- examples/features/clustered/clustered-grouping/pom.xml| 2 +- examples/features/clustered/clustered-jgroups/pom.xml | 2 +- examples/features/clustered/clustered-queue/pom.xml | 2 +- examples/features/clustered/clustered-static-discovery-uri/pom.xml| 2 +- examples/features/clustered/clustered-static-discovery/pom.xml| 2 +- examples/features/clustered/clustered-static-oneway/pom.xml | 2 +- examples/features/clustered/clustered-topic-uri/pom.xml | 2 +- examples/features/clustered/clustered-topic/pom.xml | 2 +- examples/features/clustered/pom.xml | 2 +- examples/features/clustered/queue-message-redistribution/pom.xml | 2 +- examples/features/clustered/shared-storage-static-cluster/pom.xml | 2 +- examples/features/clustered/symmetric-cluster/pom.xml | 2 +- examples/features/connection-router/evenly-redirect/pom.xml | 2 +- examples/features/connection-router/pom.xml | 2 +- examples/features/connection-router/symmetric-redirect/pom.xml| 2 +- examples/features/connection-router/symmetric-simple/pom.xml | 2 +- examples/features/federation/federated-address-divert/pom.xml | 2 +- .../features/federation/federated-address-downstream-upstream/pom.xml | 2 +- examples/features/federation/federated-address-downstream/pom.xml | 2 +- examples/features/federation/federated-address/pom.xml| 2 +- .../features/federation/federated-queue-downstream-upstream/pom.xml | 2 +- examples/features/federation/federated-queue-downstream/pom.xml | 2 +- examples/features/federation/federated-queue/pom.xml | 2 +- examples/features/federation/pom.xml | 2 +- examples/features/ha/application-layer-failover/pom.xml | 2 +- examples/features/ha/client-side-failoverlistener/pom.xml | 2 +- examples/features/ha/colocated-failover-scale-down/pom.xml| 2 +- examples/features/ha/colocated-failover/pom.xml | 2 +- examples/features/ha/ha-policy-autobackup/pom.xml | 2 +- examples/features/ha/multiple-failover-failback/pom.xml | 2 +- examples/features/ha/multiple-failover/pom.xml| 2 +- examples/features/ha/non-transaction-failover/pom.xml | 2 +- examples/features/ha/pom.xml | 2 +- examples/features/ha/replicated-failback-static/pom.xml | 2 +- examples/features/ha/replicated-failback/pom.xml | 2 +- examples/features/ha/replicated-multiple-failover/pom.xml | 2 +- examples/features/ha/replicated-transaction-failover/pom.xml | 2 +- examples/features/ha/scale-down/pom.xml | 2 +- examples/features/ha/stop-server-failover/pom.xml | 2 +- examples/features/ha/transaction-failover/pom.xml | 2 +- examples/features/ha/zookeeper-single-pair-failback/pom.xml | 2 +- examples/features/perf/perf/pom.xml | 2 +- examples/features/perf/pom.xml| 2 +- examples/features/perf/soak/pom.xml | 2 +- examples/features/pom.xml | 2 +- examples/features/standard/auto-closeable/pom.xml | 2 +- examples/features/standard/broker-msg-auth-plugin/pom.xml | 2 +- examples/features/standard/broker-plugin/pom.xml | 2 +- examples/features/standard/browser/pom.xml| 2 +- examples/features/standard/camel/camel
(activemq-artemis-examples) 02/02: Update examples to version 2.33.0-SNAPSHOT
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch development in repository https://gitbox.apache.org/repos/asf/activemq-artemis-examples.git commit 2ac3b9dc1e2028c9ee9354793cc4b09d019abd31 Author: Robbie Gemmell AuthorDate: Tue Jan 30 17:13:12 2024 + Update examples to version 2.33.0-SNAPSHOT --- artemis-distribution/pom.xml | 2 +- examples/features/broker-connection/amqp-federation/pom.xml | 2 +- examples/features/broker-connection/amqp-receiving-messages/pom.xml | 2 +- .../broker-connection/amqp-sending-messages-multicast/pom.xml | 2 +- examples/features/broker-connection/amqp-sending-messages/pom.xml | 2 +- examples/features/broker-connection/amqp-sending-overssl/pom.xml | 2 +- examples/features/broker-connection/disaster-recovery/pom.xml | 2 +- examples/features/broker-connection/pom.xml | 2 +- examples/features/clustered/client-side-load-balancing/pom.xml| 2 +- examples/features/clustered/clustered-durable-subscription/pom.xml| 2 +- examples/features/clustered/clustered-grouping/pom.xml| 2 +- examples/features/clustered/clustered-jgroups/pom.xml | 2 +- examples/features/clustered/clustered-queue/pom.xml | 2 +- examples/features/clustered/clustered-static-discovery-uri/pom.xml| 2 +- examples/features/clustered/clustered-static-discovery/pom.xml| 2 +- examples/features/clustered/clustered-static-oneway/pom.xml | 2 +- examples/features/clustered/clustered-topic-uri/pom.xml | 2 +- examples/features/clustered/clustered-topic/pom.xml | 2 +- examples/features/clustered/pom.xml | 2 +- examples/features/clustered/queue-message-redistribution/pom.xml | 2 +- examples/features/clustered/shared-storage-static-cluster/pom.xml | 2 +- examples/features/clustered/symmetric-cluster/pom.xml | 2 +- examples/features/connection-router/evenly-redirect/pom.xml | 2 +- examples/features/connection-router/pom.xml | 2 +- examples/features/connection-router/symmetric-redirect/pom.xml| 2 +- examples/features/connection-router/symmetric-simple/pom.xml | 2 +- examples/features/federation/federated-address-divert/pom.xml | 2 +- .../features/federation/federated-address-downstream-upstream/pom.xml | 2 +- examples/features/federation/federated-address-downstream/pom.xml | 2 +- examples/features/federation/federated-address/pom.xml| 2 +- .../features/federation/federated-queue-downstream-upstream/pom.xml | 2 +- examples/features/federation/federated-queue-downstream/pom.xml | 2 +- examples/features/federation/federated-queue/pom.xml | 2 +- examples/features/federation/pom.xml | 2 +- examples/features/ha/application-layer-failover/pom.xml | 2 +- examples/features/ha/client-side-failoverlistener/pom.xml | 2 +- examples/features/ha/colocated-failover-scale-down/pom.xml| 2 +- examples/features/ha/colocated-failover/pom.xml | 2 +- examples/features/ha/ha-policy-autobackup/pom.xml | 2 +- examples/features/ha/multiple-failover-failback/pom.xml | 2 +- examples/features/ha/multiple-failover/pom.xml| 2 +- examples/features/ha/non-transaction-failover/pom.xml | 2 +- examples/features/ha/pom.xml | 2 +- examples/features/ha/replicated-failback-static/pom.xml | 2 +- examples/features/ha/replicated-failback/pom.xml | 2 +- examples/features/ha/replicated-multiple-failover/pom.xml | 2 +- examples/features/ha/replicated-transaction-failover/pom.xml | 2 +- examples/features/ha/scale-down/pom.xml | 2 +- examples/features/ha/stop-server-failover/pom.xml | 2 +- examples/features/ha/transaction-failover/pom.xml | 2 +- examples/features/ha/zookeeper-single-pair-failback/pom.xml | 2 +- examples/features/perf/perf/pom.xml | 2 +- examples/features/perf/pom.xml| 2 +- examples/features/perf/soak/pom.xml | 2 +- examples/features/pom.xml | 2 +- examples/features/standard/auto-closeable/pom.xml | 2 +- examples/features/standard/broker-msg-auth-plugin/pom.xml | 2 +- examples/features/standard/broker-plugin/pom.xml | 2 +- examples/features/standard/browser/pom.xml| 2 +- examples/features/standard/camel
(activemq-artemis-examples) branch development updated (0e9deb8 -> 2ac3b9d)
This is an automated email from the ASF dual-hosted git repository. robbie pushed a change to branch development in repository https://gitbox.apache.org/repos/asf/activemq-artemis-examples.git from 0e9deb8 fix problem with cache key definition, causing separate caches for the 2 jobs new 6958316 Update examples to version 2.32.0 new 2ac3b9d Update examples to version 2.33.0-SNAPSHOT The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: artemis-distribution/pom.xml | 2 +- examples/features/broker-connection/amqp-federation/pom.xml | 2 +- examples/features/broker-connection/amqp-receiving-messages/pom.xml | 2 +- .../broker-connection/amqp-sending-messages-multicast/pom.xml | 2 +- examples/features/broker-connection/amqp-sending-messages/pom.xml | 2 +- examples/features/broker-connection/amqp-sending-overssl/pom.xml | 2 +- examples/features/broker-connection/disaster-recovery/pom.xml | 2 +- examples/features/broker-connection/pom.xml | 2 +- examples/features/clustered/client-side-load-balancing/pom.xml| 2 +- examples/features/clustered/clustered-durable-subscription/pom.xml| 2 +- examples/features/clustered/clustered-grouping/pom.xml| 2 +- examples/features/clustered/clustered-jgroups/pom.xml | 2 +- examples/features/clustered/clustered-queue/pom.xml | 2 +- examples/features/clustered/clustered-static-discovery-uri/pom.xml| 2 +- examples/features/clustered/clustered-static-discovery/pom.xml| 2 +- examples/features/clustered/clustered-static-oneway/pom.xml | 2 +- examples/features/clustered/clustered-topic-uri/pom.xml | 2 +- examples/features/clustered/clustered-topic/pom.xml | 2 +- examples/features/clustered/pom.xml | 2 +- examples/features/clustered/queue-message-redistribution/pom.xml | 2 +- examples/features/clustered/shared-storage-static-cluster/pom.xml | 2 +- examples/features/clustered/symmetric-cluster/pom.xml | 2 +- examples/features/connection-router/evenly-redirect/pom.xml | 2 +- examples/features/connection-router/pom.xml | 2 +- examples/features/connection-router/symmetric-redirect/pom.xml| 2 +- examples/features/connection-router/symmetric-simple/pom.xml | 2 +- examples/features/federation/federated-address-divert/pom.xml | 2 +- .../features/federation/federated-address-downstream-upstream/pom.xml | 2 +- examples/features/federation/federated-address-downstream/pom.xml | 2 +- examples/features/federation/federated-address/pom.xml| 2 +- .../features/federation/federated-queue-downstream-upstream/pom.xml | 2 +- examples/features/federation/federated-queue-downstream/pom.xml | 2 +- examples/features/federation/federated-queue/pom.xml | 2 +- examples/features/federation/pom.xml | 2 +- examples/features/ha/application-layer-failover/pom.xml | 2 +- examples/features/ha/client-side-failoverlistener/pom.xml | 2 +- examples/features/ha/colocated-failover-scale-down/pom.xml| 2 +- examples/features/ha/colocated-failover/pom.xml | 2 +- examples/features/ha/ha-policy-autobackup/pom.xml | 2 +- examples/features/ha/multiple-failover-failback/pom.xml | 2 +- examples/features/ha/multiple-failover/pom.xml| 2 +- examples/features/ha/non-transaction-failover/pom.xml | 2 +- examples/features/ha/pom.xml | 2 +- examples/features/ha/replicated-failback-static/pom.xml | 2 +- examples/features/ha/replicated-failback/pom.xml | 2 +- examples/features/ha/replicated-multiple-failover/pom.xml | 2 +- examples/features/ha/replicated-transaction-failover/pom.xml | 2 +- examples/features/ha/scale-down/pom.xml | 2 +- examples/features/ha/stop-server-failover/pom.xml | 2 +- examples/features/ha/transaction-failover/pom.xml | 2 +- examples/features/ha/zookeeper-single-pair-failback/pom.xml | 2 +- examples/features/perf/perf/pom.xml | 2 +- examples/features/perf/pom.xml| 2 +- examples/features/perf/soak/pom.xml | 2 +- examples/features/pom.xml | 2 +- examples/features/sta
(activemq-artemis) branch main updated: NO-JIRA: remove a bunch of commented out code in util test class
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 14bbc041d7 NO-JIRA: remove a bunch of commented out code in util test class 14bbc041d7 is described below commit 14bbc041d7d466befd83be58bcd78ffea467795b Author: Robbie Gemmell AuthorDate: Tue Jan 30 15:32:55 2024 + NO-JIRA: remove a bunch of commented out code in util test class --- .../tests/unit/util/NonSerializableFactory.java| 42 -- 1 file changed, 42 deletions(-) diff --git a/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/util/NonSerializableFactory.java b/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/util/NonSerializableFactory.java index 3b621aedd2..94d955322c 100644 --- a/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/util/NonSerializableFactory.java +++ b/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/util/NonSerializableFactory.java @@ -35,48 +35,6 @@ public class NonSerializableFactory implements ObjectFactory { public NonSerializableFactory() { } - // public static void unbind(final Context ctx, final String strName) throws NamingException - // { - // Name name = ctx.getNameParser("").parse(strName); - // int size = name.size(); - // String atom = name.get(size - 1); - // Context parentCtx = Util.createSubcontext(ctx, name.getPrefix(size - 1)); - // String key = new StringBuilder().append(parentCtx.getNameInNamespace()).append("/").append(atom).toString(); - // NonSerializableFactory.getWrapperMap().remove(key); - // Util.unbind(ctx, strName); - // } - - // public static void rebind(final Context ctx, final String strName, final Object value) throws NamingException - // { - // Name name = ctx.getNameParser("").parse(strName); - // int size = name.size(); - // String atom = name.get(size - 1); - // Context parentCtx = Util.createSubcontext(ctx, name.getPrefix(size - 1)); - // String key = new StringBuilder().append(parentCtx.getNameInNamespace()).append("/").append(atom).toString(); - // NonSerializableFactory.getWrapperMap().put(key, value); - // String className = value.getClass().getName(); - // String factory = NonSerializableFactory.class.getName(); - // StringRefAddr addr = new StringRefAddr("nns", key); - // Reference memoryRef = new Reference(className, addr, factory, null); - // parentCtx.rebind(atom, memoryRef); - // } - - // public static void bind(final Context ctx, final String strName, final Object value) throws NamingException - // { - // Name name = ctx.getNameParser("").parse(strName); - // int size = name.size(); - // String atom = name.get(size - 1); - // Context parentCtx = Util.createSubcontext(ctx, name.getPrefix(size - 1)); - // String key = new StringBuilder().append(parentCtx.getNameInNamespace()).append("/").append(atom).toString(); - // NonSerializableFactory.getWrapperMap().put(key, value); - // String className = value.getClass().getName(); - // String factory = NonSerializableFactory.class.getName(); - // StringRefAddr addr = new StringRefAddr("nns", key); - // Reference memoryRef = new Reference(className, addr, factory, null); - // - // parentCtx.bind(atom, memoryRef); - // } - public static Object lookup(final String name) throws NamingException { if (NonSerializableFactory.getWrapperMap().get(name) == null) { throw new NamingException(name + " not found");
(activemq-artemis) branch main updated: ARTEMIS-4532 MQTT-to-core wildcard conversion is broken
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 513b7826a4 ARTEMIS-4532 MQTT-to-core wildcard conversion is broken 513b7826a4 is described below commit 513b7826a440eecbfa0f3d7000360186e35bc43d Author: Justin Bertram AuthorDate: Wed Dec 13 10:36:11 2023 -0600 ARTEMIS-4532 MQTT-to-core wildcard conversion is broken Currently when an MQTT topic filter contains characters from the configured wildcard syntax the conversion to/from this syntax breaks. For example, when using the default wildcard syntax if an MQTT topic filter contains a . the conversion from the MQTT wildcard syntax to the core wildcard syntax and back will result in the `.` being replaced with a `/.`. This commit fixes that plus a few other things... - Implements proper conversions to/from one WildcardConfiguration to another. - Refactors the MQTT code which invokes these conversion methods. This includes simplifying a lot of test code. - Adds lots of tests for everything. - Clarifies some variable naming to better distinguish between core and MQTT. --- .../core/protocol/mqtt/MQTTPublishManager.java | 16 +-- .../protocol/mqtt/MQTTRetainMessageManager.java| 4 +- .../core/protocol/mqtt/MQTTSessionState.java | 4 +- .../protocol/mqtt/MQTTSubscriptionManager.java | 51 +++- .../artemis/core/protocol/mqtt/MQTTUtil.java | 110 +++-- .../artemis/core/protocol/mqtt/MQTTUtilTest.java | 110 - .../core/protocol/openwire/util/OpenWireUtil.java | 10 +- .../artemis/core/config/WildcardConfiguration.java | 130 ++--- .../core/config/WildcardConfigurationTest.java | 124 docs/user-manual/mqtt.adoc | 20 +++- docs/user-manual/versions.adoc | 22 .../artemis/tests/integration/mqtt/MQTTTest.java | 8 +- .../tests/integration/mqtt/MQTTTestSupport.java| 3 +- .../mqtt/MqttWildCardSubAutoCreateTest.java| 6 +- .../integration/mqtt/PahoMQTTQOS2SecurityTest.java | 3 +- .../artemis/tests/integration/mqtt5/MQTT5Test.java | 40 +-- .../tests/integration/mqtt5/MQTT5TestSupport.java | 41 ++- .../mqtt5/spec/ControlPacketFormatTests.java | 25 ++-- .../mqtt5/spec/MessageReceiptTests.java| 5 +- .../tests/integration/mqtt5/spec/QoSTests.java | 60 +- .../mqtt5/spec/controlpackets/ConnectTests.java| 4 +- .../mqtt5/spec/controlpackets/PublishTests.java| 64 ++ .../controlpackets/PublishTestsWithSecurity.java | 6 +- .../controlpackets/SubscribeTestsWithSecurity.java | 6 +- .../ssl/CertificateAuthenticationSslTests.java | 9 +- 25 files changed, 641 insertions(+), 240 deletions(-) diff --git a/artemis-protocols/artemis-mqtt-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/mqtt/MQTTPublishManager.java b/artemis-protocols/artemis-mqtt-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/mqtt/MQTTPublishManager.java index 5c79a53b43..eec146287d 100644 --- a/artemis-protocols/artemis-mqtt-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/mqtt/MQTTPublishManager.java +++ b/artemis-protocols/artemis-mqtt-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/mqtt/MQTTPublishManager.java @@ -216,7 +216,7 @@ public class MQTTPublishManager { } } } - String coreAddress = MQTTUtil.convertMqttTopicFilterToCore(topic, session.getWildcardConfiguration()); + String coreAddress = MQTTUtil.getCoreAddressFromMqttTopic(topic, session.getWildcardConfiguration()); SimpleString address = SimpleString.toSimpleString(coreAddress, session.getCoreMessageObjectPools().getAddressStringSimpleStringPool()); Message serverMessage = MQTTUtil.createServerMessageFromByteBuf(session, address, message); int qos = message.fixedHeader().qosLevel().value(); @@ -392,7 +392,7 @@ public class MQTTPublishManager { } private boolean publishToClient(int messageId, ICoreMessage message, int deliveryCount, int qos, long consumerId) throws Exception { - String address = MQTTUtil.convertCoreAddressToMqttTopicFilter(message.getAddress() == null ? "" : message.getAddress(), session.getWildcardConfiguration()); + String topic = MQTTUtil.getMqttTopicFromCoreAddress(message.getAddress() == null ? "" : message.getAddress(), session.getWildcardConfiguration()); ByteBuf payload; switch (message.getType()) { @@ -418,29 +418,29 @@ public class MQTTPublishManager { if (session.getVersion() == MQTTVersion.MQTT_5) { if (!isRetain &&
(activemq-artemis-examples) branch development updated: fix problem with cache key definition, causing separate caches for the 2 jobs
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch development in repository https://gitbox.apache.org/repos/asf/activemq-artemis-examples.git The following commit(s) were added to refs/heads/development by this push: new 0e9deb8 fix problem with cache key definition, causing separate caches for the 2 jobs 0e9deb8 is described below commit 0e9deb80cf2df77aec1b90c3a31fdeafeb62d7a4 Author: Robbie Gemmell AuthorDate: Fri Jan 26 11:28:36 2024 + fix problem with cache key definition, causing separate caches for the 2 jobs --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c89b563..55ab85a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -119,7 +119,7 @@ jobs: with: path: | ~/.m2/repository/ - key: ${{ runner.os }}-mvn-${{ hashFiles('activemq-artemis-examples**/pom.xml') }} + key: ${{ runner.os }}-mvn-${{ hashFiles('activemq-artemis-examples/**/pom.xml') }} restore-keys: | ${{ runner.os }}-mvn-
(activemq-artemis-examples) branch development updated: upgrade actions versions to latest, fix deprecation warnings
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch development in repository https://gitbox.apache.org/repos/asf/activemq-artemis-examples.git The following commit(s) were added to refs/heads/development by this push: new 834cbde upgrade actions versions to latest, fix deprecation warnings 834cbde is described below commit 834cbdeb1ecff2824c5b5e6060cb89ec819937cf Author: Robbie Gemmell AuthorDate: Fri Jan 26 11:11:34 2024 + upgrade actions versions to latest, fix deprecation warnings --- .github/workflows/build.yml | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f5d3c8f..c89b563 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -30,13 +30,13 @@ jobs: java: [ 11 ] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: path: activemq-artemis-examples - name: Cache Maven Local Repo if: ${{ !startsWith(github.ref, 'refs/tags/') }} -uses: actions/cache@v3 +uses: actions/cache@v4 with: path: | ~/.m2/repository/ @@ -45,14 +45,14 @@ jobs: ${{ runner.os }}-mvn- - name: Install JDK ${{ matrix.java }} -uses: actions/setup-java@v3 +uses: actions/setup-java@v4 with: java-version: ${{ matrix.java }} distribution: 'temurin' - name: Checkout Artemis Repo (non-main Examples) if: ${{ (github.event_name == 'pull_request' && github.base_ref != 'main') || (github.event_name != 'pull_request' && github.ref != 'refs/heads/main') }} -uses: actions/checkout@v3 +uses: actions/checkout@v4 with: repository: ${{ env.ARTEMIS_REPO }} ref: ${{ env.ARTEMIS_BRANCH }} @@ -109,13 +109,13 @@ jobs: java: [ 11 ] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: path: activemq-artemis-examples - name: Cache Maven Local Repo if: ${{ !startsWith(github.ref, 'refs/tags/') }} -uses: actions/cache@v3 +uses: actions/cache@v4 with: path: | ~/.m2/repository/ @@ -124,14 +124,14 @@ jobs: ${{ runner.os }}-mvn- - name: Install JDK ${{ matrix.java }} -uses: actions/setup-java@v3 +uses: actions/setup-java@v4 with: java-version: ${{ matrix.java }} distribution: 'temurin' - name: Checkout Artemis Repo (non-main Examples) if: ${{ (github.event_name == 'pull_request' && github.base_ref != 'main') || (github.event_name != 'pull_request' && github.ref != 'refs/heads/main') }} -uses: actions/checkout@v3 +uses: actions/checkout@v4 with: repository: ${{ env.ARTEMIS_REPO }} ref: ${{ env.ARTEMIS_BRANCH }}
(activemq-artemis-examples) branch development updated: ARTEMIS-4584: only create sender for the specific queue matching the examples security etc config
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch development in repository https://gitbox.apache.org/repos/asf/activemq-artemis-examples.git The following commit(s) were added to refs/heads/development by this push: new 17e7355 ARTEMIS-4584: only create sender for the specific queue matching the examples security etc config 17e7355 is described below commit 17e73558d629e6619c47d2ed72c0a2772d246edf Author: Robbie Gemmell AuthorDate: Thu Jan 25 18:29:29 2024 + ARTEMIS-4584: only create sender for the specific queue matching the examples security etc config --- .../amqp-sending-overssl/src/main/resources/activemq/server0/broker.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/features/broker-connection/amqp-sending-overssl/src/main/resources/activemq/server0/broker.xml b/examples/features/broker-connection/amqp-sending-overssl/src/main/resources/activemq/server0/broker.xml index c1143c5..8b4e34d 100644 --- a/examples/features/broker-connection/amqp-sending-overssl/src/main/resources/activemq/server0/broker.xml +++ b/examples/features/broker-connection/amqp-sending-overssl/src/main/resources/activemq/server0/broker.xml @@ -37,7 +37,7 @@ under the License. - +
(activemq-artemis) branch main updated: ARTEMIS-4583: remove the artemis-server test-jar, do related cleanup
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 83eb03c665 ARTEMIS-4583: remove the artemis-server test-jar, do related cleanup 83eb03c665 is described below commit 83eb03c665f579f643edaad1ae3aa1deb53c9c6c Author: Robbie Gemmell AuthorDate: Thu Jan 25 14:49:57 2024 + ARTEMIS-4583: remove the artemis-server test-jar, do related cleanup - Move ActiveMQTestBase to artemis-test-support. - Add reduced parent for current artemis-server tests. - Add a simpler test case parent class unit tests can use. - Convert some existing checks into a rule for reuse. - Move various rules/utils to artemis[-unit]-test-support module from where they can be used instead of from artemis-server. --- artemis-server/pom.xml | 16 - .../core/config/impl/ConfigurationImplTest.java| 4 +- .../config/impl/ConfigurationValidationTest.java | 7 +- .../impl/DatabaseStoreConfigurationTest.java | 4 +- .../config/impl/FileConfigurationParserTest.java | 4 +- .../config/impl/HAPolicyConfigurationTest.java | 4 +- .../impl/WrongRoleFileConfigurationParserTest.java | 4 +- .../core/paging/cursor/impl/ConcurrentAckTest.java | 4 +- .../impl/journal/JournalStorageManagerTest.java| 4 +- .../impl/journal/LargeServerMessageImplTest.java | 4 +- .../impl/journal/OperationContextUnitTest.java | 4 +- .../artemis/core/reload/ReloadManagerTest.java | 4 +- .../artemis/core/security/jaas/StatusTest.java | 4 +- .../cluster/impl/BroadcastGroupImplTest.java | 4 +- .../impl/ClusterConnectionImplMockTest.java| 4 +- .../core/server/files/FileStoreMonitorTest.java| 4 +- .../server/group/impl/ClusteredResetMockTest.java | 4 +- .../core/server/impl/ActiveMQServerImplTest.java | 4 +- .../server/impl/ActiveMQServerStartupTest.java | 4 +- .../core/server/impl/jdbc/JdbcLeaseLockTest.java | 4 +- .../core/server/impl/jdbc/JdbcNodeManagerTest.java | 4 +- .../impl/jdbc/JdbcSharedStateManagerTest.java | 4 +- .../server/management/JMXRMIRegistryPortTest.java | 4 +- .../artemis/core/settings/AddressSettingsTest.java | 4 +- .../artemis/core/settings/RepositoryTest.java | 4 +- .../core/transaction/impl/TransactionImplTest.java | 9 +- .../activemq/artemis/tests/util/RemoveFolder.java | 3 +- .../artemis/tests/util/ServerTestBase.java | 706 + .../artemis/tests/util/SimpleStringTest.java | 3 +- artemis-unit-test-support/pom.xml | 6 + .../artemis/tests/rules/LibaioContextCheck.java| 107 .../artemis/tests/rules}/NoFilesBehind.java| 40 +- .../artemis/tests/rules}/NoProcessFilesBehind.java | 61 +- .../artemis/tests/util/ArtemisTestCase.java| 169 + .../activemq/artemis/tests/util/DBSupportUtil.java | 64 ++ .../src/main}/resources/test.ldif | 0 tests/artemis-test-support/pom.xml | 14 +- .../impl/PageCursorProviderTestAccessor.java | 2 +- .../core/paging/impl/PagingStoreTestAccessor.java | 0 .../artemis/tests/rules}/RemoveFolder.java | 8 +- .../artemis/tests/util/ActiveMQTestBase.java | 254 +--- .../tests/util/ColocatedActiveMQServer.java| 0 .../util/CountDownSessionFailureListener.java | 0 .../artemis/tests/util/InVMNodeManagerServer.java | 0 .../artemis/tests/util/SingleServerTestBase.java | 0 .../artemis/tests/db/paging/PagingTest.java| 30 +- tests/integration-tests-isolated/pom.xml | 12 - .../paging/impl/PagingManagerTestAccessor.java | 0 .../postoffice/impl/PostOfficeTestAccessor.java| 0 .../server/cluster/impl/BridgeTestAccessor.java| 0 .../core/server/impl/QueueImplTestAccessor.java| 0 .../integration-tests/src/test/resources/test.ldif | 39 -- tests/leak-tests/pom.xml | 14 +- .../core/message/impl/MessagePropertyTest.java | 2 +- .../unit/core/paging/impl/PagingStoreImplTest.java | 12 +- .../util/ObjectInputStreamWithClassLoaderTest.java | 7 +- 56 files changed, 1180 insertions(+), 497 deletions(-) diff --git a/artemis-server/pom.xml b/artemis-server/pom.xml index 262558a756..bbfbce71dd 100644 --- a/artemis-server/pom.xml +++ b/artemis-server/pom.xml @@ -328,20 +328,4 @@ - - - -org.apache.maven.plugins -maven-jar-plugin - - - test - - test-jar - - - - - - diff --git a/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImplTest.java b
(activemq-artemis) branch main updated: ARTEMIS-4567 support OpenWire clients for broker embedded in Jakarta environment
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new eb7d131a8b ARTEMIS-4567 support OpenWire clients for broker embedded in Jakarta environment eb7d131a8b is described below commit eb7d131a8b436ade1a64f0247fcd79afd844f96e Author: Justin Bertram AuthorDate: Mon Jan 15 13:50:04 2024 -0600 ARTEMIS-4567 support OpenWire clients for broker embedded in Jakarta environment If the broker is embedded into a Jakarta environment then the existing artemis-openwire-protocol module won't work because it uses javax classes. This commit adds a new Jakarta-specific module that can be used to support OpenWire clients in Jakarta environments (e.g. Spring Boot 3). Users will simply need to include this version on their classpath to enable support. --- .../artemis-jakarta-openwire-protocol/pom.xml | 152 + artemis-protocols/pom.xml | 1 + pom.xml| 6 + tests/compatibility-tests/pom.xml | 3 + .../openWireJakarta/artemisJakartaServer.groovy| 31 + .../resources/openWireJakarta/sendReceiveOW.groovy | 46 +++ .../tests/compatibility/OpenWireJakartaTest.java | 35 + 7 files changed, 274 insertions(+) diff --git a/artemis-protocols/artemis-jakarta-openwire-protocol/pom.xml b/artemis-protocols/artemis-jakarta-openwire-protocol/pom.xml new file mode 100644 index 00..6a8d02efcc --- /dev/null +++ b/artemis-protocols/artemis-jakarta-openwire-protocol/pom.xml @@ -0,0 +1,152 @@ + +http://maven.apache.org/POM/4.0.0; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd;> + 4.0.0 + + + artemis-protocols + org.apache.activemq + 2.32.0-SNAPSHOT + + + artemis-jakarta-openwire-protocol + bundle + ActiveMQ Artemis Jakarta OpenWire Protocol + To support OpenWire clients from an embedded broker deployed in a Jakarta environment (e.g. Spring Boot 3) + + + ${project.basedir}/../.. + ${jakarta.jms-api.version.alt} + ${jakarta.transaction-api.version.alt} + ${jakarta.resource-api.version.alt} + + + + + + org.slf4j + slf4j-api + + + org.apache.logging.log4j + log4j-slf4j2-impl + test + + + org.apache.activemq + activemq-client-jakarta + + + org.apache.activemq + artemis-jakarta-server + ${project.version} + + + org.apache.activemq + artemis-jakarta-client + ${project.version} + + + org.apache.activemq + artemis-core-client + ${project.version} + + + org.apache.activemq + artemis-commons + ${project.version} + + + org.apache.activemq + artemis-journal + ${project.version} + + + org.apache.activemq + artemis-selector + ${project.version} + + + jakarta.jms + jakarta.jms-api + + + org.fusesource.hawtbuf + hawtbuf + + + io.netty + netty-buffer + + + io.netty + netty-transport + + + io.netty + netty-codec + + + org.osgi + osgi.cmpn + + + junit + junit + test + + + org.mockito + mockito-core + test + + + org.apache.activemq + artemis-unit-test-support + ${project.version} + test + + + + + + +org.wildfly.extras.batavia +transformer-tools-mvn + + + transform-sources + generate-sources + + transform-sources + + + ${project.basedir}/../artemis-openwire-protocol + + + + + + org.wildfly.extras.batavia + transformer-impl-eclipse + ${version.batavia} + + + + + + diff --git a/artemis-protocols/pom.xml b/artemis-protocols/pom.xml index 32b16f0778..e09bf95dc9 100644 --- a/artemis-protocols/pom.xml +++ b/artemis-protocols/pom.xml @@ -36,6 +36,7 @@ artemis-amqp-protocol artemis-stomp-protocol artemis-openwire-protocol + artemis-jakarta-openwire-protocol artemis-hornetq-protocol artemis-hqclient-protocol
(activemq-artemis) branch main updated: ARTEMIS-4578 upgrade Jackson to 2.16.1
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 0906369584 ARTEMIS-4578 upgrade Jackson to 2.16.1 0906369584 is described below commit 0906369584f861d9817acfc9b3b8a692635f6d50 Author: Justin Bertram AuthorDate: Thu Jan 18 10:06:31 2024 -0600 ARTEMIS-4578 upgrade Jackson to 2.16.1 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d97519f7c2..61a46bc9dd 100644 --- a/pom.xml +++ b/pom.xml @@ -191,7 +191,7 @@ 8.4.0 5.3.27 - 2.14.1 + 2.16.1 ${jackson.version} ${project.version}
(activemq-artemis) branch main updated: ARTEMIS-4552 Config all connection-router settings by using broker properties
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 2b331427d8 ARTEMIS-4552 Config all connection-router settings by using broker properties 2b331427d8 is described below commit 2b331427d8e2278064314a9412ae0adcef144ce0 Author: Domenico Francesco Bruscino AuthorDate: Thu Jan 18 13:41:16 2024 +0100 ARTEMIS-4552 Config all connection-router settings by using broker properties --- .../core/config/impl/ConfigurationImpl.java| 33 - .../core/config/impl/ConfigurationImplTest.java| 81 +- 2 files changed, 108 insertions(+), 6 deletions(-) diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImpl.java index f2c9b6ae6b..993717c45f 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImpl.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImpl.java @@ -614,6 +614,31 @@ public class ConfigurationImpl implements Configuration, Serializable { public void populateWithProperties(final Object target, final String propsId, Map beanProperties) throws InvocationTargetException, IllegalAccessException { CollectionAutoFillPropertiesUtil autoFillCollections = new CollectionAutoFillPropertiesUtil(getBrokerPropertiesRemoveValue(beanProperties)); BeanUtilsBean beanUtils = new BeanUtilsBean(new ConvertUtilsBean(), autoFillCollections) { + + // initialize the given property of the given bean with a new instance of the property class + private Object initProperty(Object bean, String name) throws InvocationTargetException, IllegalAccessException, NoSuchMethodException { +PropertyDescriptor descriptor = getPropertyUtils().getPropertyDescriptor(bean, name); +if (descriptor == null) { + throw new InvocationTargetException(null, "No accessor method descriptor for: " + name + " on: " + bean.getClass()); +} + +Method writeMethod = descriptor.getWriteMethod(); +if (writeMethod == null) { + throw new InvocationTargetException(null, "No Write method for: " + name + " on: " + bean.getClass()); +} + +Object propertyInstance; +try { + propertyInstance = descriptor.getPropertyType().getDeclaredConstructor().newInstance(); +} catch (InstantiationException e) { + throw new InvocationTargetException(e); +} + +writeMethod.invoke(bean, propertyInstance); + +return propertyInstance; + } + // override to treat missing properties as errors, not skip as the default impl does @Override public void setProperty(final Object bean, String name, final Object value) throws InvocationTargetException, IllegalAccessException { @@ -626,10 +651,12 @@ public class ConfigurationImpl implements Configuration, Serializable { final Resolver resolver = getPropertyUtils().getResolver(); while (resolver.hasNested(name)) { try { - target = getPropertyUtils().getProperty(target, resolver.next(name)); - if (target == null) { -throw new InvocationTargetException(null, "Resolved nested property for:" + name + ", on: " + bean + " was null"); + String nextName = resolver.next(name); + Object nextTarget = getPropertyUtils().getProperty(target, nextName); + if (nextTarget == null) { +nextTarget = initProperty(target, nextName); } + target = nextTarget; name = resolver.remove(name); } catch (final NoSuchMethodException e) { throw new InvocationTargetException(e, "No getter for property:" + name + ", on: " + bean); diff --git a/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImplTest.java b/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImplTest.java index a567984fae..e0b1ded173 100644 --- a/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImplTest.java +++ b/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImplTest.java @@ -53,6 +53,7 @@ import org.apache.activemq.artemis.core.config.federation.FederationAddressPol
(activemq-artemis) branch main updated: ARTEMIS-4568 Configuration reload for AMQP federation broker connections
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 4ea55cd611 ARTEMIS-4568 Configuration reload for AMQP federation broker connections 4ea55cd611 is described below commit 4ea55cd611fde8664104158b42690958809a2716 Author: Timothy Bish AuthorDate: Tue Jan 16 15:03:34 2024 -0500 ARTEMIS-4568 Configuration reload for AMQP federation broker connections Allows the configuration of AMQP Federation broker connections to be updated and reloaded. This allows for update, add or remove of AMQP federation broker connections as well as the basic AMQP sender and receiver broker connections. It checks for and ignores changes in AMQP broker connections that are performing Mirroring as that would lead to issues that can break mirroring. --- .../amqp/broker/ProtonProtocolManagerFactory.java | 57 +- .../amqp/connect/AMQPBrokerConnection.java | 8 +- .../amqp/connect/AMQPBrokerConnectionManager.java | 178 - .../artemis/core/config/Configuration.java | 18 + .../AMQPBrokerConnectConfiguration.java| 35 +- .../AMQPBrokerConnectionElement.java | 32 +- .../AMQPFederatedBrokerConnectionElement.java | 33 + .../AMQPMirrorBrokerConnectionElement.java | 38 + .../BrokerConnectConfiguration.java| 48 +- .../core/config/impl/ConfigurationImpl.java| 13 + .../core/remoting/server/RemotingService.java | 14 + .../remoting/server/impl/RemotingServiceImpl.java | 7 + .../artemis/core/server/ActiveMQServer.java| 10 + .../artemis/core/server/BrokerConnection.java | 15 + .../core/server/impl/ActiveMQServerImpl.java | 18 +- .../protocol/AbstractProtocolManagerFactory.java | 4 + .../spi/core/protocol/ProtocolManagerFactory.java | 15 + .../AMQPBrokerConnectConfigurationTest.java| 149 .../AMQPBrokerConnectionElementTest.java | 104 +++ .../AMQPFederatedBrokerConnectionElementTest.java | 113 +++ .../AMQPMirrorBrokerConnectionElementTest.java | 126 pom.xml| 2 +- .../AMQPFederationConfigurationReloadTest.java | 840 + .../amqp/connect/AMQPFederationConnectTest.java| 1 + .../connect/AMQPFederationQueuePolicyTest.java | 1 + .../amqp/connect/AMQPMirrorConnectionTest.java | 166 .../management/ActiveMQServerControlTest.java | 6 + .../reload-amqp-federated-addresses-reload.xml | 88 +++ .../resources/reload-amqp-federated-addresses.xml | 87 +++ .../test/resources/reload-amqp-federated-basic.xml | 77 ++ .../reload-amqp-federated-queues-reload.properties | 28 + .../reload-amqp-federated-queues-reload.xml| 88 +++ .../reload-amqp-federated-queues.properties| 26 + .../resources/reload-amqp-federated-queues.xml | 87 +++ 34 files changed, 2489 insertions(+), 43 deletions(-) diff --git a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/ProtonProtocolManagerFactory.java b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/ProtonProtocolManagerFactory.java index e0b6a2b9e1..fa8fc0414b 100644 --- a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/ProtonProtocolManagerFactory.java +++ b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/ProtonProtocolManagerFactory.java @@ -18,7 +18,6 @@ package org.apache.activemq.artemis.protocol.amqp.broker; import java.util.List; import java.util.Map; - import org.apache.activemq.artemis.api.core.BaseInterceptor; import org.apache.activemq.artemis.api.core.Message; import org.apache.activemq.artemis.core.config.amqpBrokerConnectivity.AMQPBrokerConnectConfiguration; @@ -41,6 +40,8 @@ public class ProtonProtocolManagerFactory extends AbstractProtocolManagerFactory private static String[] SUPPORTED_PROTOCOLS = {AMQP_PROTOCOL_NAME}; + private AMQPBrokerConnectionManager brokerConnectionManager; + @Override public Persister[] getPersister() { @@ -72,14 +73,56 @@ public class ProtonProtocolManagerFactory extends AbstractProtocolManagerFactory return MODULE_NAME; } - /** AMQP integration with the broker on this case needs to be soft. -* As the broker may choose to not load the AMQP Protocol */ + /** +* AMQP integration with the broker on this case needs to be soft as the +* broker may choose to not load the AMQP Protocol module. +*/ @Override public void loadProtocolServices(ActiveMQServer server, List services) { - List amqpServicesConfiguration = server.getConfiguration().getAMQPConnection
(activemq-artemis) branch main updated: ARTEMIS-4572 upgrade to Apache parent 31
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new fb2c76ad65 ARTEMIS-4572 upgrade to Apache parent 31 fb2c76ad65 is described below commit fb2c76ad65b8806ab8fc9a22fc6da8bf48222466 Author: Justin Bertram AuthorDate: Wed Jan 17 16:41:07 2024 -0600 ARTEMIS-4572 upgrade to Apache parent 31 --- etc/checkstyle.xml | 8 pom.xml| 7 --- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/etc/checkstyle.xml b/etc/checkstyle.xml index 9378752b6b..fa90de4608 100644 --- a/etc/checkstyle.xml +++ b/etc/checkstyle.xml @@ -100,14 +100,14 @@ under the License. - + + + - - - + diff --git a/pom.xml b/pom.xml index e63f5777ef..9ef58ded2c 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,7 @@ org.apache apache - 30 + 31 org.apache:apache @@ -106,7 +106,6 @@ 5.3.0.Final 2.20.0 5.1.9 - 3.2.2 3.3.2 1.44.1 10.12.7 @@ -118,6 +117,9 @@ 3.8.3 4.4.0 2.2.2 + + 3.4.1 2.2.4 @@ -1753,7 +1755,6 @@ org.apache.maven.plugins maven-checkstyle-plugin - ${maven.checkstyle.plugin.version} com.github.sevntu-checkstyle
(activemq-artemis) branch main updated: ARTEMIS-4573 upgrade Checkstyle to 10.12.7 & Sevntu to 1.44.1
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 19fd26c790 ARTEMIS-4573 upgrade Checkstyle to 10.12.7 & Sevntu to 1.44.1 19fd26c790 is described below commit 19fd26c790391f929ad84eda6e6e05ca286e038f Author: Justin Bertram AuthorDate: Wed Jan 17 16:47:53 2024 -0600 ARTEMIS-4573 upgrade Checkstyle to 10.12.7 & Sevntu to 1.44.1 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 2fdf999a3e..e63f5777ef 100644 --- a/pom.xml +++ b/pom.xml @@ -108,8 +108,8 @@ 5.1.9 3.2.2 3.3.2 - 1.39.0 - 10.11.0 + 1.44.1 + 10.12.7 5.4.0 2.1.2 4.1.101.Final
(activemq-artemis) branch main updated: ARTEMIS-4556 support release of multi-platform Docker images
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new e3c6531bfd ARTEMIS-4556 support release of multi-platform Docker images e3c6531bfd is described below commit e3c6531bfdcdda5e96404c0a80e621440d73819f Author: Justin Bertram AuthorDate: Sat Jan 6 17:29:17 2024 -0600 ARTEMIS-4556 support release of multi-platform Docker images --- RELEASING.md | 8 artemis-docker/prepare-docker.sh | 4 ++-- scripts/release-docker.sh| 14 -- 3 files changed, 10 insertions(+), 16 deletions(-) diff --git a/RELEASING.md b/RELEASING.md index 9514269875..327f56f1da 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -364,15 +364,15 @@ NOTE: The `main` branch CI build does not build Artemis, so the release must be 1. If you don't have an account on https://hub.docker.com/ then create one. 2. [Install `docker`](https://docs.docker.com/engine/install/) in your environment. -3. Ensure you have access to push images to `apache/activemq-artemis`. If you don't have access you can request it by - creating an INFRA Jira ticket (e.g. https://issues.apache.org/jira/browse/INFRA-24831). -4. Go to the `scripts` directory and run `release-docker.sh` with the proper parameters, e.g.: +3. If you don't already have it, then install the [`buildx` Docker plugin](https://github.com/docker/buildx#installing) to support multi-platform builds because `release-docker.sh` will create images for both `linux/amd64` and `linux/arm64`. This, of course, requires the base images from Eclipse Temurin to support these platforms as well (which they do). +4. Ensure you have access to push images to `apache/activemq-artemis`. If you don't have access you can request it by creating an INFRA Jira ticket (e.g. https://issues.apache.org/jira/browse/INFRA-24831). +5. Go to the `scripts` directory and run `release-docker.sh` with the proper parameters, e.g.: ```shell $ ./release-docker.sh 2.31.0 apache ``` You can easily perform a test run by using your personal account, e.g.: ```shell - $ ./release-docker.sh 2.31.0 jbertram + $ ./release-docker.sh 2.31.0 myUsername ``` ## Send announcement to user list diff --git a/artemis-docker/prepare-docker.sh b/artemis-docker/prepare-docker.sh index 31e7eeba49..2b3eaf01e0 100755 --- a/artemis-docker/prepare-docker.sh +++ b/artemis-docker/prepare-docker.sh @@ -108,9 +108,9 @@ key="$1" shift done -# TMPDIR must be contained within the working directory so it is part of the +# BASE_TMPDIR must be contained within the working directory so it is part of the # Docker context. (i.e. it can't be in /tmp) -BASE_TMPDIR="_TMP_/artemis" +BASE_TMPDIR="target/artemis" if [ -n "${FROM_RELEASE}" ] && [ -z "${ARTEMIS_VERSION}" ]; then usage "You must specify the release version (e.g. --artemis-version 2.16.0)" diff --git a/scripts/release-docker.sh b/scripts/release-docker.sh index 4352bab967..4a79c39b6d 100755 --- a/scripts/release-docker.sh +++ b/scripts/release-docker.sh @@ -28,17 +28,11 @@ VERSION=$1 REPO=$2 cd ../artemis-docker -rm -Rf _TMP_/ +rm -Rf target/ ./prepare-docker.sh --from-release --artemis-version ${VERSION} -cd _TMP_/artemis/${VERSION} +cd target/artemis/${VERSION} docker pull eclipse-temurin:21-jre-alpine docker pull eclipse-temurin:21-jre -docker build -f ./docker/Dockerfile-alpine-21-jre -t ${REPO}/activemq-artemis:${VERSION}-alpine . -docker tag ${REPO}/activemq-artemis:${VERSION}-alpine ${REPO}/activemq-artemis:latest-alpine -docker build -f ./docker/Dockerfile-ubuntu-21-jre -t ${REPO}/activemq-artemis:${VERSION} . -docker tag ${REPO}/activemq-artemis:${VERSION} ${REPO}/activemq-artemis:latest docker login -docker push ${REPO}/activemq-artemis:${VERSION}-alpine -docker push ${REPO}/activemq-artemis:${VERSION} -docker push ${REPO}/activemq-artemis:latest-alpine -docker push ${REPO}/activemq-artemis:latest \ No newline at end of file +docker buildx build --platform linux/amd64,linux/arm64 -f ./docker/Dockerfile-alpine-21-jre -t ${REPO}/activemq-artemis:${VERSION}-alpine -t ${REPO}/activemq-artemis:latest-alpine --push . +docker buildx build --platform linux/amd64,linux/arm64 -f ./docker/Dockerfile-ubuntu-21-jre -t ${REPO}/activemq-artemis:${VERSION} -t ${REPO}/activemq-artemis:latest --push . \ No newline at end of file
(activemq-artemis) branch main updated: ARTEMIS-4548 refactor MQTT tests
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 99d43dab01 ARTEMIS-4548 refactor MQTT tests 99d43dab01 is described below commit 99d43dab016f6340984ce6bd0a9b7bf431b9c62d Author: Justin Bertram AuthorDate: Fri Dec 22 13:33:55 2023 -0600 ARTEMIS-4548 refactor MQTT tests Many MQTT tests are run twice - once using TCP and once using WebSockets. This is essentially a big waste of time since once the connection is established to the broker the tests are identical. The tests should be refactored to run just once and then there can be a small number of tests specifically for WebSockets. This should knock several minutes off the test-suite. --- .../artemis/tests/integration/mqtt5/MQTT5Test.java | 4 -- .../tests/integration/mqtt5/MQTT5TestSupport.java | 29 - .../mqtt5/MQTTRetainMessageManagerTest.java| 4 -- .../mqtt5/spec/ControlPacketFormatTests.java | 4 -- .../integration/mqtt5/spec/DataFormatTests.java| 4 -- .../mqtt5/spec/EnhancedAuthenticationTests.java| 4 -- .../integration/mqtt5/spec/FlowControlTests.java | 4 -- .../integration/mqtt5/spec/HandlingErrorTests.java | 8 .../mqtt5/spec/MessageDeliveryRetryTests.java | 4 -- .../mqtt5/spec/MessageOrderingTests.java | 4 -- .../mqtt5/spec/MessageReceiptTests.java| 4 -- .../mqtt5/spec/NetworkConnectionTests.java | 4 -- .../tests/integration/mqtt5/spec/QoSTests.java | 4 -- .../integration/mqtt5/spec/SessionStateTests.java | 4 -- .../integration/mqtt5/spec/SubscriptionTests.java | 4 -- .../mqtt5/spec/TopicNameAndFilterTests.java| 4 -- .../integration/mqtt5/spec/WebSocketTests.java | 4 -- .../mqtt5/spec/controlpackets/AuthTests.java | 4 -- .../mqtt5/spec/controlpackets/ConnAckTests.java| 9 .../mqtt5/spec/controlpackets/ConnectTests.java| 13 +- .../controlpackets/ConnectTestsWithSecurity.java | 4 -- .../mqtt5/spec/controlpackets/DisconnectTests.java | 4 -- .../mqtt5/spec/controlpackets/PingReqTests.java| 4 -- .../mqtt5/spec/controlpackets/PingRespTests.java | 4 -- .../mqtt5/spec/controlpackets/PubAckTests.java | 4 -- .../mqtt5/spec/controlpackets/PubCompTests.java| 4 -- .../mqtt5/spec/controlpackets/PubRecTests.java | 4 -- .../mqtt5/spec/controlpackets/PubRelTests.java | 4 -- .../mqtt5/spec/controlpackets/PublishTests.java| 4 -- .../controlpackets/PublishTestsWithSecurity.java | 4 -- .../mqtt5/spec/controlpackets/SubAckTests.java | 4 -- .../mqtt5/spec/controlpackets/SubscribeTests.java | 4 -- .../controlpackets/SubscribeTestsWithSecurity.java | 4 -- .../mqtt5/spec/controlpackets/UnsubAckTests.java | 4 -- .../spec/controlpackets/UnsubscribeTests.java | 4 -- .../integration/mqtt5/{ => ssl}/BasicSslTests.java | 39 ++ .../CertificateAuthenticationSslTests.java | 45 +--- .../BasicWebSocketTests.java} | 48 +- 38 files changed, 101 insertions(+), 214 deletions(-) diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/mqtt5/MQTT5Test.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/mqtt5/MQTT5Test.java index fd3a1f5e38..247fdb68ae 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/mqtt5/MQTT5Test.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/mqtt5/MQTT5Test.java @@ -61,10 +61,6 @@ public class MQTT5Test extends MQTT5TestSupport { private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - public MQTT5Test(String protocol) { - super(protocol); - } - @Test(timeout = DEFAULT_TIMEOUT) public void testSimpleSendReceive() throws Exception { String topic = RandomUtil.randomString(); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/mqtt5/MQTT5TestSupport.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/mqtt5/MQTT5TestSupport.java index 70b0a34733..a4f106a2fd 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/mqtt5/MQTT5TestSupport.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/mqtt5/MQTT5TestSupport.java @@ -21,8 +21,6 @@ import java.io.File; import java.io.IOException; import java.lang.invoke.MethodHandles; import java.security.ProtectionDomain; -import java.util.Arrays; -import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.Hash
(activemq-artemis) branch main updated: ARTEMIS-4563 Remove auto-created addresses upon restart
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new a7f18777a3 ARTEMIS-4563 Remove auto-created addresses upon restart a7f18777a3 is described below commit a7f18777a32cde23e490e5d162b90e5724146f8b Author: Domenico Francesco Bruscino AuthorDate: Wed Jan 10 15:02:22 2024 +0100 ARTEMIS-4563 Remove auto-created addresses upon restart --- .../core/postoffice/impl/SimpleAddressManager.java | 2 +- .../tests/integration/client/AutoCreateTest.java| 21 + 2 files changed, 18 insertions(+), 5 deletions(-) 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 3b96de204c..e1256f276a 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 @@ -371,7 +371,7 @@ public class SimpleAddressManager implements AddressManager { public boolean checkAutoRemoveAddress(AddressInfo addressInfo, AddressSettings settings, boolean ignoreDelay) throws Exception { - return settings.isAutoDeleteAddresses() && addressInfo != null && addressInfo.isAutoCreated() && !bindingsFactory.isAddressBound(addressInfo.getName()) && addressWasUsed(addressInfo, settings) && (ignoreDelay || delayCheck(addressInfo, settings)); + return settings.isAutoDeleteAddresses() && addressInfo != null && addressInfo.isAutoCreated() && !bindingsFactory.isAddressBound(addressInfo.getName()) && (ignoreDelay || addressWasUsed(addressInfo, settings)) && (ignoreDelay || delayCheck(addressInfo, settings)); } private boolean delayCheck(AddressInfo addressInfo, AddressSettings settings) { diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/AutoCreateTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/AutoCreateTest.java index 18a3fac951..a256ec9aad 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/AutoCreateTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/AutoCreateTest.java @@ -353,7 +353,8 @@ public class AutoCreateTest extends ActiveMQTestBase { server.getConfiguration().setAddressQueueScanPeriod(-1); // disabling scanner, we will perform it manually server.start(); - String QUEUE_NAME = getName(); + String QUEUE_NAME = "QUEUE_" + getName(); + String TOPIC_NAME = "TOPIC_" + getName(); ConnectionFactory cf = CFUtil.createConnectionFactory(protocol, "tcp://localhost:61616"); try (Connection connection = cf.createConnection()) { @@ -381,26 +382,38 @@ public class AutoCreateTest extends ActiveMQTestBase { try (Connection connection = cf.createConnection()) { Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Queue queue = session.createQueue(QUEUE_NAME); - MessageProducer producer = session.createProducer(queue); - producer.send(session.createTextMessage(randomString)); + Topic topic = session.createTopic(TOPIC_NAME); + MessageProducer producer = session.createProducer(null); + producer.send(queue, session.createTextMessage(randomString)); + producer.send(topic, session.createTextMessage(randomString)); } info = server.getPostOffice().getAddressInfo(SimpleString.toSimpleString(QUEUE_NAME)); Assert.assertNotNull(info); Assert.assertTrue(info.isAutoCreated()); + info = server.getPostOffice().getAddressInfo(SimpleString.toSimpleString(TOPIC_NAME)); + Assert.assertNotNull(info); + Assert.assertTrue(info.isAutoCreated()); + server.stop(); try (AssertionLoggerHandler loggerHandler = new AssertionLoggerHandler()) { server.start(); - Assert.assertFalse(loggerHandler.findText("AMQ224113")); // this time around the queue had messages, it has to exist + // this time around the address QUEUE_NAME had a queue with messages, it has to exist + Assert.assertFalse(loggerHandler.matchText("AMQ224113.*" + QUEUE_NAME)); Assert.assertFalse(loggerHandler.findText("AMQ224112")); + // the address TOPIC_NAME had no queues, it has to be removed + Assert.assertTrue(logger
(activemq-artemis) branch main updated: ARTEMIS-4554 upgrade to latest Java for Docker images
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 8b2255d78d ARTEMIS-4554 upgrade to latest Java for Docker images 8b2255d78d is described below commit 8b2255d78df7bd863aaeacaabe5f71488124443f Author: Justin Bertram AuthorDate: Fri Jan 5 15:51:11 2024 -0600 ARTEMIS-4554 upgrade to latest Java for Docker images --- ...ckerfile-alpine-11-jre => Dockerfile-alpine-21} | 2 +- ...ckerfile-alpine-17 => Dockerfile-alpine-21-jre} | 2 +- ...Dockerfile-centos7-11 => Dockerfile-centos7-17} | 2 +- ...ckerfile-ubuntu-11-jre => Dockerfile-ubuntu-21} | 2 +- ...ckerfile-ubuntu-11 => Dockerfile-ubuntu-21-jre} | 2 +- artemis-docker/prepare-docker.sh | 24 +++--- scripts/release-docker.sh | 8 7 files changed, 21 insertions(+), 21 deletions(-) diff --git a/artemis-docker/Dockerfile-alpine-11-jre b/artemis-docker/Dockerfile-alpine-21 similarity index 98% rename from artemis-docker/Dockerfile-alpine-11-jre rename to artemis-docker/Dockerfile-alpine-21 index c72799cd5c..105b4c9b2c 100644 --- a/artemis-docker/Dockerfile-alpine-11-jre +++ b/artemis-docker/Dockerfile-alpine-21 @@ -17,7 +17,7 @@ # ActiveMQ Artemis -FROM eclipse-temurin:11-jre-alpine +FROM eclipse-temurin:21-jdk-alpine LABEL maintainer="Apache ActiveMQ Team" # add user and group for artemis diff --git a/artemis-docker/Dockerfile-alpine-17 b/artemis-docker/Dockerfile-alpine-21-jre similarity index 98% rename from artemis-docker/Dockerfile-alpine-17 rename to artemis-docker/Dockerfile-alpine-21-jre index b462b73f75..9ccd1844a9 100644 --- a/artemis-docker/Dockerfile-alpine-17 +++ b/artemis-docker/Dockerfile-alpine-21-jre @@ -17,7 +17,7 @@ # ActiveMQ Artemis -FROM eclipse-temurin:17-jdk-alpine +FROM eclipse-temurin:21-jre-alpine LABEL maintainer="Apache ActiveMQ Team" # add user and group for artemis diff --git a/artemis-docker/Dockerfile-centos7-11 b/artemis-docker/Dockerfile-centos7-17 similarity index 98% rename from artemis-docker/Dockerfile-centos7-11 rename to artemis-docker/Dockerfile-centos7-17 index 5c8fb723da..7d2fc35418 100644 --- a/artemis-docker/Dockerfile-centos7-11 +++ b/artemis-docker/Dockerfile-centos7-17 @@ -17,7 +17,7 @@ # ActiveMQ Artemis -FROM eclipse-temurin:11-centos7 +FROM eclipse-temurin:17-jdk-centos7 LABEL maintainer="Apache ActiveMQ Team" # Make sure pipes are considered to determine success, see: https://github.com/hadolint/hadolint/wiki/DL4006 SHELL ["/bin/bash", "-o", "pipefail", "-c"] diff --git a/artemis-docker/Dockerfile-ubuntu-11-jre b/artemis-docker/Dockerfile-ubuntu-21 similarity index 98% rename from artemis-docker/Dockerfile-ubuntu-11-jre rename to artemis-docker/Dockerfile-ubuntu-21 index 8751d4d707..53e6c26913 100644 --- a/artemis-docker/Dockerfile-ubuntu-11-jre +++ b/artemis-docker/Dockerfile-ubuntu-21 @@ -17,7 +17,7 @@ # ActiveMQ Artemis -FROM eclipse-temurin:11-jre +FROM eclipse-temurin:21-jdk LABEL maintainer="Apache ActiveMQ Team" # Make sure pipes are considered to determine success, see: https://github.com/hadolint/hadolint/wiki/DL4006 SHELL ["/bin/bash", "-o", "pipefail", "-c"] diff --git a/artemis-docker/Dockerfile-ubuntu-11 b/artemis-docker/Dockerfile-ubuntu-21-jre similarity index 98% rename from artemis-docker/Dockerfile-ubuntu-11 rename to artemis-docker/Dockerfile-ubuntu-21-jre index 71145cd937..d4a6f95ed2 100644 --- a/artemis-docker/Dockerfile-ubuntu-11 +++ b/artemis-docker/Dockerfile-ubuntu-21-jre @@ -17,7 +17,7 @@ # ActiveMQ Artemis -FROM eclipse-temurin:11 +FROM eclipse-temurin:21-jre LABEL maintainer="Apache ActiveMQ Team" # Make sure pipes are considered to determine success, see: https://github.com/hadolint/hadolint/wiki/DL4006 SHELL ["/bin/bash", "-o", "pipefail", "-c"] diff --git a/artemis-docker/prepare-docker.sh b/artemis-docker/prepare-docker.sh index e58c15f66d..31e7eeba49 100755 --- a/artemis-docker/prepare-docker.sh +++ b/artemis-docker/prepare-docker.sh @@ -53,23 +53,23 @@ Well done! Now you can continue with building the Docker image: # Go to $ARTEMIS_DIST_DIR $ cd $ARTEMIS_DIST_DIR - # For CentOS with full JDK 11 - $ docker build -f ./docker/Dockerfile-centos7-11 -t artemis-centos . + # For CentOS with full JDK 17 + $ docker build -f ./docker/Dockerfile-centos7-17 -t artemis-centos . - # For Ubuntu with full JDK 11 - $ docker build -f ./docker/Dockerfile-ubuntu-11 -t artemis-ubuntu . + # For Ubuntu with full JDK 21 + $ docker build -f ./docker/Dockerfile-ubuntu-21 -t artemis-ubuntu . - # For Ubuntu with just JRE 11 - $ docker build -f ./docker/Dockerfile
(activemq-artemis-examples) branch development updated: add .gitattributes override to configure linguist, make repo language stats reflect the examples
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch development in repository https://gitbox.apache.org/repos/asf/activemq-artemis-examples.git The following commit(s) were added to refs/heads/development by this push: new c1c40f5 add .gitattributes override to configure linguist, make repo language stats reflect the examples c1c40f5 is described below commit c1c40f5f69f0960e972c91119a47f4413fb4c432 Author: Robbie Gemmell AuthorDate: Tue Jan 9 17:07:29 2024 + add .gitattributes override to configure linguist, make repo language stats reflect the examples --- .gitattributes | 4 pom.xml| 15 +++ 2 files changed, 19 insertions(+) diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000..32b4da4 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,4 @@ +# Since the examples are actually the main/only content of this repo, +# un-ignore them in linguist so repo language stats reflect the +# examples and not just some helper scripts. +examples/** -linguist-documentation diff --git a/pom.xml b/pom.xml index 0ddce70..c80340b 100644 --- a/pom.xml +++ b/pom.xml @@ -57,4 +57,19 @@ under the License. + + + + + org.apache.rat + apache-rat-plugin + + + .gitattributes + + + + + +
(activemq-artemis-examples) branch development updated (2590866 -> b048d17)
This is an automated email from the ASF dual-hosted git repository. robbie pushed a change to branch development in repository https://gitbox.apache.org/repos/asf/activemq-artemis-examples.git from 2590866 NO-JIRA: update year in NOTICE file new c1ff39d fix up variable name to reflect actual usage new b048d17 update non-main branch step gating to handle pull_request triggered runs different env, behave in way actually intended The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .github/workflows/build.yml | 24 1 file changed, 12 insertions(+), 12 deletions(-)
(activemq-artemis-examples) 01/02: fix up variable name to reflect actual usage
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch development in repository https://gitbox.apache.org/repos/asf/activemq-artemis-examples.git commit c1ff39dbdbef7412fe5ec6bb1704a2ea7a583a90 Author: Robbie Gemmell AuthorDate: Mon Jan 8 12:15:40 2024 + fix up variable name to reflect actual usage --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e945033..c19ccdd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -5,7 +5,7 @@ on: pull_request: workflow_dispatch: inputs: - examplesRepoUserOrOrg: + examplesRepo: description: '(For non-main Examples) Artemis repo' required: true default: 'apache/activemq-artemis' @@ -17,7 +17,7 @@ on: type: string env: - ARTEMIS_REPO: ${{ inputs.examplesRepoUserOrOrg || 'apache/activemq-artemis' }} + ARTEMIS_REPO: ${{ inputs.examplesRepo || 'apache/activemq-artemis' }} ARTEMIS_BRANCH: ${{ inputs.examplesRepoBranch || 'main' }} jobs:
(activemq-artemis-examples) 02/02: update non-main branch step gating to handle pull_request triggered runs different env, behave in way actually intended
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch development in repository https://gitbox.apache.org/repos/asf/activemq-artemis-examples.git commit b048d1714c39853c5e66c9b25dc88789036560fb Author: Robbie Gemmell AuthorDate: Mon Jan 8 16:41:16 2024 + update non-main branch step gating to handle pull_request triggered runs different env, behave in way actually intended --- .github/workflows/build.yml | 20 ++-- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c19ccdd..f5d3c8f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -51,7 +51,7 @@ jobs: distribution: 'temurin' - name: Checkout Artemis Repo (non-main Examples) -if: ${{ github.ref != 'refs/heads/main' }} +if: ${{ (github.event_name == 'pull_request' && github.base_ref != 'main') || (github.event_name != 'pull_request' && github.ref != 'refs/heads/main') }} uses: actions/checkout@v3 with: repository: ${{ env.ARTEMIS_REPO }} @@ -60,7 +60,7 @@ jobs: - name: Identify Artemis Version (non-main Examples) id: identify-artemis-version -if: ${{ github.ref != 'refs/heads/main' }} +if: ${{ (github.event_name == 'pull_request' && github.base_ref != 'main') || (github.event_name != 'pull_request' && github.ref != 'refs/heads/main') }} run: | cd activemq-artemis CURRENT_ARTEMIS_BUILD_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout) @@ -68,14 +68,14 @@ jobs: echo "artemis-build-version=${CURRENT_ARTEMIS_BUILD_VERSION}" >> $GITHUB_OUTPUT - name: Build Artemis (non-main Examples) -if: ${{ github.ref != 'refs/heads/main' }} +if: ${{ (github.event_name == 'pull_request' && github.base_ref != 'main') || (github.event_name != 'pull_request' && github.ref != 'refs/heads/main') }} run: | cd activemq-artemis mvn -s ../activemq-artemis-examples/.github/maven-settings.xml install -DskipTests -T1C - name: Identify Examples Version (non-main Examples) id: identify-examples-version -if: ${{ github.ref != 'refs/heads/main' }} +if: ${{ (github.event_name == 'pull_request' && github.base_ref != 'main') || (github.event_name != 'pull_request' && github.ref != 'refs/heads/main') }} run: | cd activemq-artemis-examples sed -i "//,// s~[^<]*~${{ steps.identify-artemis-version.outputs.artemis-build-version }}~g" ./pom.xml @@ -84,7 +84,7 @@ jobs: echo "examples-build-version=${CURRENT_EXAMPLES_BUILD_VERSION}" >> $GITHUB_OUTPUT - name: Set Examples Version to Artemis Version (non-main Examples) -if: ${{ github.ref != 'refs/heads/main' && steps.identify-artemis-version.outputs.artemis-build-version != steps.identify-examples-version.outputs.examples-build-version }} +if: ${{ ((github.event_name == 'pull_request' && github.base_ref != 'main') || (github.event_name != 'pull_request' && github.ref != 'refs/heads/main')) && steps.identify-artemis-version.outputs.artemis-build-version != steps.identify-examples-version.outputs.examples-build-version }} run: | cd activemq-artemis-examples ./scripts/update-examples-version.sh ${{ steps.identify-artemis-version.outputs.artemis-build-version }} @@ -130,7 +130,7 @@ jobs: distribution: 'temurin' - name: Checkout Artemis Repo (non-main Examples) -if: ${{ github.ref != 'refs/heads/main' }} +if: ${{ (github.event_name == 'pull_request' && github.base_ref != 'main') || (github.event_name != 'pull_request' && github.ref != 'refs/heads/main') }} uses: actions/checkout@v3 with: repository: ${{ env.ARTEMIS_REPO }} @@ -139,7 +139,7 @@ jobs: - name: Identify Artemis Version (non-main Examples) id: identify-artemis-version -if: ${{ github.ref != 'refs/heads/main' }} +if: ${{ (github.event_name == 'pull_request' && github.base_ref != 'main') || (github.event_name != 'pull_request' && github.ref != 'refs/heads/main') }} run: | cd activemq-artemis CURRENT_ARTEMIS_BUILD_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout) @@ -147,14 +147,14 @@ jobs: echo "artemis-build-version=${CURRENT_ARTEMIS_BUILD_VERSION}" >> $GITHUB_OUTPUT - name: Build Artemis (non-main Examples) -if: ${{ github.ref != 'refs/heads/main' }} +if: ${{ (github.event_name == 'pull_request' && github.base_ref != 'main') || (github.event_name != 'pul
(activemq-artemis) branch main updated: ARTEMIS-4533: fix up variable name to reflect actual usage
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new ff8f45de07 ARTEMIS-4533: fix up variable name to reflect actual usage ff8f45de07 is described below commit ff8f45de070c4a19655e56a0077278ca814a0d2b Author: Robbie Gemmell AuthorDate: Mon Jan 8 15:27:47 2024 + ARTEMIS-4533: fix up variable name to reflect actual usage --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 51bf1f16fe..eb97238471 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -5,7 +5,7 @@ on: pull_request: workflow_dispatch: inputs: - examplesRepoUserOrOrg: + examplesRepo: description: 'The examples repo to use' required: true default: 'apache/activemq-artemis-examples' @@ -17,7 +17,7 @@ on: type: string env: - EXAMPLES_REPO: ${{ inputs.examplesRepoUserOrOrg || 'apache/activemq-artemis-examples' }} + EXAMPLES_REPO: ${{ inputs.examplesRepo || 'apache/activemq-artemis-examples' }} EXAMPLES_BRANCH: ${{ inputs.examplesRepoBranch || 'development' }}
(activemq-artemis-examples) branch development updated: NO-JIRA: update year in NOTICE file
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch development in repository https://gitbox.apache.org/repos/asf/activemq-artemis-examples.git The following commit(s) were added to refs/heads/development by this push: new 2590866 NO-JIRA: update year in NOTICE file 2590866 is described below commit 2590866d52009155e434db87f5a7a69fa7bf9ea2 Author: Robbie Gemmell AuthorDate: Mon Jan 8 10:03:32 2024 + NO-JIRA: update year in NOTICE file --- NOTICE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NOTICE b/NOTICE index 3b82b00..3b03325 100644 --- a/NOTICE +++ b/NOTICE @@ -1,5 +1,5 @@ Apache ActiveMQ Artemis Examples -Copyright [2014-2023] The Apache Software Foundation +Copyright [2014-2024] The Apache Software Foundation This product includes software developed at The Apache Software Foundation (http://www.apache.org/).
(activemq-artemis-examples) branch development updated: ARTEMIS-4550 Upgrade spring boot version to 2.7.18
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch development in repository https://gitbox.apache.org/repos/asf/activemq-artemis-examples.git The following commit(s) were added to refs/heads/development by this push: new c3cd128 ARTEMIS-4550 Upgrade spring boot version to 2.7.18 c3cd128 is described below commit c3cd12840153c7cfd99d32506a16a06209a76854 Author: Domenico Francesco Bruscino AuthorDate: Wed Jan 3 10:29:01 2024 +0100 ARTEMIS-4550 Upgrade spring boot version to 2.7.18 --- examples/features/standard/spring-boot-integration/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/features/standard/spring-boot-integration/pom.xml b/examples/features/standard/spring-boot-integration/pom.xml index 8bfc436..5878f69 100644 --- a/examples/features/standard/spring-boot-integration/pom.xml +++ b/examples/features/standard/spring-boot-integration/pom.xml @@ -27,8 +27,8 @@ ${project.basedir}/../../../.. - 2.5.8 - 2.6.15 + 2.5.25 + 2.7.18
(activemq-artemis) branch main updated: ARTEMIS-4539: update website steps for adding release, use new aggregating script in website repo
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 28a917f4e7 ARTEMIS-4539: update website steps for adding release, use new aggregating script in website repo 28a917f4e7 is described below commit 28a917f4e747aaf2622a2585e1f50347f384122d Author: Robbie Gemmell AuthorDate: Wed Dec 20 15:31:12 2023 + ARTEMIS-4539: update website steps for adding release, use new aggregating script in website repo - Initial script added in website repo commit https://github.com/apache/activemq-website/commit/b0f987e3c1308e483fc8a770d8c7b0b24ed36279 --- RELEASING.md | 29 +++-- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/RELEASING.md b/RELEASING.md index 2e4c20cb6b..9514269875 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -308,20 +308,29 @@ git clone https://gitbox.apache.org/repos/asf/activemq-website.git cd activemq-website ``` -Once the mirrors are up-to-date then update the following: -1. Generate the new release collection file at `src/_artemis_releases/artemis-.md` by running the following command, then open the file and update shortDescription as appropriate: -``` -./scripts/release/create-artemis-release-file -``` -2. Update the _artemis_ list within the `src/_data/current_releases.yml` file if needed. -3. Generate the new release notes file at `src/components/artemis/download/release-notes-.md` by running the command: +**NOTE**: Some of the release scripts use [Python](https://www.python.org/), ensure you have it installed before proceeding. + +Once the CDN and Maven Central are up-to-date then update the site as follows: + +1. Run the release addition script to generate/perform most of the updates by running command of form: ``` -./scripts/release/create-artemis-release-notes +./scripts/release/add-artemis-release.sh ``` -3. Make the documentation updates, taking output from the artemis checkout used to run the maven release process originally, by running the command: + +This does the following: +- Creates the new release collection file at `src/_artemis_releases/artemis-.md`. +- Creates the new release notes file at `src/components/artemis/download/release-notes-.md`. +- Creates the git-report if it wasnt already present (as it should be, at `src/components/artemis/download/commit-report-.html`). +- Moves the prior latest documentation content to `src/components/artemis/documentation/`. +- Replaces the latest documentation at `src/components/artemis/documentation/latest` with those from the new release. +- Replaces the javadaoc at `src/components/artemis/documentation/javadocs/javadoc-latest` with those from the new release. + +Example from the 2.32.0 release: ``` -./scripts/release/update-artemis-docs.sh +./scripts/release/add-artemis-release.sh ../activemq-artemis 2.31.2 2.32.0 ``` +2. Open the release collection file at `src/_artemis_releases/artemis-.md` and update _shortDescription_ as appropriate to the release content. +3. Update the _artemis_ list within the `src/_data/current_releases.yml` file if needed to set the new version stream as current. Check over `git status` etc. Run `git add` for all the added directories & files and then `git commit -m "updates for release"`. Once pushed, the changes should be published automatically by the `jekyll_websites` builder of the [apache buildbot](https://ci2.apache.org/#/builders).
(activemq-website) branch main updated: add script to aggregate the step-specific scripts, allow adding new release with one main call
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-website.git The following commit(s) were added to refs/heads/main by this push: new b0f987e3c add script to aggregate the step-specific scripts, allow adding new release with one main call b0f987e3c is described below commit b0f987e3c1308e483fc8a770d8c7b0b24ed36279 Author: Robbie Gemmell AuthorDate: Wed Dec 20 14:27:05 2023 + add script to aggregate the step-specific scripts, allow adding new release with one main call --- ...date-artemis-docs.sh => add-artemis-release.sh} | 37 ++ scripts/release/update-artemis-docs.sh | 3 +- 2 files changed, 17 insertions(+), 23 deletions(-) diff --git a/scripts/release/update-artemis-docs.sh b/scripts/release/add-artemis-release.sh similarity index 67% copy from scripts/release/update-artemis-docs.sh copy to scripts/release/add-artemis-release.sh index 3416f3bb7..7f50638bb 100755 --- a/scripts/release/update-artemis-docs.sh +++ b/scripts/release/add-artemis-release.sh @@ -24,13 +24,13 @@ error () { echo "" echo "** ERROR: $@ **" echo "" - echo "Usage: ./scripts/release/update-artemis-docs.sh " + echo "Usage: ./scripts/release/add-artemis-release.sh " echo "" echo "Must be run from within an activemq-website checkout root." echo "" echo "Example:" echo "cd /activemq-website" - echo "./scripts/release/update-artemis-docs.sh ../release-work/activemq-artemis 2.30.0 2.31.0" + echo "./scripts/release/add-artemis-release.sh ../release-work/activemq-artemis 2.30.0 2.31.0" echo "" exit 64 } @@ -60,30 +60,25 @@ if [ ! -d "$ARTEMIS_DIR/target" ] || [ ! -d "$ARTEMIS_DIR/target/checkout" ]; th exit 1 fi -RELEASE_DIR="$ARTEMIS_DIR/target/checkout" +GIT_REPORT_FILE=$WEBSITE_DIR/src/components/artemis/download/commit-report-$NEW_VERSION.html -LATEST_DOCS=$WEBSITE_DIR/src/components/artemis/documentation/latest/ -PRIOR_DOCS=$WEBSITE_DIR/src/components/artemis/documentation/$PRIOR_VERSION/ -LATEST_JAVADOCS=$WEBSITE_DIR/src/components/artemis/documentation/javadocs/javadoc-latest/ -NEW_DOCS=$RELEASE_DIR/artemis-website/target/classes/user-manual/ -NEW_JAVADOCS=$RELEASE_DIR/artemis-website/target/apidocs/ +./scripts/release/create-artemis-release-file $NEW_VERSION +./scripts/release/create-artemis-release-notes $NEW_VERSION -echo "Moving previous release docs, from $LATEST_DOCS to $PRIOR_DOCS" -mv $LATEST_DOCS $PRIOR_DOCS - -echo "Copying new release docs, from $NEW_DOCS to $LATEST_DOCS" -cp -aR $NEW_DOCS. $LATEST_DOCS - -echo "Clearing previous release javadocs, from $LATEST_JAVADOCS" -rm -rf $LATEST_JAVADOCS - -echo "Copying new release javadocs, from $NEW_JAVADOCS to $LATEST_JAVADOCS" -cp -aR $NEW_JAVADOCS. $LATEST_JAVADOCS +if [ ! -f "$GIT_REPORT_FILE" ]; then +echo "INFO: Did not find git report file at $GIT_REPORT_FILE so creating now" +./scripts/release/create-artemis-git-report.sh $ARTEMIS_DIR $PRIOR_VERSION $NEW_VERSION +else + echo "INFO: Found existing git report file, skipping." +fi -git add $LATEST_DOCS $PRIOR_DOCS $LATEST_JAVADOCS +cd $WEBSITE_DIR +./scripts/release/update-artemis-docs.sh $ARTEMIS_DIR $PRIOR_VERSION $NEW_VERSION echo "" -echo "Updates complete, check over git status over and commit" +echo "Files created for adding release. See output above for details." +echo "Update the artemis list within the src/_data/current_releases.yml file if needed." +echo "Check over git status, add remaining files, commit and push." diff --git a/scripts/release/update-artemis-docs.sh b/scripts/release/update-artemis-docs.sh index 3416f3bb7..970d5d1f5 100755 --- a/scripts/release/update-artemis-docs.sh +++ b/scripts/release/update-artemis-docs.sh @@ -85,5 +85,4 @@ cp -aR $NEW_JAVADOCS. $LATEST_JAVADOCS git add $LATEST_DOCS $PRIOR_DOCS $LATEST_JAVADOCS -echo "" -echo "Updates complete, check over git status over and commit" +echo "Doc updates complete, check over git status"
(activemq-artemis) branch main updated: ARTEMIS-4539: update steps for making docs+javadocs updates, simplify to just using script in website repo
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 59b9997c10 ARTEMIS-4539: update steps for making docs+javadocs updates, simplify to just using script in website repo 59b9997c10 is described below commit 59b9997c107e17b83439f3381b640372dca0d28e Author: Robbie Gemmell AuthorDate: Tue Dec 19 16:18:25 2023 + ARTEMIS-4539: update steps for making docs+javadocs updates, simplify to just using script in website repo - Initial script added in website repo commit https://github.com/apache/activemq-website/commit/40470b512092fd612919e724e7b19b176d7e4f07 --- RELEASING.md | 25 + 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/RELEASING.md b/RELEASING.md index 8e14ea7024..2e4c20cb6b 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -110,6 +110,8 @@ If the upload fails or is interrupted, remove the incomplete repository using the "Drop" button on [Nexus website](https://repository.apache.org/#stagingRepositories). Before starting the upload again, check the release.properties at the root of the project. +**_Keep the checkout used to run the release process for later, the website update scripts will reference it for documentation output._** + ### Resuming release upload If something happened during the release upload to nexus, you may need to eventually redo the upload. @@ -307,22 +309,21 @@ cd activemq-website ``` Once the mirrors are up-to-date then update the following: -1. Generate the new release notes file at `src/components/artemis/download/release-notes-.md` by running the command: +1. Generate the new release collection file at `src/_artemis_releases/artemis-.md` by running the following command, then open the file and update shortDescription as appropriate: ``` -./scripts/release/create-artemis-release-notes +./scripts/release/create-artemis-release-file ``` -2. Generate the new release collection file at `src/_artemis_releases/artemis-.md` by running the following command, then open the file and update shortDescription as appropriate: +2. Update the _artemis_ list within the `src/_data/current_releases.yml` file if needed. +3. Generate the new release notes file at `src/components/artemis/download/release-notes-.md` by running the command: ``` -./scripts/release/create-artemis-release-file +./scripts/release/create-artemis-release-notes ``` -3. Update the _artemis_ list within the `src/_data/current_releases.yml` file if needed. -4. Rename `src/components/artemis/documentation/latest` to `src/components/artemis/documentation/`. -5. Build the `artemis-website` module from the new-version release sources with `mvn clean package -Prelease`. -6. Create `src/components/artemis/documentation/latest` and copy into it the contents of `target/classes/user-manual` from the `artemis-website` module which you just built. -7. Delete `src/components/artemis/documentation/javadocs/javadoc-latest` to clear the old/existing content (in case any files are being moved/removed by the new version). -8. Create `src/components/artemis/documentation/javadocs/javadoc-latest` again and copy into it the contents of `target/apidocs` from the `artemis-website` module which you just built. - -Run `git add` for all the added directories & files and then `git commit -m "updates for release"`. +3. Make the documentation updates, taking output from the artemis checkout used to run the maven release process originally, by running the command: +``` +./scripts/release/update-artemis-docs.sh +``` + +Check over `git status` etc. Run `git add` for all the added directories & files and then `git commit -m "updates for release"`. Once pushed, the changes should be published automatically by the `jekyll_websites` builder of the [apache buildbot](https://ci2.apache.org/#/builders). ## Update Examples Repo
(activemq-website) branch main updated (0851d8338 -> 40470b512)
This is an automated email from the ASF dual-hosted git repository. robbie pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/activemq-website.git from 0851d8338 add script to generate initial release collections file during artemis release updates new 6da374d20 remove some leftover prints new 40470b512 add script to peform docs + javadocs changes while adding new artemis release The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: scripts/release/create-artemis-git-report.sh | 3 - scripts/release/update-artemis-docs.sh | 89 2 files changed, 89 insertions(+), 3 deletions(-) create mode 100755 scripts/release/update-artemis-docs.sh
(activemq-website) 01/02: remove some leftover prints
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-website.git commit 6da374d2008ab683486bd4c0419fde66a3d57247 Author: Robbie Gemmell AuthorDate: Tue Dec 19 15:35:04 2023 + remove some leftover prints --- scripts/release/create-artemis-git-report.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/scripts/release/create-artemis-git-report.sh b/scripts/release/create-artemis-git-report.sh index 1f9756d91..3f55683b4 100755 --- a/scripts/release/create-artemis-git-report.sh +++ b/scripts/release/create-artemis-git-report.sh @@ -50,9 +50,6 @@ ARTEMIS_DIR="$( cd -- "$1" >/dev/null 2>&1 ; pwd -P )" PRIOR_VERSION="$2" NEW_VERSION="$3" -echo "The website dir: $WEBSITE_DIR" -echo "The artemis dir: $ARTEMIS_DIR" - if [ ! -d "$ARTEMIS_DIR" ] || [ ! -d "$ARTEMIS_DIR/artemis-server" ] || [ ! -f "$ARTEMIS_DIR/.asf.yaml" ]; then error "ERROR: The provided activemq-artemis checkout path does not point to an activemq-artemis checkout" exit 1
(activemq-website) 02/02: add script to peform docs + javadocs changes while adding new artemis release
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-website.git commit 40470b512092fd612919e724e7b19b176d7e4f07 Author: Robbie Gemmell AuthorDate: Tue Dec 19 15:55:58 2023 + add script to peform docs + javadocs changes while adding new artemis release --- scripts/release/update-artemis-docs.sh | 89 ++ 1 file changed, 89 insertions(+) diff --git a/scripts/release/update-artemis-docs.sh b/scripts/release/update-artemis-docs.sh new file mode 100755 index 0..3416f3bb7 --- /dev/null +++ b/scripts/release/update-artemis-docs.sh @@ -0,0 +1,89 @@ +#!/bin/bash +# 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. + +# Setting the script to fail if anything goes wrong +set -e -u -o pipefail +shopt -s failglob + +error () { + echo "" + echo "** ERROR: $@ **" + echo "" + echo "Usage: ./scripts/release/update-artemis-docs.sh " + echo "" + echo "Must be run from within an activemq-website checkout root." + echo "" + echo "Example:" + echo "cd /activemq-website" + echo "./scripts/release/update-artemis-docs.sh ../release-work/activemq-artemis 2.30.0 2.31.0" + echo "" + exit 64 +} + +if [ ! -f serve.sh ] || [ ! -f _config.yml ]; then +error "This script has to be run from inside the root of an activemq-website checkout" +exit 1 +fi +WEBSITE_DIR="$( pwd )" + +if [ "$#" -lt 3 ]; then + error "The Artemis release process checkout, prior Artemis release, and new Artemis release versions must all be specified" + exit 1 +fi + +ARTEMIS_DIR="$( cd -- "$1" >/dev/null 2>&1 ; pwd -P )" +PRIOR_VERSION="$2" +NEW_VERSION="$3" + +if [ ! -d "$ARTEMIS_DIR" ] || [ ! -d "$ARTEMIS_DIR/artemis-server" ] || [ ! -f "$ARTEMIS_DIR/.asf.yaml" ]; then +error "ERROR: The provided activemq-artemis release process path does not point to an activemq-artemis checkout" +exit 1 +fi + +if [ ! -d "$ARTEMIS_DIR/target" ] || [ ! -d "$ARTEMIS_DIR/target/checkout" ]; then +error "ERROR: The provided activemq-artemis release path does not contain the release process target checkout: $ARTEMIS_DIR/target/checkout" +exit 1 +fi + +RELEASE_DIR="$ARTEMIS_DIR/target/checkout" + +LATEST_DOCS=$WEBSITE_DIR/src/components/artemis/documentation/latest/ +PRIOR_DOCS=$WEBSITE_DIR/src/components/artemis/documentation/$PRIOR_VERSION/ + +LATEST_JAVADOCS=$WEBSITE_DIR/src/components/artemis/documentation/javadocs/javadoc-latest/ +NEW_DOCS=$RELEASE_DIR/artemis-website/target/classes/user-manual/ +NEW_JAVADOCS=$RELEASE_DIR/artemis-website/target/apidocs/ + + + +echo "Moving previous release docs, from $LATEST_DOCS to $PRIOR_DOCS" +mv $LATEST_DOCS $PRIOR_DOCS + +echo "Copying new release docs, from $NEW_DOCS to $LATEST_DOCS" +cp -aR $NEW_DOCS. $LATEST_DOCS + +echo "Clearing previous release javadocs, from $LATEST_JAVADOCS" +rm -rf $LATEST_JAVADOCS + +echo "Copying new release javadocs, from $NEW_JAVADOCS to $LATEST_JAVADOCS" +cp -aR $NEW_JAVADOCS. $LATEST_JAVADOCS + +git add $LATEST_DOCS $PRIOR_DOCS $LATEST_JAVADOCS + +echo "" +echo "Updates complete, check over git status over and commit"
(activemq-artemis) branch main updated: ARTEMIS-4541 clarify divert docs
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new eca77df78f ARTEMIS-4541 clarify divert docs eca77df78f is described below commit eca77df78f258f658e4ebca46e2041dacd53cb18 Author: Justin Bertram AuthorDate: Mon Dec 18 21:02:10 2023 -0600 ARTEMIS-4541 clarify divert docs --- docs/user-manual/diverts.adoc | 21 + 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/docs/user-manual/diverts.adoc b/docs/user-manual/diverts.adoc index 2bfe4f0224..21d7f8edda 100644 --- a/docs/user-manual/diverts.adoc +++ b/docs/user-manual/diverts.adoc @@ -3,12 +3,17 @@ :idseparator: - Apache ActiveMQ Artemis allows you to configure objects called _diverts_ with some simple server configuration. - Diverts allow you to transparently divert messages routed to one address to one or more other addresses, without making any changes to any client application logic. -Diverts can be _exclusive_, meaning that the message is diverted to the new address(es), and does not go to the old address at all, or they can be _non-exclusive_ which means the message continues to go the old address, and a _copy_ of it is also sent to the new address(es). -Non-exclusive diverts can therefore be used for _splitting_ message flows, e.g. there may be a requirement to monitor every order sent to an order queue. +Diverts can be _exclusive_ or _non-exclusive_. + +An xref:#exclusive-divert[_exclusive_] divert routes messages the new address(es) only. +Messages are not routed to the old address at all. +A xref:#non-exclusive-divert[_non-exclusive_] divert routes messags to the old address and a _copy_ of the messages are also sent to the new address(es). +Think of non-exclusive divert as _splitting_ message flow, e.g. there may be a requirement to monitor every order sent to an order queue. + +Multiple diverts can be configured for a single address. When an address has both exclusive and non-exclusive diverts configured, the exclusive ones are processed first. If any of the exclusive diverts diverted the message, the non-exclusive ones are not processed. @@ -26,12 +31,12 @@ Diverts can also be configured to apply a xref:transformers.adoc#transformers[`T If specified, all diverted messages will have the opportunity of being transformed by the `Transformer`. When an address has multiple diverts configured, all of them receive the same, original message. This means that the results of a transformer on a message are not directly available for other diverts or their filters on the same address. - See the documentation on xref:using-server.adoc#adding-runtime-dependencies[adding runtime dependencies] to understand how to make your transformer available to the broker. -A divert will only divert a message to an address on the _same server_, however, if you want to divert to an address on a different server, a common pattern would be to divert to a local store-and-forward queue, then set up a bridge which consumes from that queue and forwards to an address on a different server. +A divert will only divert a message to an address on the _same server_. +If you want to divert to an address on a different server a common pattern would be to divert to a local "store-and-forward" queue and then set up a xref:core-bridges#core-bridges[bridge] which consumes from that queue and forwards to an address on a different server. -Diverts are therefore a very sophisticated concept, which when combined with bridges can be used to create interesting and complex routings. +Diverts are therefore a very sophisticated concept which when combined with bridges can be used to create interesting and complex routings. The set of diverts on a server can be thought of as a type of routing table for messages. Combining diverts with bridges allows you to create a distributed network of reliable routing connections between multiple geographically distributed servers, creating your global messaging mesh. @@ -42,7 +47,7 @@ Diverted messages get xref:copied-message-properties.adoc#properties-for-copied- Please see the xref:examples.adoc[examples] for a full working example at ./examples/features/standard/divert/ showing you how to configure and use diverts. -Let's take a look at some divert examples: +Let's take a look at some divert examples... == Exclusive Divert @@ -98,7 +103,7 @@ Non exclusive diverts can be configured in the same way as exclusive diverts wit -The above divert example takes a copy of every message sent to the address '[.code]``orders``' and sends it to a local address called '[.code]``spyTopic``'. +The above divert example takes a copy of every message sent to the address `orders` and sends it to a local address called `spyTopic`. == Composite Divert
(activemq-artemis) branch main updated: ARTEMIS-4539: update steps for creating release colletion file, simplify to just using script in website repo
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git The following commit(s) were added to refs/heads/main by this push: new 69e3a1a8a0 ARTEMIS-4539: update steps for creating release colletion file, simplify to just using script in website repo 69e3a1a8a0 is described below commit 69e3a1a8a06cb0e36864e5d046c7ae8de95d102c Author: Robbie Gemmell AuthorDate: Mon Dec 18 17:24:30 2023 + ARTEMIS-4539: update steps for creating release colletion file, simplify to just using script in website repo - Initial script added in website repo commit https://github.com/apache/activemq-website/commit/0851d833824ab4689d0c5781e7c656f7ba31e869 --- RELEASING.md | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/RELEASING.md b/RELEASING.md index 4db8110958..8e14ea7024 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -311,7 +311,10 @@ Once the mirrors are up-to-date then update the following: ``` ./scripts/release/create-artemis-release-notes ``` -2. Copy `src/_artemis_releases/artemis--release.md` to `src/_artemis_releases/artemis--release.md`. Update the versions and dates. +2. Generate the new release collection file at `src/_artemis_releases/artemis-.md` by running the following command, then open the file and update shortDescription as appropriate: +``` +./scripts/release/create-artemis-release-file +``` 3. Update the _artemis_ list within the `src/_data/current_releases.yml` file if needed. 4. Rename `src/components/artemis/documentation/latest` to `src/components/artemis/documentation/`. 5. Build the `artemis-website` module from the new-version release sources with `mvn clean package -Prelease`.
(activemq-website) branch main updated: add script to generate initial release collections file during artemis release updates
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-website.git The following commit(s) were added to refs/heads/main by this push: new 0851d8338 add script to generate initial release collections file during artemis release updates 0851d8338 is described below commit 0851d833824ab4689d0c5781e7c656f7ba31e869 Author: Robbie Gemmell AuthorDate: Mon Dec 18 17:06:04 2023 + add script to generate initial release collections file during artemis release updates --- scripts/release/create-artemis-release-file | 63 + scripts/release/util.py | 4 ++ 2 files changed, 67 insertions(+) diff --git a/scripts/release/create-artemis-release-file b/scripts/release/create-artemis-release-file new file mode 100755 index 0..d6f1f1bf4 --- /dev/null +++ b/scripts/release/create-artemis-release-file @@ -0,0 +1,63 @@ +#!/usr/bin/python +# +# 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. +# + +import sys as _sys +from util import * + +template = \ +""" +--- +version: {version} +release_date: {date_string} +title: ActiveMQ Artemis {version} +shortDescription: Bug fix release. +# Docs subdir name for past-releases and previous-docs pages, 'latest' is always used on the main download page. +docs_version: {version} +java_version: 11+ +--- +""" + +def create_release_notes(version): +padded_components = [component.zfill(2) for component in version.split(".")] + +if len(padded_components) < 3: +exit("Version ({}) must have 3 components to pad, but only have: {}".format(version, str(padded_components))) + +padded_version = "-".join(padded_components) +output_path = "src/_artemis_releases/artemis-{}.md".format(padded_version) + +date_string = get_date_string() + +output = template.format(**locals()) +output = output.strip() + +write_utf8(output_path, output) + +return output_path + + +ARGS = _sys.argv +if len(ARGS) < 2: +exit("Usage: ./scripts/release/create-artemis-release-file ") + +version = ARGS[1] +release_file = create_release_notes(version) + +print("Release file generated at {}".format(release_file)) diff --git a/scripts/release/util.py b/scripts/release/util.py index 4ae4cf653..2f85d6e49 100644 --- a/scripts/release/util.py +++ b/scripts/release/util.py @@ -17,10 +17,12 @@ # under the License. # +import datetime import urllib import yaml import codecs as _codecs +from datetime import datetime from xml.sax.saxutils import escape as escape_html def write_utf8(file, string): @@ -29,6 +31,8 @@ def write_utf8(file, string): return file +def get_date_string(): +return datetime.today().strftime('%Y-%m-%d') def render_release_notes(project, release): issues = _fetch_issues(project, release)