Commit Graph

697 Commits

Author SHA1 Message Date
Ville Skyttä 3dc3e8520d Remove redundant toString calls 2016-04-11 16:54:30 -04:00
Ville Skyttä e6e1311f8d Add missing @Overrides 2016-04-11 16:51:01 -04:00
Clebert Suconic 50eac7c824 ARTEMIS-468 Amendments to how redelivery count is handled on openwire 2016-04-07 13:56:31 -04:00
Howard Gao 8a998ad805 ARTEMIS-468 Fix openwire redelivery related regressions under integration-tests 2016-04-07 12:12:28 -04:00
Clebert Suconic 91bdeb3728 ARTEMIS-464 Sending null textMessage shouldn't break the wire 2016-04-04 11:08:43 -05:00
Clebert Suconic 3560415bcb ARTEMIS-463 Using OperationContext for async support 2016-04-04 11:08:43 -05: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
Ville Skyttä 3a2d5de49e Remove unnecessary code 2016-04-04 11:04:49 -05:00
Ville Skyttä 16ee65309c Add missing @Override annotations 2016-04-04 11:03:48 -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
Ville Skyttä 7c275cdb1a Use generics more 2016-02-28 01:06:59 +02:00
Ville Skyttä aa3f3bd6a7 Use try-with-resources more 2016-02-21 12:09:43 +02:00
Clebert Suconic 02afdbbb12 Upgrade proton to 0.12 2016-02-18 10:14:26 -06: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
Andy Taylor 7702a0a1f9 ARTEMIS-398 - AMQP protocol idle timeout issue
added functionality to tick every n seconds where n is 1/2 the idle timeout

https://issues.apache.org/jira/browse/ARTEMIS-398
2016-02-16 11:24:09 +00:00
Clebert Suconic e62a820414 Fixing ServerMessage's copy and MQTT delivery 2016-01-27 17:12:56 -05:00
Ville Skyttä 51f125387b Add "persistent" header to outbound STOMP messages 2016-01-27 13:20:55 -05:00
Ville Skyttä bdea213e88 Rename Stomp.Headers.Message.PRORITY to .PRIORITY 2016-01-27 13:20:55 -05:00
Ville Skyttä 2c4312d4f2 Disconnect on STOMP 1.2 errors
https://stomp.github.io/stomp-specification-1.2.html#ERROR
2016-01-25 21:33:28 -05:00
jbertram ddc95a0f28 ARTEMIS-358 topic mistakenly removed with sub
The problem here is that the management notification listener was mistakenly
removing the topic itself instead of just the non-durable subscription. In
general I can't see why StompProtocolManager even needs to keep track of the
destinations when the broker already does that. As far as I can tell it is
redundant and it's clearly error-prone. Therefore I'm removing the destination
tracking from StompProtocolManager altogether.
2016-01-25 21:04:00 -05:00
Martyn Taylor 4922a7618a Bump to next version to 1.3.0-SNAPSHOT 2016-01-20 17:25:07 +00:00
Ville Skyttä f85e5e7922 Deprecation fixes 2016-01-11 13:22:18 -05:00
Clebert Suconic 1d7e8b38ea Fixing intermittent failure on Proton tests 2016-01-06 21:58:34 -05:00
Clebert Suconic b3a8c23802 ARTEMIS-332 - fix checkstyle 2016-01-06 20:39:38 -05:00
Clebert Suconic 0dab0552dc ARTEMIS-332 - fix openwire after exceptions change 2016-01-06 19:58:15 -05:00
Clebert Suconic 96849a42b7 ARTEMIS-332 - Duplicate delivery over Bridges under OME scenarios, paging and other failures
https://issues.apache.org/jira/browse/ARTEMIS-332
2016-01-04 20:49:28 -05: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
Ville Skyttä a0dc9861a0 Access static members directly 2015-12-21 22:01:21 -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ä 3b5ee6c7ea Remove unnecessary casts 2015-12-07 22:53:42 +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 270ad3ec3b ARTEMIS-238/ARTEMIS-236 Removing file that was supposed to be deleted 2015-10-23 09:44:30 -04:00
Clebert Suconic bc828c0017 ARTEMIS-238 and ARTEMIS-236 Moving HQClient to its own module avoiding uncessary server's dependencies 2015-10-22 10:15:14 -04:00
Julian Scheid aa7696e329 ARTEMIS-270 Supply RemotingConnection for authorization 2015-10-20 18:23:41 -04:00
Clebert Suconic ed51a6f706 removing accidental system.out 2015-10-12 19:14:30 -04:00
Clebert Suconic 206acdac7d ARTEMIS-238 and ARTEMIS-236 Fixing Legacy protocol support 2015-10-08 20:32:43 -04:00
Clebert Suconic d2a5003ff4 Adding stomp-jms example 2015-10-06 22:05:59 -04:00
Julian Scheid 235380d5df ARTEMIS-230 Copy STOMP content-header back and forth 2015-09-28 14:53:10 +02: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
Howard Gao 0abf52468b ARTEMIS-200 Message Compression Support 2015-09-14 09:56:19 +08: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
Clebert Suconic 7b2c50415a using new qpid-jms client on AMQP 2015-09-11 09:06:00 -04: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
Howard Gao e3a1e8abd6 Fix ReconnectWithSameClientIDTest 2015-09-07 15:05:33 +08: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 cc9cacef14 fixing openwire tests
I removed some valid code while removing dead code.
2015-08-31 08:14:25 -04:00
Howard Gao 638674bce0 Minor refactor of OpenWireProtocolManager
In addDestination() put the security check right before
  actual queue creation. That'll also fix BasicSecurityTest
  regression.
