Commit Graph

344 Commits

Author SHA1 Message Date
Michael André Pearce 98028cdecc ARTEMIS-1586 Refactor to make more generic
* Move byte util code into ByteUtil
* Re-use the new equals method in SimpleString
* Apply same pools/interners to client decode
* Create String to SimpleString pools/interners for property access via String keys (producer and consumer benefits)
* Lazy init the pools on withing the get methods of CoreMessageObjectPools to get the specific pool, to avoid having this scattered every where.
* reduce SimpleString creation in conversion to/from core message methods with JMS wrapper.
* reduce SimpleString creation in conversion to/from Core in OpenWire, AMQP, MQTT.
2018-01-17 09:33:41 +01:00
raul.valdoleiros bbf5e4ebd2 [ARTEMIS-1555] Close core consumer on MQTT unsub
Unsubscribe topic in clustered environment left open references to the core consumer.  This patch properly closes the consumer which results in correct removal of the consumer reference on a remote queue.
2017-12-15 14:48:21 +00:00
saurabhrai 4abca78785 ARTEMIS-1364: Enable internal sorting in hawtio web console 2017-11-29 08:52:33 +00:00
Justin Bertram 55d7260a07 ARTEMIS-1510 refactor Maven poms
Clean up unused declared dependencies and undeclared dependencies which
are pulled in transitively.
2017-11-13 17:03:35 -05:00
Justin Bertram 8703d9d51d [maven-release-plugin] prepare for next development iteration 2017-11-01 00:38:57 -05:00
Justin Bertram ec63189a0a [maven-release-plugin] prepare release 2.4.0 2017-11-01 00:38:56 -05:00
Justin Bertram a44b9d5edf [maven-release-plugin] prepare for next development iteration 2017-10-31 12:09:43 -05:00
Justin Bertram 34a7431d1b [maven-release-plugin] prepare release 2.4.0 2017-10-31 12:07:55 -05:00
Justin Bertram 499f737343 ARTEMIS-1465 improve MQTT protocol logging 2017-10-23 15:12:56 -04:00
Justin Bertram dac625179a ARTEMIS-1218 implement MQTT link stealing 2017-09-25 11:00:56 -04:00
Jens Reimann 144dbadcb5 ARTEMIS-1391 embedding 2 MQTT brokers is broken 2017-09-25 11:00:56 -04:00
Jiri Danek 4d126adedb ARTEMIS-1398 NPE on null pwd from MQTT client 2017-09-25 10:55:11 -04:00
Martyn Taylor 16dfd777b8 ARTEMIS-1387 Fix AMQPtoMQTT and Link route issues 2017-09-06 11:21:56 +01:00
Clebert Suconic c8982d775b [maven-release-plugin] prepare for next development iteration 2017-09-05 17:03:48 -04:00
Clebert Suconic 84d5ac65b4 [maven-release-plugin] prepare release 2.3.0 2017-09-05 17:03:37 -04:00
Clebert Suconic ed1b268d42 [maven-release-plugin] prepare for next development iteration 2017-08-31 13:48:09 -04:00
Clebert Suconic 21f2a4a52c [maven-release-plugin] prepare release 2.3.0 2017-08-31 13:47:57 -04:00
Justin Bertram a965b6d2ee ARTEMIS-1358 refactor MQTTProtocolManager a bit 2017-08-22 22:08:24 -04:00
Otavio R. Piske 654ea69e78 Implement support for intercepting additional MQTT control packets
Previously, only the PUBLISH packet was intercepted. This patch modifies
the code to add support for the other incoming/outgoing MQTT control
packets.
2017-08-17 10:11:21 -05:00
Martyn Taylor bb3965b7f7 ARTEMIS-1349 Add management views for client objects 2017-08-17 10:44:41 +01:00
Michael Andre Pearce 62e1f7b1e1 ARTEMIS-1335 Update Netty to 4.1.14 - MQTT fix
Fix for MQTT in connect due to deprecated methods bug causing NPE, call new methods and null check ourselves.

