Commit Graph

491 Commits

Author SHA1 Message Date
Clebert Suconic 9e9f88b6b7 ARTEMIS-2685 Fixing Examples
The examples were broken after the change on ServerUtil.
2020-04-14 11:22:09 -04:00
Justin Bertram 40a6bab898 ARTEMIS-2708 JDK bug causes missed props reload 2020-04-13 16:02:35 -04:00
Justin Bertram 2efa44daf5 ARTEMIS-2692 refactor queue creation
This commit does the following:
- Deprecates existing overloaded createQueue, createSharedQueue,
  createTemporaryQueue, & updateQueue methods for ClientSession,
  ServerSession, ActiveMQServer, & ActiveMQServerControl where
  applicable.
- Deprecates QueueAttributes, QueueConfig, & CoreQueueConfiguration.
- Deprecates existing overloaded constructors for QueueImpl.
- Implements QueueConfiguration with JavaDoc to be the single,
  centralized configuration object for both client-side and broker-side
  queue creation including methods to convert to & from JSON for use in
  the management API.
- Implements new createQueue, createSharedQueue & updateQueue methods
  with JavaDoc for ClientSession, ServerSession, ActiveMQServer, &
  ActiveMQServerControl as well as a new constructor for QueueImpl all
  using the new QueueConfiguration object.
- Changes all internal broker code to use the new methods.
2020-04-13 14:25:30 -05:00
brusdev 68e493029b ARTEMIS-2699 Warn if queue stats are limited by default maxRows
Print a warning if the queues are greater than the max rows value.
2020-04-08 12:52:15 -04:00
Clebert Suconic bd77a536c6 ARTEMIS-2685 Not Block Netty Thread in any way for OpenWire 2020-04-01 18:02:48 -04:00
Justin Bertram 62fef18c65 ARTEMIS-2645 make CLI resources more test friendly
Fix some test race conditions as well.
2020-03-10 10:02:27 -05:00
Justin Bertram 7ad53e5748 ARTEMIS-2645 refactor CLI FQQN support
FQQN support for the CLI was implemented via ARTEMIS-1840 before general
FQQN support was added for producers via ARTEMIS-1867. The CLI's FQQN
functionality is slightly different from what is now generally available
and it can be confusing for users. By refactoring the CLI to use the
general FQQN support the code can be much simpler and consistent with
the expected behavior. Refactoring includes:

 - Deprecating the use of "fqqn://". The CLI commands use JMS so using
   "fqqn://" (instead of "queue://" or "topic://") makes the destination
   type ambiguous which can yield unexpected message routing behavior.
   Now "queue://" and "topic://" can be used with the normal FQQN syntax
   (e.g. address::queue).
 - Eliminating the use of the _AMQ_ROUTE_TO header when sending messags
   to an FQQN. The _AMQ_ROUTE_TO header is an internal header used when
   routing messages over a cluster bridge. Using it in the CLI for FQQN
   support was a clever hack, but using the general FQQN support
   eliminates complexity and makes behavior consistent between
   standalone JMS clients using FQQN and the CLI.
 - De-duplicating MessageSerializer initialization boilerplate.
 - Removing limitation where using an FQQN with an anycast address
   required the same name for the address and queue.
2020-03-05 21:39:18 -05:00
Justin Bertram ed7fee6d9c ARTEMIS-2643 allow masked password when resetting via mgmnt 2020-03-05 21:38:09 -05:00
Justin Bertram ee52dec467 NO-JIRA make ArtemisTest more robust
Change the test to use a pre-created queue rather than an auto-created
one as auto-creation and auto-deletion were causing spurious failures.
2020-02-25 11:20:48 -06:00
Clebert Suconic ddd8ed4402 ARTEMIS-1975 Real Large Message support into AMQP
This is a Large commit where I am refactoring largeMessage Body out of CoreMessage
which is now reused with AMQP.

I had also to fix Reference Counting to fix how Large Messages are Acked

And I also had to make sure Large Messages are transversing correctly when in cluster.
2020-02-25 15:25:01 +01:00
Francesco Nigro 5897909dc9 ARTEMIS-2617 use core pools to reduce GC on journal loading 2020-02-12 13:29:51 -05:00
Justin Bertram fb60795b59 NO-JIRA fix user command parameter docs 2020-02-05 08:36:34 -06:00
Justin Bertram 7d8c0dfc8c ARTEMIS-1676 allow users to override JAVA_ARGS via env vars 2020-01-21 14:20:04 -05:00
Justin Bertram 97735ca72c [maven-release-plugin] prepare for next development iteration 2020-01-10 09:00:58 -06:00
Justin Bertram 25a947f6cb [maven-release-plugin] prepare release 2.11.0 2020-01-10 08:57:46 -06:00
brusdev 5081447d63 ARTEMIS-2585 Remove nested quotes from artemis.profile
Remove the nested quotes around the hawtio.offline value of the JAVA_ARGS line
in the generated artemis.profile.
2020-01-02 16:35:39 +01:00
Clebert Suconic 13278cc45f ARTEMIS-2581 Duplicate Detection on AMQP should be configurable
There is an optimization in AMQP, that properties are only parsed over demand.

