Commit Graph

225 Commits

Author SHA1 Message Date
gtully b62e9875fe [ARTEMIS-1552] ensure gssapi sasl mech can deal with empty receive buffer 2017-12-14 19:45:04 -06:00
Todd Baert fcfa4a5e63 ARTEMIS-1542 - AMQP message cluster-bridging fix
Fixing and issue where AMQP messages would lose their address when being sent accross a cluster-bridge.
2017-12-11 11:06:36 -05:00
Michael André Pearce fa80536615 ARTEMIS-1550 - Support LVQ for OpenWire
Add support for LVQ, using the same property key as core "_AMQ_LVQ_NAME"
Update current LVQ test case to correctly test OpenWire LVQ.
2017-12-09 15:07:21 +00:00
Timothy Bish 4c04666421 ARTEMIS-1544 Use the proper types when accessing ApplicationProperties
Use Map<String, Object> to access the ApplicationProperties section
which is the spec defined type for that section.  This will prevent
breakage should proton-j be updated to reflect that in the definition of
that class.
2017-12-07 13:30:53 -05:00
Andy Taylor 34a912b644 ARTEMIS-1535 - settle delivery in same lock as sending the disposition
https://issues.apache.org/jira/browse/ARTEMIS-1535
2017-12-05 22:54:08 -05:00
Clebert Suconic 8b7282d849 ARTEMIS-1529 Fixing Ref count over asynchronous ack 2017-11-29 09:45:09 -05:00
saurabhrai 4abca78785 ARTEMIS-1364: Enable internal sorting in hawtio web console 2017-11-29 08:52:33 +00:00
Clebert Suconic 172420c553 ARTEMIS-1508 Fixing Divert message and AMQP.reencode 2017-11-27 15:04:11 -05:00
Clebert Suconic 1d1d6c8b46 ARTEMIS-1416 Implementing cache on queue and address querying
This will cache the last query, optimizing most of the cases
This won't optimize the case where you are sending producers with different address,
but this is not the one I'm after now.
2017-11-21 10:49:07 -05:00
Justin Bertram 40aa3f5821 ARTEMIS-1513 fix AMQP + core bridge 2017-11-21 09:44:30 -05:00
Clebert Suconic 9daa0321b6 ARTEMIS-1514 Large message fix
I'm doing an overal improvement on large message support for AMQP
However this commit is just about a Bug on the converter.

It will be moot after all the changes I'm making, but I would rather keep this separate
as a way to cherry-pick on previous versions eventually.
2017-11-15 20:54:58 -05:00
Clebert Suconic 0e9b39c825 ARTEMIS-1416 Fixing qpid AMQP tests
This will fix tests from https://git-wip-us.apache.org/repos/asf/qpid-interop-test.git

