Commit Graph

70 Commits

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