2015-08-31 10:37:28 +08:00
Clebert Suconic 9cf4c18ea5 removing more dead code on openwire
(classes without any implementation detail, no code usage or duplicate meaning)
2015-08-28 19:33:35 -04:00
Clebert Suconic 343ed61e14 removing more dead code on openwire 2015-08-28 17:10:24 -04:00
Clebert Suconic e850e1351d Removing dead code - AMQSEcurityContext 2015-08-28 15:05:44 -04:00
Clebert Suconic 738b15d0ae Removing deadcode on openwire AMQSubscription 2015-08-28 15:05:44 -04:00
Clebert Suconic ebb91edd42 Removing dead code on openwire - DestinationStatistics & AuthorizationPolicy 2015-08-28 15:05:43 -04:00
Clebert Suconic 5f16adde43 removing dead code on openwire - AMQPersistenceAdapter & AMQMessageStore 2015-08-28 15:05:43 -04:00
Clebert Suconic 8927456d21 removing dead code - NotenoughBytesException 2015-08-28 15:05:42 -04:00
Clebert Suconic 12de35892a Removing dead code - AMQPBrokerStoppedException 2015-08-28 15:05:42 -04:00
Clebert Suconic 04ca86c3dd removing more dead code on openwire implementation 2015-08-28 15:05:41 -04:00
Clebert Suconic 3fbf75b2ff removing dead code on openwire implementation 2015-08-28 15:05:41 -04:00
Clebert Suconic 8d98fc395f Refactoring Auth
this is doing some refactoring, making the SecurityStore mechnism possible to be reused on other protocols,
without forcing them to implement ServerSession on checks that won't fit the Server Model from Artemis
2015-08-28 15:04:59 -04:00
Howard Gao be9959e0bc ARTEMIS-191 Refactor RemoveDestinationTest
-Using core api to inspect queue status
  -Catch command visit() exceptions in order to
   pass it back to client.
  -Correct destination add/remove handlings
2015-08-28 20:33:38 +08:00
Andy Taylor 2f18b4cbfc ARTEMIS-193 - OpenWire protocol only works with messages received over openwire
Fix the address conversion between protocols so its consistent