Notice that the previous 2 committs here are needed
2017-11-03 18:27:24 -04:00
Howard Gao ec13ed6df0 ARTEMIS-1416 Fix regressions in Joram tests
This closes #1621
2017-11-03 18:26:03 -04:00
Howard Gao f3ace6afd7 ARTEMIS-1416 Queue is not autocreated if address already exists
- Fix on core and amqp.
- Add test to verify amqp's current large message behavior.
- Add test to openwire also just to verify.
2017-11-03 18:25:23 -04:00
Clebert Suconic 9eb780cbd1 ARTEMIS-1490 Race on address delete 2017-10-31 08:37:40 -05:00
Michael André Pearce c1fcadb706 ARTEMIS-1464 Fix Core to AMQP conversion BytesMessage corrupts bytes
Extend test cases in MessageTypesTest to cover Core to AMQP combinations for all JMSTypeTests
Fix ServerJMSBytesMessage to correctly return bodyLength
Remove unused/dead code
2017-10-19 13:11:39 +01:00
Clebert Suconic e31f447032 ARTEMIS-1461 Allow changing of messages through interceptors 2017-10-11 21:01:48 -04:00
Robert Godfrey cc8a0cb90e ARTEMIS-1454: Support SASL in outgoing AMQP
Update ProtonHandler to allow for both client and server side SASL
and other related changes to allow for setting of client side mechanism
2017-10-09 10:05:35 +02:00
Timothy Bish 6d94997aa8 ARTEMIS-1314 Fixing issues with JMS selectors on AMQP
Allows for JMS selectors on JMSCorrelationID as well as JMSXGroupID
and JMSXUserID along with some fixes to avoid an NPE case and fixes
to the conversion of AMQP MessageID and CorrelationID values when
doing cross protocol mappings.  Adds new tests to cover more cases
of using the JMS selector with Qpid JMS and the AMQP test client.
2017-10-06 18:40:06 -04:00
Justin Bertram 03d56d2cf5 ARTEMIS-1445 fix auto-delete for AMQP and OpenWire 2017-10-05 14:08:52 -05:00
Clebert Suconic 02b305b02a ARTEMIS-1352 Fixing test on Auto created address 2017-10-03 11:59:42 -04:00
Justin Bertram d1cd1e71a1 ARTEMIS-1352 auto-create MULTICAST queue when AMQP client sends to topic 2017-09-28 21:40:18 -04:00
Robbie Gemmell 1a077348e2 ARTEMIS-1434: update handling of tick deadline values
- account for potential to be negative due to using nanoTime derived values
- add some other edge case protections to avoid task ceasing in error
2017-09-22 16:33:21 +01:00
Timothy Bish 412b63a6b5 ARTEMIS-1407 Remove unused method that performs invalid operation
Remove the unused transaction remove method as the getTransaction method
provides the remove operation and the remove method was doing an invalud
remove of wrong type from the transactions collection.
2017-09-12 13:14:39 -05:00
gtully da1e0043ae ARTEMIS-1310 - ensure chosen sasl mechanism is from the advertised list 2017-09-12 12:56:36 -05:00
Michael Andre Pearce ee53b2bf53 ARTEMIS-1413: FIX JMSDeliveryMode/Priority on AMQP to CORE conversion
Added test case for cross protocol on JMSDeliveryMode proving issue, and asserting fix
Added fix to AmqpCoreConverter to ensure durability (JMSDeliveryMode) is retained.

Similar issue spotted with JMSPriority as with JMSDeliveyMode, fixing at the same time.
Added extra test case for jmspriority
Added fix for jmspriority
2017-09-11 23:18:50 +01:00
Martyn Taylor 152791c230 ARTEMIS-1402 AMQP notfound on unmatched FQQN
Return an AMQP not:found error to the client, if the supplied queue in
an FQQN belongs to an address other than what is provided in the FQQN.
2017-09-08 12:41:36 +01:00
Martyn Taylor 32ac370edc ARTEMIS-1392 Fix NPE when FQQN queue does not exist during multicast subscribe 2017-09-08 12:41:36 +01:00
Timothy Bish 5d1b7e0bea ARTEMIS-1377 Refactor the disposition handling code
Avoid null checking each disposition before then checking the type, also
account for not knowing the type.  Rearrange the handling code to
prioritize the most common case which is "Accepted"
2017-08-29 14:37:33 -04:00
Clebert Suconic 6fda75a9fc ARTEMIS-1297 Load balance or redistribution of AMQP Messages 2017-08-29 12:56:15 -05:00
Timothy Bish 968268ee5d ARTEMIS-1374 Improve performance and GC overhead of AMQP transfer tags
Use a more efficient means of creating AMQP transfer tags and pool
previously generated values for reuse on future sends.
2017-08-25 22:45:33 -04:00
Timothy Bish cb9482d9fa ARTEMIS-1359 Skip re-encode Headers on messages if not needed
Only reencode the Header on a Message when the redelivering the Message
to avoid overhead and unneeded modification to the original encoding of
the Header.
2017-08-22 22:02:41 -04:00
Martyn Taylor bb3965b7f7 ARTEMIS-1349 Add management views for client objects 2017-08-17 10:44:41 +01:00
Michael Andre Pearce 26752a7aaf ARTEMIS-1348 Support LVQ for AMQP
Add support for LVQ, using the same property key as core "_AMQ_LVQ_NAME"
Add test case for AMQP LVQ.
2017-08-12 23:43:37 +01:00
gtully db62ed92f7 [ARTEMIS-1310] require mechanism to be explicitly enabled 2017-08-08 13:28:50 -04: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 8f5f2bbe52 ARTEMIS-1300 Deadlock when Core direct deliverying and AMQP receive 2017-07-20 08:59:32 -04:00
Timothy Bish 22b8076b71 ARTEMIS-1283 Fix delay on drained response
On completion of drain the response is not flushed and the
client can wait a few seconds before another broker task
flushes the work.  Flush the connection after updating the
linked as being drained.  Also perform the work with the
connection lock held to prevent conccurent update of proton
state.
2017-07-12 19:20:01 -04:00
gtully 004753cc53 ARTEMIS-1264 - fix amqp regression by supplying the remoting connection to the security manager 2017-07-07 11:24:05 +01:00
Michael Andre Pearce 44b7e455cb ARTEMIS-1205: AMQP Shared Durable Subscriber incorrect behaviour
Use AcitveMQDestination for subscription naming, fixing and aligning queue naming in the process.