It happens that after ARTEMIS-2294 (commit 2dd0671698),
every send would request for the property on the message, resulting the properties to always be parsed upon send.
Even when there's no use of application properties.
2019-12-19 17:54:21 -05:00
brusdev fcc39c583a ARTEMIS-2558 Add the commented out args to dump the java heap on OOME
Add the commented out args to dump the first java heap on OOME for
process and backup the last java heap on OOME at startup.
2019-12-19 13:32:44 -05:00
Justin Bertram c06404406c ARTEMIS-2574 allow security manager config via XML
The test-suite has long used the broker's ability to configure the
security manager. This commit implements this functionality via XML
configuration.
2019-12-12 15:48:43 -05:00
brusdev f680d9f712 ARTEMIS-2466 PageSyncTimer::timeSync isn't configurable using ASYNCIO
Add the config parameter `page-sync-timeout` to set a customized value,
because if the broker is configured to use ASYNCIO journal, the timeout
has the same value of NIO default journal buffer timeout ie 3333333.
2019-11-05 22:44:52 +01:00
Clebert Suconic d7dc8b8de8 ARTEMIS-2527 Stop executors on print-data 2019-10-23 15:58:32 -04:00
Clebert Suconic b0497ed724 ARTEMIS-2517 JMX will be shutdown after failback 2019-10-10 14:44:55 -04:00
Clebert Suconic 91f4d0a633 [maven-release-plugin] prepare for next development iteration 2019-09-23 11:19:54 -04:00
Clebert Suconic 86a975fdad [maven-release-plugin] prepare release 2.10.1 2019-09-23 11:19:42 -04:00
Clebert Suconic a2dd5ae590 ARTEMIS-2483 Sync calculation should use the block size 2019-09-10 20:10:19 -04:00
Clebert Suconic 1928180a7c ARTEMIS-2467 Allowing create of static clusters through CLI 2019-09-10 15:04:18 -04:00
Clebert Suconic 5016f69daa [maven-release-plugin] prepare for next development iteration 2019-08-26 10:42:13 -04:00
Clebert Suconic f092d5396a [maven-release-plugin] prepare release 2.10.0 2019-08-26 10:42:01 -04:00
Clebert Suconic 9c5a2f42de ARTEMIS-2435 Renaming CLI parameter as --journal prefix 2019-08-01 16:58:00 -04:00
Clebert Suconic 73e2d4709d ARTEMIS-2438 Activation cleaning 2019-08-01 16:58:00 -04:00
Clebert Suconic 80190860cc ARTEMIS-2435 Configuration on device-block-size through CLI / broker.xml 2019-07-30 14:39:07 -04:00
Wei Yang edace8845e ARTEMIS-2414 Sync before closing file in case data loss 2019-07-29 14:44:26 -04:00
Clebert Suconic 27b151bb0e NO-JIRA moving Wait and removing some duplicate code on artemis-junit module 2019-07-16 22:30:59 -04:00
Justin Bertram f2c3b76874 ARTEMIS-2366 artemis-service start fails 2019-06-26 15:51:15 -04:00
Clebert Suconic 705f1db17b ARTEMIS-2403 Adding test with clientID on retry after exceptions 2019-06-26 15:22:49 -04:00
Shailendra Kumar Singh 741fd433c0 ARTEMIS-2403 Consumer command, clientID is ignored on CLI during retry connection with stdin input 2019-06-26 15:22:41 -04:00
Shailendra Kumar Singh a98d995783 ARTEMIS-2387 add scheduled-count and routing-type to queue stat CLI 2019-06-25 14:02:18 -05:00
Justin Bertram dbb2b54fa7 [maven-release-plugin] prepare for next development iteration 2019-05-29 22:02:00 -05:00
Justin Bertram 88c686cc99 [maven-release-plugin] prepare release 2.9.0 2019-05-29 21:59:18 -05:00
Clebert Suconic 2ae732cfc8 [maven-release-plugin] prepare for next development iteration 2019-05-16 09:58:27 -04:00
Clebert Suconic 481b9824a8 [maven-release-plugin] prepare release 2.8.1 2019-05-16 09:58:15 -04:00
Emmanuel Hugonnet ee7d5bd0f1 ARTEMIS-2319 Upgrading jboss-logging dependencies
* Upgrading versions
* Adding wildfly-common dependency as jboss-logmanager now depends on it
for simple common operations such as getting hostname or process id
* Updating bootclasspath with wildfly-common
2019-05-07 16:13:48 -04:00
Clebert Suconic 56152a9e7c [maven-release-plugin] prepare for next development iteration 2019-05-02 16:39:10 -04:00
Clebert Suconic a8e7f9d07a [maven-release-plugin] prepare release 2.8.0 2019-05-02 16:38:58 -04:00
Jiri Danek 3e87249d75 ARTEMIS-2320 Overwritten Map key or Set element 2019-04-29 11:28:10 +01:00
Jiri Danek 34e5d607ef ARTEMIS-2320 'compare()' method can be used to compare numbers 2019-04-29 11:27:29 +01:00
Clebert Suconic 228f6af4ca [maven-release-plugin] prepare for next development iteration 2019-04-25 16:52:09 -04:00
Clebert Suconic 09d2ba18a7 [maven-release-plugin] prepare release 2.8.0 2019-04-25 16:51:57 -04:00
Clebert Suconic a1b3fb3d41 NO-JIRA Adding consumer timing on CLI consumer 2019-04-25 15:43:01 -04:00
Clebert Suconic ad3e2b18b4 NO-JIRA update external repo as https 2019-04-15 17:44:11 +01:00
Clebert Suconic 516b1a1b9f [maven-release-plugin] prepare for next development iteration 2019-03-14 12:41:04 -04:00
Clebert Suconic c3eb6c12ad [maven-release-plugin] prepare release 2.7.0 2019-03-14 12:40:52 -04:00
Howard Gao fb549ebe44 ARTEMIS-2273 Adding Audit Log
The Audit log allows user to log some important actions,
such as ones performed via management APIs or clients,
like queue management, sending messages, etc.
The log tries to record who (the user if any) doing what
(like deleting a queue) with arguments (if any) and timestamps.