Also raised https://github.com/netty/netty/issues/7076 upstream but i guess we will keep this, as the old methods are deprecated anyhow.
2017-08-10 01:52:50 +01:00
gtully ca7197b5c3 [ARTEMIS-1310] add amqp sasl gssapi mechanism support
delegate to the jdk saslServer. Allow acceptor configuration of supported mechanismis; saslMechanisms=<a,b>
and allow login config scope for krb5 to be configured via saslLoginConfigScope=x
2017-08-08 13:28:50 -04:00
Clebert Suconic fdad83be22 [maven-release-plugin] prepare for next development iteration 2017-07-24 21:21:18 -04:00
Clebert Suconic 71b1cc2a20 [maven-release-plugin] prepare release 2.2.0 2017-07-24 21:21:06 -04:00
Odyldzhon Toshbekov 34697d58e1 ARTEMIS-1272 fix mqtt acknowledgement issue 2017-07-10 22:37:58 -04:00
Jiri Danek 60fad35cfe ARTEMIS-1244 propagate retain flag of received message 2017-06-22 12:00:40 -04:00
Helge Waastad eaadc24729 ARTEMIS-1243 Release ReferenceCounted messages 2017-06-21 11:19:09 -04:00
Clebert Suconic f63ffc7af5 ARTEMIS-1175 Fixing Memory Leak 2017-05-26 11:16:41 +01:00
Odyldzhon Toshbekov b136fed48f ARTEMIS-1175 fix memory leak
This closes #1292
2017-05-26 11:16:41 +01:00
Clebert Suconic dc26ac96b4 ARTEMIS-1156: moving our collections on its own package 2017-05-12 10:06:05 -04:00
Clebert Suconic ce61d20f5a [maven-release-plugin] prepare for next development iteration 2017-05-08 15:20:12 -04:00
Clebert Suconic 64e8f015ee [maven-release-plugin] prepare release 2.1.0 2017-05-08 15:20:01 -04:00
Clebert Suconic 36c9659279 [maven-release-plugin] prepare for next development iteration 2017-05-05 22:11:09 -04:00
Clebert Suconic 7b5082639f [maven-release-plugin] prepare release 2.1.0 2017-05-05 22:10:58 -04:00
Aditya Sharad 33c94635bf ARTEMIS-1135: Fix integer multiplication overflows
Multiplication operations where the operands have type `int` but the
result is cast to `long` may lead to overflow.
Fixes two instances of this problem, by ensuring the operands are cast
to `long` during multiplication.
This resolves the "Result of integer multiplication cast to long"
alerts at https://lgtm.com/projects/g/apache/activemq-artemis/alerts.
2017-05-02 13:00:46 -04:00
Martyn Taylor 1c84bd39c4 ARTEMIS-826 Fix MQTT protocol detection 2017-04-25 13:53:21 +01:00
Howard Gao f344c1ebaf ARTEMIS-1093 Full qualified queue name support
Broker should support full qualified queue names (FQQN)
as well as bare queue names. This means when clients access
to a queue they have two equivalent ways to do so. One way
is by queue names and the other is by FQQN (i.e. address::qname)
names. Currently only receiving is supported.
2017-04-23 16:01:20 -04:00
Clebert Suconic b395504e15 ARTEMIS-1077 Fixing Pool usage on InVM and RemotingConnection 2017-03-28 09:19:57 -05:00
Martyn Taylor e33b7af5ac ARTEMIS-1061 Ack MQTT PubRel management messages 2017-03-22 23:26:32 -04:00
Martyn Taylor c40823e5ec [maven-release-plugin] prepare for next development iteration 2017-03-10 14:54:33 +00:00
Martyn Taylor 70e319d6e3 [maven-release-plugin] prepare release 2.0.0 2017-03-10 14:52:26 +00:00
Martyn Taylor f1a5f1caf9 Revert "[maven-release-plugin] prepare release 2.0.0"
This reverts commit 057047499b.
2017-03-10 14:45:29 +00:00
Martyn Taylor 1964abe567 Revert "[maven-release-plugin] prepare for next development iteration"
This reverts commit 9a52f51c9f.
2017-03-10 14:44:58 +00:00
Martyn Taylor 9a52f51c9f [maven-release-plugin] prepare for next development iteration 2017-03-10 11:36:36 +00:00
Martyn Taylor 057047499b [maven-release-plugin] prepare release 2.0.0 2017-03-10 11:25:47 +00:00
Martyn Taylor b33fea0d7f ARTEMIS-990 Dont require Perms on MQTT mngment Q 2017-03-10 11:06:05 +00:00
Clebert Suconic fe0ca4d84f ARTEMIS-1009 Pure Message Encoding.
with this we could send and receive message in their raw format,
without requiring conversions to Core.

