459 Commits

Author SHA1 Message Date
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