https://issues.apache.org/jira/browse/ARTEMIS-193
2015-08-27 10:23:38 +01:00
Clebert Suconic 4b79ddb0bd ARTEMIS-209 fix keepAlive
- Received should be set to true on any package
2015-08-25 18:56:14 -04:00
Clebert Suconic 8935483cdd ARTEMIS-208 fixing BrokerInfo, using OpenWire connection instead of static property on the protocolManager 2015-08-24 22:54:59 -04:00
Howard Gao 34e127cc0c ARTEMIS-208 BrokerInfo issue, also:
enlarged the default max size for tests to avoid send blocking.
2015-08-24 22:54:12 -04:00
jbertram 976174305e ARTEMIS-209 fix keepAlive 2015-08-14 16:20:10 -05:00
Clebert Suconic 27b98a2514 performance tests on openwire 2015-08-14 15:39:27 -04:00
Clebert Suconic 1dae99746b ARTEMIS-204 Improvements on OpenWire
https://issues.apache.org/jira/browse/ARTEMIS-204

by consequence this will also fix any possible issues with AMQP
2015-08-13 20:39:01 -04: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
Andy Taylor 81756739bb ARTEMIS-186, ARTEMIS-188 and some refactoring
refactoring and simplifying some of the connection state code and removing stuff we dont need. Also removed some of maps used and removed the need for lots of lookups

https://issues.apache.org/jira/browse/ARTEMIS-186

Added message pull support for zero prefetch consumers

https://issues.apache.org/jira/browse/ARTEMIS-188

Added consumer flow control
2015-08-06 09:49:46 +01:00
Howard Gao 65e9ec01b8 Fix openwire unit tests
Fix JmsRedeliveredTest and add processing of RemoveSubscriptionInfo command
2015-08-03 08:56:27 -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
Andy Taylor abcde1c1f3 added Openwire XA end call 2015-07-28 09:50:29 -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
Ville Skyttä 45d1601334 Make some STOMP fields final 2015-07-22 11:48:42 +01: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
Ville Skyttä 214a1dc1eb Use StringBuilder instead of StringBuffer on STOMP encode 2015-07-21 19:11:07 +03:00
Ville Skyttä 615a9881b5 Use base implementation for STOMP 1.1+ toActiveMQBuffer 2015-07-21 19:06:40 +03:00
Ville Skyttä 0b3a64c5e8 Auto-set content-length to STOMP 1.0 frames
As recommended by the 1.0 spec.
2015-07-21 19:04:08 +03:00
Clebert Suconic 8353bd1f77 reapplying Don't auto-send STOMP content-length header if one was explicitly set
I reverted this change by accident
2015-07-21 13:59:38 +01:00
Clebert Suconic dcd6033e02 fixing Stomp::testSendWithHeartBeats 2015-07-21 02:46:45 +01:00
Ville Skyttä 642838c712 Don't auto-send STOMP content-length header if one was explicitly set 2015-07-20 15:09:07 +01:00
Ville Skyttä 8a90de6fbc Avoid some array copies on STOMP decode 2015-07-20 14:57:17 +01:00
Ville Skyttä b38236df82 Set content-type to STOMP ERROR frames
Not setting it to directly instantiated 1.0 frames though, as
content-type is not in the 1.0 spec. However the 1.0 spec does not
actually forbid headers outside of the spec so it shouldn't hurt if we
end up setting it for some frames sent over a 1.0 connection.
2015-07-14 09:54:40 -04:00
Ville Skyttä 6ee22e7c5e Set frame handlers to ActiveMQStompExceptions 2015-07-14 09:53:36 -04:00
Ville Skyttä 3deb20f049 Create versioned instead of generic frames from STOMP decoder 2015-07-14 09:53:35 -04:00
Ville Skyttä 9e41d961be Send supported versions back in STOMP ERROR version
https://stomp.github.io/stomp-specification-1.2.html#Protocol_Negotiation
2015-07-13 16:50:36 -04:00
Ville Skyttä 6199d4ee11 Don't hardcode supported STOMP versions but loop through StompVersions 2015-07-13 16:50:36 -04:00
Ville Skyttä 78cb156ef9 Spelling fixes 2015-07-13 09:38:00 -04:00
Ville Skyttä 851ac30f32 Auto-add content-length to STOMP 1.1 frames too, inherit 1.2 from 1.1 2015-07-10 14:43:00 +03:00
Ville Skyttä 2f6d3dc064 Use END_OF_FRAME from base StompFrame 2015-07-10 12:19:18 +03:00
Ville Skyttä ebcf0c0080 Use more versioned STOMP frames rather than generic 2015-07-10 12:06:48 +03:00
Ville Skyttä b0a80ce1be Spelling fixes 2015-07-09 10:41:03 -04:00
Ville Skyttä 7c41bac6b6 Use Stomp constants more rather than magic strings 2015-07-09 10:33:43 -04:00
Ville Skyttä e0e405f879 Remove incorrect comment about Stomp.Headers.Error.MESSAGE 2015-07-09 10:30:04 -04:00
Ville Skyttä 54bbcb3663 Remove StompCommands
It is used in only two places and duplicates constants with
Stomp.Commands and Stomp.Responses.
2015-07-09 10:29:14 -04:00
Howard Gao 7cf58b1e88 ARTEMIS-149 Advisory Message Support
Adding functions to send advisory messages.
2015-07-09 10:23:24 -04:00
Martyn Taylor 0f82ca754b Added Initial MQTT Protocol Support 2015-07-09 11:08:04 +01:00
jbertram bf9f6d213b ARTEMIS-104 missing i18n warns 2015-06-24 14:05:40 -05:00
Otavio Rodolfo Piske f47d1bd15a ARTEMIS-129 removes empty package-info.java files
As describes in ARTEMIS-129, performs a small cleanup on the codebase by removing empty package-info.java files.
2015-06-23 10:50:13 -04:00
jbertram 944f409c4a ARTEMIS-142 Fix for STOMP tests 2015-06-22 13:40:49 -05:00
Andy Taylor 0e2779ceee ARTEMIS-143 - expose idle-timeout
https://issues.apache.org/jira/browse/ARTEMIS-143