- MessageImpl and ServerMessage are removed as part of this
- AMQPMessage and CoreMessage will have the specialized message format for each protocol
- The protocol manager is now responsible to send the message
- The message will provide an encoder for journal and paging
2017-03-05 23:08:53 -05:00
Martyn Taylor 8b51ec27db NO-JIRA Send MQTT WILL outside of Server Session 2017-02-18 13:31:57 +00:00
Martyn Taylor 5a235d98b6 ARTEMIS-974 ensure will messages are retained 2017-02-16 18:22:10 +00:00
Dejan Bosanac 21b64b3e4f https://issues.apache.org/jira/browse/ARTEMIS-815 - support wildcard address configuration in mqtt layer
https://issues.apache.org/jira/browse/ARTEMIS-815 - support wildcard address configuration in mqtt layer - remove old swap method

https://issues.apache.org/jira/browse/ARTEMIS-815 - added tests for mqtt-openwire integration and fixed openwire layer

https://issues.apache.org/jira/browse/ARTEMIS-815 - remove unused imports
2017-02-16 17:37:50 +00:00
Martyn Taylor bd1f244dfc NO-JIRA Clean up around MQTTConnectionManager 2017-02-14 11:26:54 -06:00
Martyn Taylor 3bd5c9df6a ARTMEIS-958 Route Will message outside server session 2017-02-14 11:26:54 -06:00
Martyn Taylor 59773c2849 ARTEMIS-960 Do not encode Will messages 2017-02-14 11:26:54 -06:00
Justin Bertram ff3e75d148 NO-JIRA move RoutingType to different package 2017-02-13 09:50:41 -06:00
Martyn Taylor cd28d76554 ARTEMIS-951 Auto Commit MQTT Acks 2017-02-09 10:43:03 +00:00
Martyn Taylor b2e250d425 ARTEMIS-952 Remove MQTT Queues on Clean Session 2017-02-09 10:43:03 +00:00
Martyn Taylor 3900cb0ec7 ARTEMIS-917 Only return body of retained message after reboot 2017-02-06 13:33:26 -06:00
Will Reichert 3347a4fd27 ARTEMIS-928 Changing Netty and InVM to copy buffers, and retain them on the Netty Polls. 2017-01-18 16:59:32 -05:00
Martyn Taylor 7f658cad21 ARTEMIS-788 Enable auto create and Prefix in MQTT 2016-12-13 15:54:50 -05:00
Martyn Taylor 6682072da6 Major Version Bump 2.0.0 After Major Arch Change 2016-12-09 18:43:15 +00:00
jbertram fa67d40b9d ARTEMIS-789 Fixed a number of failing tests 2016-12-09 18:43:15 +00:00
Martyn Taylor 8f532cc25d ARTEMIS-880 Add support for address prefixing 2016-12-09 18:43:15 +00:00
jbertram 683ae68989 ARTEMIS-789 Fix Failing Tests 2016-12-09 18:43:15 +00:00
Martyn Taylor 7a51491c32 ARTEMIS-780 Added ability to define 2 Routing Types on a single addres 2016-12-09 18:43:15 +00:00
jbertram a88853fe53 ARTEMIS-788 Stomp refactor + track autocreation for addresses 2016-12-09 18:43:15 +00:00
Martyn Taylor 887b8c8532 ARTEMIS-788 Update MQTT Protocol 2016-12-09 18:43:15 +00:00
Clebert Suconic ebbc91c728 [maven-release-plugin] prepare for next development iteration 2016-12-06 16:59:52 -05:00
Clebert Suconic 5bcbea2517 [maven-release-plugin] prepare release 1.5.1 2016-12-06 09:47:43 -05:00
Dmitrii Tikhomirov 3995319dca ARTEMIS-865 Remove e.printStackTrace() from code 2016-11-23 11:15:54 -05:00
Clebert Suconic f2db1c4337 [maven-release-plugin] prepare for next development iteration 2016-11-03 15:35:05 -04:00
Clebert Suconic 13a8a2bd40 [maven-release-plugin] prepare release 1.5.0 2016-11-03 15:34:54 -04:00
Clebert Suconic 5e5ac0f057 ARTEMIS-832 Openwire was ignoring data syncs.
I'm also adding the possibility of sync on libaio, and not only relay on write-cache
2016-11-02 13:17:12 -05:00
Paul Gallagher fcb70f3f60 ARTEMIS-779 upgrade to netty 4.1.5.Final 2016-10-10 23:24:56 +02:00
Martyn Taylor a09348695c ARTEMIS-778 Fix MQTT tests, refactor session state 2016-10-10 23:24:14 +02:00
Clebert Suconic ec48f9ed00 ARTEMIS-765 Improve Checkstyle 2016-09-30 11:12:09 -04:00
Clebert Suconic 505b732843 [maven-release-plugin] prepare for next development iteration 2016-09-06 12:17:31 -04:00
Clebert Suconic b305e231ec [maven-release-plugin] prepare release 1.4.0 2016-09-06 12:17:08 -04:00
Clebert Suconic 4472aa0e36 ARTEMIS-581 Implement max disk usage, and global-max-size
max-disk-usage = how much of a disk we can use before the system blocks
global-max-size = how much bytes we can take from memory for messages before we start enter into the configured page mode