By default the audit log is disabled. Through configuration can
be easily turned on.
2019-03-14 12:24:59 -04:00
Clebert Suconic 061fb2787e ARTEMIS-1977 Stripping activemq-artemis as a separated proejct 2019-03-07 11:34:15 -05:00
Clebert Suconic da3d7a2940 ARTEMIS-2243 Fixing ClassLoding and dependency to security domain on method parameter 2019-02-25 20:12:20 -05:00
Justin Bertram 4a1fc61fcc ARTEMIS-2243 user/role ops for PropertiesLoginModule via mgmnt 2019-02-07 10:16:01 -05:00
Justin Bertram b31ac15760 ARTEMIS-2247 remove quotes from etc dir for Win service 2019-02-06 18:32:30 -05:00
Howard Gao d29b70b996 ARTEMIS-1058 Jars in web tmp dir locked on Windows
This is the second commit. It improves the windows service
configuration file so that the service can be shutdown
gracefully (clean shutdown) and allow for a chance to
clean up the web tmp dir.
2019-02-06 10:02:24 -05:00
Clebert Suconic f2a2d6d99f ARTEMIS-2245 Implement Docker images 2019-02-05 13:32:24 -05:00
Justin Bertram bfefd1f1ed NO-JIRA fix lgtm.com errors
Errors enumerated at
https://lgtm.com/projects/g/apache/activemq-artemis/alerts/?mode=tree&severity=error
2019-01-17 22:37:01 +00:00
Justin Bertram 57aacf784c NO-JIRA fix lgtm.com warnings
Warnings enumerated at
https://lgtm.com/projects/g/apache/activemq-artemis/alerts/?mode=tree&severity=warning
2019-01-17 22:30:28 +00:00
Clebert Suconic d79762fa04 ARTEMIS-2205 Refactor AMQP Processing into Netty Thread
These improvements were also part of this task:
- Routing is now cached as much as possible.
- A new Runnable is avoided for each individual message,
  since we use the Netty executor to perform delivery