Set the idle-timeout on the proton Transport object and also call tick so we send our own heartbeats.
2015-06-22 10:10:44 +01:00
Clebert Suconic 51c34c87d2 ARTEMIS-136 - XA Error fix with proper exception error
https://issues.apache.org/jira/browse/ARTEMIS-136

From what I researched from implementers of XA TM if you throw ERR over communication errors the transaction manager will create
an heuristic transaction to be manually dealt with.

Other XA Implementations (such as Oracle JDBC) are return FAIL over communication failures during any XA operation.
2015-06-15 16:34:55 -04:00
Clebert Suconic 309ce4324c Fixing javadoc and removing the -Xdoclint option from the pom.xml
Also, since JDK 1.8 is no longer required I'm downgrading the JDK to 1.7 minimal.
We can review that back to 1.8 when we really need 1.8 features.
2015-06-09 22:13:11 -04:00
Howard Gao afe5b5cefe ARTEMIS-128 ClassCastException in openwire message conversion 2015-06-09 12:35:55 -04:00
Thiago Kronig d48b4f4770 ARTEMIS-129 License header should be a normal comment
To reproduce this commit, apply a replace regex rule using:

    search regex: /\*\*\n \* Licensed
    replace: /\*\n \* Licensed

These files had to be changed manually:

    artemis-selector/src/main/javacc/HyphenatedParser.jj
    artemis-selector/src/main/javacc/StrictParser.jj
    artemis-website/src/main/resources/styles/impact/css/pygmentize.css
    artemis-website/src/main/resources/styles/impact/css/site.css