This will also change the default created configuration into page-mode as that's more reliable for systems.
2016-09-06 15:07:49 +01:00
Clebert Suconic a3840c23c3 [maven-release-plugin] prepare for next development iteration 2016-08-16 11:59:55 -04:00
Clebert Suconic d38ef19bf6 [maven-release-plugin] prepare release 1.4.0 2016-08-16 11:59:36 -04:00
Martyn Taylor 7afd0fb028 ARTEMIS-677 Support websocket subprotocol handshakes 2016-08-10 11:07:47 -04:00
Clebert Suconic 579d6226aa ARTEMIS-671 Returning messages after connection killed, and validating usage of reconnect 2016-08-09 11:23:46 +01:00
bayern39 a741642a48 [ARTEMIS-642] Disable slow client reconnecting with KILL slow client policy 2016-08-03 18:39:57 -04:00
Ville Skyttä 9963f96033 Fix NPE with null session in MQTTConnectionManager.disconnect() 2016-07-28 23:30:02 +03:00
Martyn Taylor 64e95b9b91 This closes #665 2016-07-26 15:14:40 +01:00
Martyn Taylor 69294e83e1 Add management filter to Queue not Consumer MQTT 2016-07-26 12:32:38 +01:00
Ville Skyttä aed49b3894 Spelling fixes 2016-07-26 14:24:45 +03:00
Martyn Taylor e341b54c49 ARTEMIS-641 filter out management notifications in MQTT 2016-07-21 14:47:20 -05:00
Martyn Taylor fe0cb648d6 ARTEMIS-335 Remove dead code from MQTTPublishManager 2016-07-21 14:47:20 -05:00
John D. Ament 7c746c719e ARTEMIS-607 Added interceptor support for MQTT protocol.
Also updated the maintainer's guide to clarify what is run in the PR builder.
2016-07-05 19:43:00 -04:00
Ville Skyttä 3923ae45f4 Fix checkstyle redundant modifier violations 2016-06-13 20:03:54 +03:00
Martyn Taylor 9ae39f663f [maven-release-plugin] prepare for next development iteration 2016-06-09 12:52:56 +01:00
Martyn Taylor 221039e353 [maven-release-plugin] prepare release 1.3.0 2016-06-09 12:49:13 +01:00
Martyn Taylor 319439ab27 [maven-release-plugin] prepare for next development iteration 2016-06-09 12:25:19 +01:00
Martyn Taylor 2c5ab446be [maven-release-plugin] prepare release 1.3.0 2016-06-09 12:24:48 +01:00
Martyn Taylor 4a07091718 [maven-release-plugin] prepare for next development iteration 2016-06-09 11:25:03 +01:00
Martyn Taylor 93cf7b4b9b [maven-release-plugin] prepare release 1.3.0 2016-06-09 11:23:03 +01:00
Martyn Taylor 4574b3ee13 [maven-release-plugin] prepare for next development iteration 2016-06-08 11:03:35 +01:00
Martyn Taylor 2b3d22c5cc [maven-release-plugin] prepare release 1.3.0 2016-06-08 11:02:14 +01:00
Martyn Taylor e453aae5c9 ARTEMIS-233 Convert TextMessage to UTF8 in MQTT 2016-05-25 15:37:20 -04:00
Martyn Taylor 0d8a565836 Artemis-233 Support JMS BytesMessage -> MQTT 2016-05-25 17:59:00 +01:00
Martyn Taylor 3c7c2ed5d3 ARTEMIS-233 Remove MQTT Address PreFix for cross protocol support 2016-05-25 17:59:00 +01:00
Diego Bes 75a4e78948 Change keep alive ratio to 1.5 from 0.75
Fixes: ARTEMIS-397