https://issues.apache.org/jira/browse/ARTEMIS-2205
2019-01-10 16:39:56 +01:00
Francesco Nigro cfd520e38c ARTEMIS-2162 Remove -XX:+AggressiveOpts to improve JDK 11 compatibility 2018-12-13 10:55:30 -06:00
King Ramos 92fcff5ff4 ARTEMIS-1828 CLI option for queue's routing-type
Optionally specify a queue routing type when creating a broker. Example:
"create --queues myqueue,mytopic:multicast". Defaults to anycast if
unspecified.
2018-11-21 19:59:45 +00:00
feuillemorte be9676c0d3 ARTEMIS-2104 Added tests in artemis-cli//MessageSerializerTest
Added new cases:
- export from anycast queue, then import to multicast topic where number of queues > 1
- export from anycast queue, then import to multicast fqqn where number of queues > 1
- export from multicast topic, then import to anycast queue (both address)
- export from anycast queue, then import to multicast topic (both address)
2018-11-14 10:22:46 -05:00
Šmucr Jan 6d0641b438 ARTEMIS-2169 allow config of JMX RMI registry port
Previously the port was always random. This caused problems with
remote JMX connections that needed to overcome firewalls. As of
this patch it's possible to make the RMI port static and whitelist
it in the firewall settings.
2018-11-09 10:04:13 -06:00
Francesco Nigro 270b383e80 ARTEMIS-1710 Allow management msgs to exceed global-max-size limit 2018-11-03 23:34:59 +01:00
feuillemorte 39e172c977 ARTEMIS-2116 Extend tests on producer CLI command with message body 2018-11-01 17:26:38 -04:00
Michael André Pearce 755f71e431 NO-JIRA cli test fixes
fix pom to not use hard coded version
further close cf's
2018-10-11 07:11:01 +01:00
Justin Bertram 744838faaf ARTEMIS-2111 ManagementContext can leak 2018-10-10 18:43:10 -04:00
Justin Bertram e84e631051 ARTEMIS-2112 Remove JMX props from start scripts
JMX configuration is now done via management.xml. Configuring JMX via
the start scripts could result in unexpected behavior since the
authorisation configuration from management.xml would be ignored.
2018-10-10 18:40:46 -04:00
Francesco Nigro d561ca34ff ARTEMIS-2116 Set text message content on producer CLI command 2018-10-10 18:40:15 -04:00
Michael André Pearce 50f6bb5d07 NO-JIRA close connection factory in CLI
Fix warning seen in logs during test case runs, caused by CF not being closed.

Oct 10, 2018 8:53:18 PM org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl finalize
WARN: AMQ212008: I am closing a core ClientSessionFactory you left open. Please make sure you close all ClientSessionFactories explicitly before letting them go out of scope! 639,542,871
java.lang.Exception
	at org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.<init>(ClientSessionFactoryImpl.java:171)
	at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:779)
	at org.apache.activemq.artemis.cli.commands.messages.DestAbstract.getManagementSession(DestAbstract.java:103)
	at org.apache.activemq.artemis.cli.commands.messages.DestAbstract.getQueueAttribute(DestAbstract.java:127)
	at org.apache.activemq.artemis.cli.commands.messages.DestAbstract.getQueueIdFromName(DestAbstract.java:116)
	at org.apache.activemq.artemis.cli.commands.messages.Producer.execute(Producer.java:75)
	at org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:150)
	at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:98)
	at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:125)
	at org.apache.activemq.artemis.cli.Artemis.main(Artemis.java:81)
2018-10-10 18:39:46 -04:00
Justin Bertram 07e14c1582 ARTEMIS-2087 support masked passwords in management.xml 2018-09-21 11:50:38 -04:00
Clebert Suconic ed71e090d1 ARTEMIS-2086 Removing HDR Histogram option 2018-09-13 15:46:50 -04:00
Francesco Nigro 7e09e1b350 ARTEMIS-2070 broker can reduce buffer copies with large messages 2018-09-12 20:59:12 -04:00
Shailendra Kumar Singh 3c5b050dff [ARTEMIS-2008]Add a CLI command to purge queue 2018-08-03 14:19:47 -04:00
Zachary Simon 5987db820b ARTEMIS-1990 remove extra quotes in Windows script
A double set of quotation marks were preventing successful Windows
implementation.
2018-07-25 10:17:37 -04:00
Clebert Suconic b2d04b9ceb ARTEMIS-1954 Fixing RedeployTest and moving JMS Parsing 2018-07-16 22:35:07 -04:00
vkamble60 f4097fb01a [ARTEMIS-1944] Typo mistake in broker.xml at journal-buffer-timeout explanation 2018-06-20 12:32:12 +05:30
Clebert Suconic af56b67e38 [maven-release-plugin] prepare for next development iteration 2018-05-16 11:03:26 -04:00
Clebert Suconic bcaa11c2ee [maven-release-plugin] prepare release 2.6.0 2018-05-16 11:03:14 -04:00
Michael André Pearce aad45ad592 ARTEMIS-1783 Remove need for guava
Replace guava Preconditions with artemis Preconditions
Replace guava Predicate with java Predicate
Replace guava Ordering with java Comparator
Replace guava Immutable, with ArrayList/Set and then wrap with unmodifiable
2018-05-14 09:45:41 -04:00
Robbie Gemmell f0bac1bf18 ARTEMIS-1862: fix 'amqpLowCredits' XML config, update related code defaults 2018-05-11 21:07:02 +01:00
acemanace 835245b37b ARTEMIS-1836 Bug with broker when running on Windows,
cannot find login.config