2015-06-03 10:19:45 -04:00
jbertram 328611fdc9 More test-suite refactoring
Lots of work on the test-suite in this commit including:
- Rename ServiceTestBase to ActiveMQTestBase
- Make AddressSettings fluent
- Remove unnecessary tearDown() implementations
- Use ActiveMQTestBase.create*Locator() instead of
  ActiveMQClient.createServerLocator*(..)
- Use fluent ServerLocator methods
- Make sure all ActiveMQServers.newActiveMQServer invocations
  are surrounded with addServer() where appropriate
- Create a few example tests to be references from hacking-guide
- Update hacking-guide with more info on writing tests
- Refactor config creation methods in ActiveMQTestBase
2015-05-28 08:49:02 -05:00
Martyn Taylor 22d54c5830 [maven-release-plugin] prepare for next development iteration 2015-05-21 13:47:45 +01:00
Martyn Taylor 3435d5948f [maven-release-plugin] prepare release 1.0.0 2015-05-21 13:43:56 +01:00
Martyn Taylor 97210427df [maven-release-plugin] prepare for next development iteration 2015-05-20 11:26:38 +01:00
Martyn Taylor 3fb3799f91 [maven-release-plugin] prepare release 1.0.0 2015-05-20 11:17:31 +01:00
Martyn Taylor f14b3353f4 Support reconnect on OpenWire failover transport 2015-05-20 10:40:50 +01:00
Martyn Taylor 2de3bfa9f1 ACTIVEMQ-106 Drop ConnectionControl Packet 2015-05-20 10:40:50 +01:00
Martyn Taylor 73c5f2e342 [maven-release-plugin] prepare for next development iteration 2015-05-13 15:24:55 +01:00
Martyn Taylor bfc9d8f72d [maven-release-plugin] prepare release 1.0.0 2015-05-13 15:24:16 +01:00
Martyn Taylor a17c828b85 Ensure all references to the project use ActiveMQ Artemis 2015-05-13 11:51:26 +01:00
Martyn Taylor 1013e7f1dd [maven-release-plugin] prepare for next development iteration 2015-05-12 13:51:35 +01:00
Martyn Taylor d6466b7a1b [maven-release-plugin] prepare release 1.0.0 2015-05-12 13:50:56 +01:00
Martyn Taylor 3e34044d2b [maven-release-plugin] prepare for next development iteration 2015-05-11 21:50:41 +01:00
Martyn Taylor d2de238a30 [maven-release-plugin] prepare release 1.0.0 2015-05-11 21:48:17 +01:00
jbertram 2cbeedab89 Clean up 'ActiveMQ' refs in literals 2015-05-11 11:23:35 -05:00
Martyn Taylor a176a542aa Log the protocol module name on boot 2015-05-07 14:59:46 -04:00
Martyn Taylor 77efc950af ACTIVEMQ6-100 Add support for HornetQ clients 2015-05-07 14:59:46 -04:00
jbertram f509ce7519 ACTIVEMQ6-70 broker resource limits
Implements basic limits on the number of connections and number of
queues a particular user can create to/on the broker.
2015-05-04 20:37:20 -05:00
jbertram 028529b8a9 Avoid potential NPEs seen on tests 2015-04-30 09:26:03 -05:00
Andy Taylor ac5bb8fd6c renamed config to broker.xml 2015-04-29 10:30:32 +01:00
Justin Bertram 8f52a622d0 ACTIVEMQ6-1 Artemis rename
Based on the Apache ActiveMQ community vote this project is being
renamed "Artemis."
2015-04-27 17:48:02 -04:00
Clebert Suconic f509c075c6 ACTIVEMQ6-1 Artemis rename
This commit is a simple mv of the files.. We required two commits to preserve history,
one to git mv, one for the actual changes...

otherwise history would be lost

Based on the Apache ActiveMQ community vote this project is being
renamed "Artemis."
2015-04-27 17:44:45 -04:00