From mqtt specs:

“If the Keep Alive value is non-zero and the Server does not receive a
Control Packet from the Client within one and a half times the Keep
Alive time period, it MUST disconnect the Network Connection to the
Client as if the network had failed [MQTT-3.1.2-24]. “
2016-05-03 14:14:34 +01:00
Ville Skyttä 3dc3e8520d Remove redundant toString calls 2016-04-11 16:54:30 -04:00
Clebert Suconic 50eac7c824 ARTEMIS-468 Amendments to how redelivery count is handled on openwire 2016-04-07 13:56:31 -04:00
Clebert Suconic 3aedf27386 ARTEMIS-463 More simplifications on the openwire head
https://issues.apache.org/jira/browse/ARTEMIS-463

This will have some extra refactoring on the protocol head, transferring responsibility to the broker classes in a lot of cases
and removing some duplicated code

This was a team effort from Clebert Suconic and Howard Gao
2016-04-04 11:08:43 -05:00
Clebert Suconic 6ddf486f8f ARTEMIS-463 Refactoring on Openwire
https://issues.apache.org/jira/browse/ARTEMIS-463

This was a team effort from Clebert Suconic and Howard Gao
2016-04-04 11:08:43 -05:00
Clebert Suconic ee6a03295f ARTEMIS-437 Improving lock over certain protocols
Avoiding deadlocks between acks and other factors
2016-03-16 08:23:58 -04:00
Clebert Suconic 9ebc6786b6 ARTEMIS-401 Refactoring Acceptors and ProtocolManager to support parameters
https://issues.apache.org/jira/browse/ARTEMIS-401
2016-02-18 10:14:26 -06:00
gautric 3986f0a517 Add Name tag for several POM files 2016-02-16 11:56:01 -05:00
Clebert Suconic e62a820414 Fixing ServerMessage's copy and MQTT delivery 2016-01-27 17:12:56 -05:00
Martyn Taylor 4922a7618a Bump to next version to 1.3.0-SNAPSHOT 2016-01-20 17:25:07 +00:00
Martyn Taylor 2c430e597b [maven-release-plugin] prepare for next development iteration 2016-01-04 11:50:36 +00:00
Martyn Taylor f182c806b6 [maven-release-plugin] prepare release 1.2.0 2016-01-04 11:49:58 +00:00
Martyn Taylor 5f32e6575c [maven-release-plugin] prepare for next development iteration 2016-01-04 09:24:34 +00:00
Martyn Taylor 150c5d87aa [maven-release-plugin] prepare release 1.2.0 2016-01-04 09:19:35 +00:00
Ville Skyttä d48e344a8f Add missing @Overrides 2015-12-21 22:06:03 -05:00
Martyn Taylor 90c9469701 [maven-release-plugin] prepare for next development iteration 2015-12-17 17:03:40 +00:00
Martyn Taylor df61224d2d [maven-release-plugin] prepare release 1.2.0 2015-12-17 17:01:58 +00:00
Clebert Suconic b1b4bb8a32 ARTEMIS-320 Refactoring TCP flow control and proper implementation of flow control on consumers
https://issues.apache.org/jira/browse/ARTEMIS-320
2015-12-10 16:50:26 -05:00
Ville Skyttä f8a1c5ba8e Remove redundant type arguments 2015-12-07 22:55:05 +02:00
Ville Skyttä 25ae472455 Add missing @Override annotations 2015-12-06 01:27:35 +02:00
Christian Schneider 8cc6c2f5fc More checkstyle fixes 2015-11-24 14:55:35 +01:00
Christian Schneider be9dad3f2b OSGi support based on branch from gnodet 2015-11-24 11:12:10 +01:00
Clebert Suconic 206acdac7d ARTEMIS-238 and ARTEMIS-236 Fixing Legacy protocol support 2015-10-08 20:32:43 -04:00
Martyn Taylor bb2c890803 [maven-release-plugin] prepare for next development iteration 2015-09-15 15:43:44 +01:00
Martyn Taylor 63ea448728 [maven-release-plugin] prepare release 1.1.0 2015-09-15 15:41:37 +01:00
Martyn Taylor 6408fd0357 [maven-release-plugin] prepare for next development iteration 2015-09-11 19:01:57 +01:00
Martyn Taylor c512f12a34 [maven-release-plugin] prepare release 1.1.0 2015-09-11 19:01:19 +01:00
Martyn Taylor fec6546480 [maven-release-plugin] prepare for next development iteration 2015-09-08 16:39:59 +01:00
Martyn Taylor 4d0b15b043 [maven-release-plugin] prepare release 1.1.0 2015-09-08 16:29:09 +01:00
Martyn Taylor 82f6a88d59 [maven-release-plugin] prepare for next development iteration 2015-09-07 10:02:01 +01:00
Martyn Taylor 8c1e0e15fc [maven-release-plugin] prepare release 1.1.0 2015-09-07 10:01:10 +01:00
Martyn Taylor a2aa18c123 [maven-release-plugin] prepare for next development iteration 2015-09-04 20:20:13 +01:00
Martyn Taylor a5decb659e [maven-release-plugin] prepare release 1.1.0 2015-09-04 20:19:11 +01:00
Martyn Taylor 4576ccea08 [maven-release-plugin] prepare for next development iteration 2015-09-04 19:48:52 +01:00
Clebert Suconic 5ac2c2444b manual checkstyle changes 2015-08-10 10:08:23 -04:00
Clebert Suconic bac96047f5 automatic checkstyle change
this is just calling Idea format on all the files using the new style
I am separating manual changes from automatic changes in case I have to repeat the manual changes again
2015-08-10 09:26:42 -04:00
Clebert Suconic 6fe9e0ebd6 ARTEMIS-163 First pass on the native AIO refactoring
https://issues.apache.org/jira/browse/ARTEMIS-163

On this pass I'm just converting the native layer to a simpler one.
It wasn't very easy to change the alignment at the current framework,
so I did some refactoring simplifying the native layer

The volume of the nubmer of changes here is because:

- The API is changed, we now don't close the libaio queue between files
- The native layer won't use malloc as much as it used to, saving some CPU and memory defragmentation
- I organized the code around nio and libaio
2015-07-29 22:12:03 -04:00
Clebert Suconic d002da8506 mqtt improvement over retained queue 2015-07-27 10:32:20 -04:00
Ville Skyttä 2a647c176f Declare ConcurrentMaps instead of ConcurrentHashMaps
See PR #88 for discussion.
2015-07-22 16:16:57 +03:00
Clebert Suconic 5c4511b59f Using ConcurrentMap instead on MQTTSessionState" 2015-07-22 11:44:03 +01:00
Ville Skyttä 0dcad8fc59 Fix MQTT build
putIfAbsent() is a ConcurrentHashMap method.
2015-07-21 22:18:49 +01:00
Martyn Taylor 0f82ca754b Added Initial MQTT Protocol Support 2015-07-09 11:08:04 +01:00