The Windows variable ARTEMIS_ETC_INSTANCE was not set correctly,
as it was used as ARTEMIS_INSTANCE_ETC. So the fix is to make sure
that the two match, and additionally they it was renamed to more
closely match the other variables naming convention. This was done
in two files; so when 'artemis create mybroker' is run on a Windows
machine, the broker is correctly configured with login.config.

Minor fix of changing use of single quotes to correct usage of
double quotes when declaring variable
2018-05-03 12:24:59 -04:00
Martyn Taylor a6c48a37c7 ARTEMIS-1840 Added Error and Doc to Import Message 2018-05-03 11:43:50 +01:00
Martyn Taylor 64ce26e7cc ARTEMIS-1840 Added FQQN Import/Export Live Broker 2018-05-02 12:09:50 -04:00
Martyn Taylor 812776fca7 ARTEMIS-1840 Refactor XML Data Serialiser 2018-05-02 12:09:50 -04:00
Jiri Danek 67ee34d4d9 ARTEMIS-1449 Remove deprecated -XX:+UseFastAccessorMethods JVM option
This option was removed in JRE 10 and its presence causes error on startup.

Artemis still does not compile on JDK 9 and up, so what I tried was
to compile on JDK 1.8 and then start Artemis on 1.8 and 10.
That now works for me.
2018-05-01 13:58:29 -04:00
Francesco Nigro fdb63df392 ARTEMIS-1784 JDBC NodeManager should just use DMBS clock
It avoid using the system clock to perform the locks logic
by using the DBMS time.
It contains several improvements on the JDBC error handling
and an improved observability thanks to debug logs.
2018-04-18 09:54:34 -04:00
Clebert Suconic dae1b7de1c ARTEMIS-1785 Producer CLI would throw NPEs if using Text Messages 2018-04-04 17:55:27 -04:00
Clebert Suconic c2955af164 ARTEMIS-1777 Adding Protocol specific into producer / consumer 2018-03-29 15:21:38 -04:00
Ingemar Allqvist 7fc895d270 NO-JIRA Added missing variable on artemis.profiler.cmd
An obvious fix is the missing definition of ARTEMIS_ETC_INSTANCE, in the Windows "artemis.profile.cmd"
2018-03-29 15:18:34 -04:00
Francesco Nigro 1a7a2cf5b4 ARTEMIS-1774 Node Manager Store table name should be configurable
It exposes the table name configuration for:
- CLI command
- configuration file

The docs are updated as well.
2018-03-28 11:52:30 -04:00
Benjamin Graf c5ef696dad ARTEMIS-1775: Replace wrong env variable ARTEMIS_ETC_INSTANCE with ARTEMIS_INSTANCE_ETC 2018-03-28 17:40:58 +02:00
Francesco Nigro af3917247a ARTEMIS-1760 JDBC HA should have configurable tolerance of DB time misalignment
It allows a user to customize the max allowed distance between system and DB time,
improving HA reliability by shutting down the broker when the misalignment
exceeds configured limit.
2018-03-27 10:36:56 -04:00
Francesco Nigro b775cb251f ARTEMIS-1767 JDBC Lock Acquisition Timeout should behave like the file based version
The JDBC Lock Acquisition Timeout is no longer exposed to any user configuration and defaulted to infinite to match the behaviour of the journal (file-based) one.
2018-03-22 16:19:35 -04:00
Clebert Suconic 920af19adb [maven-release-plugin] prepare for next development iteration 2018-03-12 12:46:27 -04:00
Clebert Suconic 5f5b1dcf8f [maven-release-plugin] prepare release 2.5.0 2018-03-12 12:46:16 -04:00
Justin Bertram 25bb816652 ARTEMIS-1718 don't set 'artemis.instance.etc' prop 2018-03-01 14:02:57 -06:00