The change is behind a configuration toggle so to avoid causing any breaking changes for uses not expecting.
2017-06-19 12:44:13 +01:00
Michael Andre Pearce d9d9699732 ARTEMIS-1205: AMQP Shared Durable Subscriber incorrect behaviour.
Add test case, to prove the issue, and then obviously ensure it works, post fix.
Apply changes in logic of createQueueName to handle global better and fix the behaviour.
Create queues so names are same as behaviour with core client.
2017-06-05 22:40:54 +01:00
Clebert Suconic 830c3bf179 ARTEMIS-1169 Fixing protocol conversion
this will fix a few multiple protocol tests on ConsumerTests.
And a few other AMQP tests dealing with conversions.

You would get a classCastException without this commit.
2017-05-18 13:25:15 -04:00
Ulf Lilleengen 4f1308d2f0 ARTEMIS-1173: Don't set routing type if null 2017-05-18 09:31:07 -04:00
Andy Taylor 22f4736c88 ARTEMIS-1169 - Implement Interceptors for the AMQP protocol
Add Outgoing call

https://issues.apache.org/jira/browse/ARTEMIS-1169
2017-05-18 08:40:43 +01:00
Andy Taylor d17ef14c90 ARTEMIS-1169 - Implement Interceptors for the AMQP protocol
https://issues.apache.org/jira/browse/ARTEMIS-1169
2017-05-17 14:07:23 -05:00
Clebert Suconic dc26ac96b4 ARTEMIS-1156: moving our collections on its own package 2017-05-12 10:06:05 -04:00
Timothy Bish 970782d36a ARTEMIS-1134 Close connection if error caught during event processing
If an error escapes into the event processing layer we close the
connection with an error condition to avoid the client becoming stuck on
waiting for a response from the broker and the broker side being in an
unknown state.
2017-05-02 13:01:29 -04:00
Justin Bertram 849c4b7def ARTEMIS-547 authorize AMQP sender on attach 2017-04-28 14:30:03 -05:00
Timothy Bish 19a640db3a ARTEMIS-1132 return security errors instead of generic failed
When creating some AMQP resources (senders, receivers, etc) the broker
can return an error of 'failed' instead of the security error that is
expected in these cases.  In the case of a receiver being created and
a security error happening the broker fails to send back a response
causing the client to hang waiting for an attach response.
2017-04-28 13:08:10 -05: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