Commit Graph

793 Commits

Author SHA1 Message Date
Justin Bertram d1cd1e71a1 ARTEMIS-1352 auto-create MULTICAST queue when AMQP client sends to topic 2017-09-28 21:40:18 -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
Jeff Mesnil 0010b0a090 [ARTMIS-1431] Adapt transport configuration in ClientProtocolManagerFactory
add the adaptTransportConfiguration() method to the
ClientProtocolManagerFactory so that transport configurations used by
the ClientProtocolManager have an opportunity to adapt their transport
configuration.

This allows the HornetQClientProtocolManagerFactory to adapt the
transport configuration received by remote HornetQ broker to replace the
HornetQ-based NettyConnectorFactory by the Artemis-based one.

JIRA: https://issues.apache.org/jira/browse/ARTEMIS-1431
2017-09-25 10:33:56 -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
Howard Gao f84d26ebb2 ARTEMIS-1424 Openwire not work with different tightEncoding options
If message senders and receivers uses different
wireformat.tightEncodingEnabled options, broker will get marshalling
problem. This is because when openwire messages are converted to
core messages, and later these core messages converted to openwire
messages, the broker uses a mashaller that comes with the connection
used to carry the messages.

For example, if a producer sents a message using option "wireformat
.tightEncodingEnabled=false" and a receiver tries to receive it
using 'true' for the same option, it'll never get it because the
broker will fail to use a "tight encoding" marshaller to
decode a 'loose encoded' message.

To fix the problem, we always use 'tight encoding' for internal
message converters.
2017-09-19 07:50:24 +08:00
Timothy Bish 342cc83ea4 ARTEMIS-1410 remove redundant code processing openwire destination
Remove some redundant code in the processing of the OpenWire Destination
name, both in the topic handler and in the method in general the
destination name only needs to be converted once and only one
SimpleString instance needs to be created from that which will then feed
all the places that either the String form or the SimpleString form of
the result is needed.
2017-09-13 18:27:39 -04:00
Howard Gao e4fb722ad8 ARTEMIS-1419 OpenWire advisory message never deleted
By default, every openwire connection will create a queue
under the multicast address ActiveMQ.Advisory.TempQueue.
If a openwire client is create temporary queues these queues
will fill up with messages for as long as the associated
openwire connection is alive. It appears these messages
do not get consumed from the queues.

The reason behind is that advisory messages don't require
acknowledgement so the messages stay at the queue.
2017-09-13 18:21:43 -04: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
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
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
Justin Bertram a965b6d2ee ARTEMIS-1358 refactor MQTTProtocolManager a bit 2017-08-22 22:08:24 -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
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 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
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 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
Jiri Danek dfb181a8b2 ARTEMIS-1317 Expire messages that got expiredAck() from OpenWire client
This fixes org.apache.activemq.JmsSendReceiveWithMessageExpirationTest
2017-08-03 11:41:58 -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
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
Martyn Taylor 905098bc4e ARTEMIS-1268 Fix LargeMessages over STOMP 2017-07-11 10:58:40 -04:00
Odyldzhon Toshbekov 34697d58e1 ARTEMIS-1272 fix mqtt acknowledgement issue 2017-07-10 22:37:58 -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
gtully d4150be0d9 ARTEMIS-1264 allow role mapping via chained login modules
Add krb5sslloginmodule that will populate userPrincipal that can be mapped to roles independently
Generalised callback handlers to take a connection and pull certs or peerprincipal based on
callback. This bubbled up into api change in securitystore and security manager
2017-07-06 23:41:02 -04:00
Jiri Danek 60fad35cfe ARTEMIS-1244 propagate retain flag of received message 2017-06-22 12:00:40 -04:00
Howard Gao e258bdf188 ARTEMIS-1242 OpenWire Transactions never removed
Openwire doesn't remove the finished transactions
(committed or rolledback).
2017-06-21 11:22:59 -04:00
Helge Waastad eaadc24729 ARTEMIS-1243 Release ReferenceCounted messages 2017-06-21 11:19:09 -04: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
Ingo Weiss 45321c65bd [ARTEMIS-1209] JMS OpenWire client cannot read notifications from activemq.notifications topic
Issue: https://issues.apache.org/jira/browse/ARTEMIS-1209
2017-06-07 16:26:33 -04:00
Timothy Bish a1fb897b43 ARTEMIS-821 Add support for scheduled message for STOMP
Adds headers AMQ_SCHEDULED_DELAY and AMQ_SCHEDULED_TIME to STOMP
protocol handling to allow for delayed and scheduled time of a
message.  The AMQ_SCHEDULED_DELAY brings forward the same option
from the 5.x broker and the AMQ_SCHEDULED_TIME option adds a fixed
time of delivery alternative to match that of AMQP and others.
2017-06-06 11:20:44 -04: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
Michael Andre Pearce c65ea783ea ARTEMIS-1189 - Fix checkstyle violations post checkstyle upgrade
After upgrade of checkstyle, resolve violations

remove checkstyle override added as temp measure at point of upgrade forced by sevntu
2017-05-30 13:40:00 -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 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
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
Clebert Suconic 2968e0a7da ARTEMIS-1102 Fixing Openwire test after security change 2017-05-03 10:06:45 -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
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
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
Justin Bertram 004eda42a2 ARTEMIS-1102 cert-based auth impl for OpenWire 2017-04-28 10:11:25 +01:00
Justin Bertram 82b6a9678d ARTEMIS-1113 STOMP + management-address fix 2017-04-28 10:10:13 +01: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
Timothy Bish 9eed28e0aa ARTEMIS-1127 Match remote Sender and Receiver settle modes
On link attach we currently default out SenderSettleMode to MIXED which
while legal doesn't truly reflect what the client asked for. We instead
now update the link to reflect the mode requested by the client

Also add some tests to ensure that we always return the
ReceiverSettleMode as FIRST since we don't support SECOND.
2017-04-21 15:00:09 -04:00
Clebert Suconic 1a39772489 ARTEMIS-1121 Improving expiry scanner
https://issues.apache.org/jira/browse/ARTEMIS-1121
2017-04-18 11:49:25 -04:00
Clebert Suconic 31d78eddf1 ARTEMIS-1118 IO callbacks on AMQP 2017-04-18 11:49:25 -04:00
Clebert Suconic 807e4e5d9c ARTEMIS-1119 flow controlling connection
https://issues.apache.org/jira/browse/ARTEMIS-1119
2017-04-18 11:34:09 -04:00
Clebert Suconic bfc07a7e01 ARTEMIS-1111 Fixing deadlock
There is a deadlock on flow controlling
the lock is using the wrong method and that is causing some issues under perf load.
2017-04-17 21:31:17 -04:00
Clebert Suconic f609884186 Revert "ARTEMIS-1093 Full qualified queue name support"
Testsuite won't complete with this commit.
Reerting it for further evaluation.

This reverts commit a9a3c47808.
2017-04-12 16:53:40 -04:00
Martyn Taylor 930df5b663 ARTEMIS-1111 Avoid deadlock on AMQP delivery during close 2017-04-12 12:35:17 -04:00
Howard Gao a9a3c47808 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-12 09:59:28 +01:00
Clebert Suconic cc22a0286b ARTEMIS-1101 Fixing JMSFilter on AMQP 2017-04-11 16:07:33 -04:00
Timothy Bish d2731fa0e1 ARTEMIS-1110 Cleanup Transaction Coordinator buffer handling
Resuse a single small buffer for all txn commands (declare / dischare) to
avoid creating lots of small arrays and ByteBuffer wrappers for txn operations.
2017-04-11 11:33:58 -04:00
Timothy Bish 3b45261f19 ARTEMIS-1101 Read the correct values for timestamp and user-id
Fix the getUserID and getTimestamp methods in AMQPMessage to read and
return the correct values.  Adds some tests to cover these cases and
cleans up some others.
2017-04-07 16:12:58 -04:00
Clebert Suconic 01362bbb1d ARTEMIS-1100 Store Header on AMQP message 2017-04-07 09:11:11 -05:00
Timothy Bish 45c59f05dc ARTEMIS-1097 Respect the message priority value in the AMQP message
Ensure that the header value for priority is read and returned in a form
that is scaled such that it won't cause an IndexOutOfBoundsException
from the QueueImpl priority array.  Adds some additional testing for
message priority support.
2017-04-06 16:18:53 -04:00
Justin Bertram 073a280629 ARTEMIS-1092 Validated user + AMQP fix
When populate-validated-user = true AMQP messages can cause exceptions.
This feature isn't particularly applicable to AMQP so this commit
eliminates the exception and leaves the AMQP messages untouched
even if populate-validated-user = true. In other words,
populate-validated-user + AMQP is not supported.
2017-04-04 14:46:22 -05:00
Andy Taylor 5529bf150a ARTEMIS-1090 - Message not expired if absolute expiry time is 0 and ttl is set
https://issues.apache.org/jira/browse/ARTEMIS-1090
2017-04-03 14:28:02 +01:00
Clebert Suconic d779afe874 NO-JIRA: Fixing test hunging on OpenWire 2017-03-30 21:56:46 -04:00
Timothy Bish 62cb9b22de ARTEMIS-1086 Proper conversion of SimpleString to String
When adding boolean value keyed by SimpleString the key needs to be
converted to a String type to be valid AMQP.
2017-03-30 21:19:43 -04:00
Clebert Suconic 86779195fa NO-JIRA: Removing duplciate code 2017-03-30 11:15:09 -04:00
Clebert Suconic 9bef242b74 ARTEMIS-1056 Adjusting Acceptor values
I have been doing tests with quiver at large message sizes
the tests would work really slowly without these fixes
2017-03-30 09:54:26 +01:00
Martyn Taylor 955af96fe9 ARTEMIS-1082 Catch Create Queue race in OpenWire 2017-03-29 13:49:01 +01:00
Clebert Suconic 1f4473e8d7 ARTEMIS-1081 Implementing AMQP UndeliverableHere 2017-03-28 20:32:28 -05:00
Clebert Suconic 746220e11e ARTEMIS-1080 Implementing AMQP::reject 2017-03-28 20:32:28 -05:00
Clebert Suconic 13a272b37b ARTEMIS-1056 fixing tests
When I added flow control, some tests that were using reflection started to fail.
Also as a precaution I'm using <= on the flow control low credit check
2017-03-28 20:32:28 -05:00
Clebert Suconic 7f91d29564 ARTEMIS-1056 Improving Proton usage 2017-03-28 14:48:25 -04:00
Clebert Suconic b395504e15 ARTEMIS-1077 Fixing Pool usage on InVM and RemotingConnection 2017-03-28 09:19:57 -05:00
Clebert Suconic dce59d5436 ARTEMIS-1056 Better event processing 2017-03-27 22:01:36 -05:00
Clebert Suconic dc25ff0e42 ARTEMIS-1073 Adding configuration for Producer's credits on AMQP 2017-03-27 16:27:24 -04:00
Justin Bertram c792b8e274 ARTEMIS-1068 JMS + AMQP routing 2017-03-27 15:14:43 -04:00
Clebert Suconic af0be518e1 ARTEMIS-1069 Artemis unsafe usage on Eventls polling 2017-03-27 11:41:20 -04:00
Timothy Bish 40b9ac0a20 ARTEMIS-1069 Fix some thread unsafe usages of proton
Unsafe modification of proton resources outside the connection lock
could lead to corruption in the transport work list and other internal
state data.
2017-03-24 17:46:00 -04:00
Justin Bertram 427039ef38 ARTEMIS-1068 routingType + AMQP fixes 2017-03-24 15:15:10 -05:00
Martyn Taylor e33b7af5ac ARTEMIS-1061 Ack MQTT PubRel management messages 2017-03-22 23:26:32 -04:00
Clebert Suconic 0bfb39bfb5 ARTEMIS-1056 Performance improvements on AMQP 2017-03-22 09:55:02 -05:00
Francesco Nigro ed3de61587 ARTEMIS-1055 Broker generates warning when a client tries to connect it 2017-03-22 11:39:11 +00:00
Clebert Suconic 64b4553284 ARTEMIS-1052 Fixing MessageJournalTest::testStoreAMQP 2017-03-20 21:50:57 -04:00
Clebert Suconic 65ac7f700b ARTEMIS-1052 Proper Expiry over AMQP 2017-03-20 18:33:31 -04:00
Timothy Bish 29796151c3 ARTEMIS-59 Accept transacted message using AMQP TransactionState
When a message is sent to the broker with a TransactionState indicating
that the message should be included in a transaction the disposition from
the broker indicating acceptance of the message should be done using a
TransactionState value that contained the TX ID and the Accepted
disposition.
2017-03-20 12:42:56 -04:00
Martyn Taylor 7cf06cd285 ARTEMIS-1050 Register AMQP failure/close listeners 2017-03-19 14:15:30 +00:00
Clebert Suconic 4b50d6c431 ARTEMIS-1048 Fixing Unsigned types and Selectors 2017-03-17 18:05:21 -04:00
Clebert Suconic 1ef4dcf7d9 ARTEMIS-1046 Fixing TX eventually stalling with AMQP
I have also reviewed the model in which we used transactions
2017-03-17 16:50:56 -04:00
Clebert Suconic 291a4719b6 ARTEMIS-1045 Performance improvements on AMQP 2017-03-17 16:11:14 -04:00
Andy Taylor c6f73b0c0a ARTEMIS-1042 - support amqp failover list
https://issues.apache.org/jira/browse/ARTEMIS-1042
2017-03-17 15:08:58 -04:00
Andy Taylor 8ab7588910 ARTEMIS-1023 - fixx Openwire auto creation of queues
https://issues.apache.org/jira/browse/ARTEMIS-1023
2017-03-17 12:28:10 +00:00
Clebert Suconic a4beb18a6e ARTEMIS-1044 Avoiding StackOverflow on AMQP under load 2017-03-16 18:11:57 -04:00
Clebert Suconic 31639782f0 ARTEMIS-1041 Adjusting when hearders are being parsed 2017-03-15 19:27:59 -04:00
Timothy Bish 938c4ec558 ARTEMIS-1041 Apply absolute expiration time to message
Use the Absolute Expiration Time from the message properties and
override any value set in TTL if anything set there.
2017-03-15 19:25:08 -04:00
Clebert Suconic ae34b01065 ARTEMIS-1038 Make usage of Delivery.available and upgrade proton 2017-03-15 14:37:41 -04:00
Timothy Bish 7282b6890a ARTEMIS-1039 Transaction Coordinator credit refill
The coordinator needs to refill credit on the receiver once it has been
exhausted, otherwise the remote cannot send additional declare or
discharge commands to the broker.
2017-03-14 17:13:05 -04:00
Andy Taylor b5b6e4bea6 ARTEMIS-1034 - non-durable subscription queue not ended on link close
https://issues.apache.org/jira/browse/ARTEMIS-1034
2017-03-13 10:33:13 -05: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 a41a1930ef ARTEMIS-1009 AMQP shouldn't use application properties
As part of my refactoring on AMQP, the broker shouldn't rely on Application properties
for any broker semantic changes on delivery.

I am removing any access to those now, so we can properly deal with this post 2.0.0.
2017-03-09 12:27:39 -05:00
Clebert Suconic c369084381 ARTEMIS-1009 Tight up on AMQP
avoiding application properties even further
fixing nolocal
2017-03-09 08:12:42 -06:00
Clebert Suconic ce77d12b87 ARTEMIS-1009 fixing ProtonTest::testFilterJMSMessageID 2017-03-07 09:29:04 -05:00
Martyn Taylor 456e2a65e2 ARTEMIS-1012 Fix AMQP Transaction Retirement 2017-03-06 11:55:29 -05:00
Martyn Taylor 543dd4c9e3 ARTEMIS-1013 Queue deliver after AMQP msg release 2017-03-06 11:55:29 -05: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
Howard Gao 216f31765f ARTEMIS-1000 Openwire exception response no correlation-id
When openwire sends back an exception response, it doesn't set
the correct correlation id. This causes the client to miss the
response and the exception won't get caught.

To fix it we need to add the correlation id before sending.
2017-02-26 22:25:10 -05:00
Justin Bertram 01465035c0 ARTEMIS-970 handle indeterminate JMS destination 2017-02-23 12:55:27 -05:00
Howard Gao 2fabd059d8 ARTEMIS-981 OpenWire can't receive empty ObjectMessage
When sending an empty ObjectMessage, broker doesn't
write a 'length' field to the message buffer. In delivery
the broker tries to read the length from the buffer, which
causes "IndexOutOfBoundsException".

To fix it, we need to check if the buffer is empty or not,
and only read it if the buffer is not empty.
2017-02-22 12:59:52 +08:00
Justin Bertram b7d7d134eb NO-JIRA fix possible STOMP NPE 2017-02-21 22:22:12 -05:00
Howard Gao b84a7f3e25 ARTEMIS-980 Openwire can't send message to temp destination
When a producer sends a messages to a temp destination created from
another connection, it fails. The reason behind it is that the
producer's connection didn't receive the advisory message (notification)
from broker about this temp destination, and it will throw an exception
if it doesn't know this temp destination.

The fix is send the advisory to the client so that it knows this destination.
2017-02-21 14:46:47 +08:00
Jiri Danek a7a0535afa NO-JIRA Fixing typos in log messages, test names and comments
Related to ARTEMIS-387 (fowardingAddress)
2017-02-20 20:54:45 -05:00
Clebert Suconic 29af4a982a NO-JIRA: removing dead code on AMQPSessionContext 2017-02-20 19:34:38 -05:00
Clebert Suconic b788acd834 ARTEMIS-982 Fixing possible deadlock on AMQP.close & delivery
https://issues.apache.org/jira/browse/ARTEMIS-982

This is fixing a possible deadlock on delivering messages while AMQP close is called for any reason.
2017-02-20 12:35:49 -06:00
Howard Gao e7a4d42a64 ARTEMIS-979 OpenWire "no-Local" consumer not working
When creating a 'no-local' openwire consumer, it doesn't work,
meaning it can still receive messages from the same connection.
The fix is similar to what Artemis client does, which is adding
a 'filter' to the consumer/subscription.
The difference is that with OpenWire we have to do it on the
broker side.
2017-02-20 08:17:43 -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
Ulf Lilleengen 5f6a390b60 ARTEMIS-908: Ensure that connection lock is held when flushing 2017-02-15 14:09:27 +01: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
Andy Taylor 318778954d ENTMQBR-522 - dont ack on separately settled deliveries
https://issues.jboss.org/browse/ENTMQBR-522
2017-02-10 09:50:51 -05: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
Howard Gao 1a3fdd0916 ARTEMIS-949 Prevent Openwire from closing consumer twice 2017-02-08 15:57:43 +08:00
Andy Taylor f268c101af ARTEMIS-944 - Broker can't convert AMQP python message to Openwire format
https://issues.apache.org/jira/browse/ARTEMIS-944
2017-02-07 14:02:20 +00:00
Timothy Bish b9bf5d54f2 ARTEMIS-794 Add tests for handling of various outcomes for deliveries
Adds tests for handling of Rejected, Released and Modified outcomes for
a delivery sent to a receiver.  Tests show that for the Modified outcome
the broker is redelivering the message to the same receiver when the
undeliverable here value is set which violates the AMQP 1.0 specified
handling of that field.  Also for Rejected outcome the broker should
be sending the rejected message to the DLQ as Rejected is supposed to
be a terminal outcome.

Small fix included to not adjust the delivery count if the Modified
outcome does not indicate that the delivery failed.
2017-02-07 13:45:11 +00:00
Martyn Taylor 3900cb0ec7 ARTEMIS-917 Only return body of retained message after reboot 2017-02-06 13:33:26 -06:00
Clebert Suconic f79b21e866 ARTEMIS-934 Stomp Heart beat not being stopped in some cases 2017-01-25 12:17:47 -05: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
Justin Bertram 8cf94623a4 ARTEMIS-922 Rename deleteOnNoConsumers throughout
The name "deleteOnNoConsumers" isn't a good match for the semantics underneath.
The name "purgeOnNoConsumers" (and variants) is a better fit.
2017-01-17 11:40:56 -06:00
Andy Taylor f52cb5c610 ARTEMIS-918 - use requested routing type when client defined with amqp and address doesnt exist
https://issues.apache.org/jira/browse/ARTEMIS-918
2017-01-12 12:07:16 +00:00
Howard Gao 4e309d842e ARTEMIS-562 Use 'to' field if sender target is null 2017-01-11 14:20:39 -05:00
Andy Taylor 355d33ea4f fix log trace message throwing exception 2017-01-09 14:58:25 -05:00
Ulf Lilleengen f2f3552067 ARTEMIS-908: Hold connection lock when issuing credits 2017-01-04 10:59:33 -06:00
Howard Gao eecbbb18db ARTEMIS-902 OpenWire Compression Issue 2016-12-23 21:29:28 +08:00
Timothy Bish 51c95babfe ARTEMIS-901 Account for the presence of authzid in sasl plan auth
If the SASL plain mechanism arrives with the authzid value set the
mechanism needs to account for its presence and use the correct fields
of the exchange to get the username and password values.  Adds some
tests to validate this fix.
2016-12-21 18:18:54 -05:00
Clebert Suconic 81df93ebcf ARTEMIS-883 improving exceptions sending 2016-12-21 12:04:06 -05:00
Howard Gao ae90edfdb6 ARTEMIS-883 Fix OpenWire ProducerFlowControlTest 2016-12-21 12:04:06 -05:00
Andy Taylor 63f723fe8d ARTEMIS-888 - default to false if header durable not set
https://issues.apache.org/jira/browse/ARTEMIS-888
2016-12-20 09:32:33 +00:00
Andy Taylor 198143edd0 ARTEMIS-892 - add lock to tick method
https://issues.apache.org/jira/browse/ARTEMIS-892
2016-12-16 12:11:54 +00:00
Clebert Suconic 0c18c343e9 NO-JIRA: fixing checkstyle 2016-12-15 17:00:10 -05:00
Martyn Taylor 55fbcfebf8 Do not autoDelete address if it was not autoCreated 2016-12-15 17:13:09 +00:00
Andy Taylor a9b32bdf0b adding missing check for closed on proton receiver 2016-12-15 13:40:47 +00:00
Andy Taylor 3b75c95413 ARTEMIS-888 - AMQP headers arent always set
https://issues.apache.org/jira/browse/ARTEMIS-888
2016-12-15 07:07:04 +00:00
jbertram 10a32481fd ARTEMIS-789 fix ArtemisTest 2016-12-14 19:46:53 -06:00
Andy Taylor 881615e646 ARTEMIS-891 - upgrade proton to 0.16
https://issues.apache.org/jira/browse/ARTEMIS-891
2016-12-14 18:25:26 +00:00
Clebert Suconic 08e0c5e4f1 Revert "ARTEMIS-888 - AMQP headers arent always set"
This reverts commit d471f6b15f.
2016-12-14 10:20:18 -05:00
Andy Taylor d471f6b15f ARTEMIS-888 - AMQP headers arent always set
https://issues.apache.org/jira/browse/ARTEMIS-888
2016-12-14 09:25:10 -05:00
jbertram 30b1335614 ARTEMIS-877 STOMP tests + routing header 2016-12-13 17:59:09 -06:00
jbertram 3150759806 ARTEMIS-880 use built-in prefixing for STOMP 2016-12-13 15:05:43 -06:00
Howard Gao d67ea071a3 ARTEMIS-885 Fix OpenWire wildcard conversion issue 2016-12-13 15:58:35 -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
jbertram fe52ca6d75 ARTEMIS-881 Support new address-settings for auto-create queue 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
Andy Taylor 224f62b295 ARTEMIS-877 Add Consumer support for AMQP for new addressing schema 2016-12-09 18:43:15 +00:00
Howard Gao a182a135e9 ARTEMIS-789 Add OpenWire Tests for MULTICAST,ANYCAST 2016-12-09 18:43:15 +00:00
jbertram 683ae68989 ARTEMIS-789 Fix Failing Tests 2016-12-09 18:43:15 +00:00
Howard Gao 2dc6482c91 ARTEMIS-789 Fix OpenWire tests due to missing RoutingType 2016-12-09 18:43:15 +00:00
Martyn Taylor 1339c930de ARTEMIS-780 Fixes a number of broken 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 0861be14c1 ARTEMIS-789 Fix various failing tests due to addressing changes 2016-12-09 18:43:15 +00:00
Howard Gao 796550d16b ARTEMIS-789 OpenWire queue auto-creation failure 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
jbertram 84e8a87325 ARTEMIS-876 Remove all reliances on JMS prefixing 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
Howard Gao c4339d809b Fix JMSDurableTopicRedeliverTest.testRedeliverNewSession test failure 2016-12-06 11:02:27 +08:00
Ville Skyttä a99617ae6b Treat STOMP 1.1+ undefined header escape sequences as errors
https://stomp.github.io/stomp-specification-1.2.html#Value_Encoding
2016-11-30 17:56:49 -05:00
Dmitrii Tikhomirov 3995319dca ARTEMIS-865 Remove e.printStackTrace() from code 2016-11-23 11:15:54 -05:00
Howard Gao 1487fe6bdd ARTEMIS-864 Sending to a destroyed temp queue didn't get exception 2016-11-22 19:42:38 +08:00
Andy Taylor 6628db4892 ARTEMIS-825 - Invalid selector not handled correctly in AMQP
this changes propogates the error to the client and closes the sender correctly

https://issues.apache.org/jira/browse/ARTEMIS-825
2016-11-21 11:24:51 -05:00
Andy Taylor 329c533d21 ARTEMIS-823 = broker doesn't settle rejected messages
Currently we don't settle rejected messages at the broker, we should always settle when rejected

https://issues.apache.org/jira/browse/ARTEMIS-823
2016-11-21 11:24:51 -05:00
Ryan Yeats fd12266449 ARTEMIS-860 add artemis-openwire protocol to osgi feature and fix bundle issues 2016-11-19 08:55:58 -07:00
Howard Gao 4691cbe882 ARTEMIS-842 JMSMessageID doesn't appear to work in selector 2016-11-08 09:52:12 +08:00
Ulf Lilleengen 00340c86e0 ARTEMIS-814: Support specifying connection properties 2016-11-07 15:12:14 +01: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 ab7adbbd7a ARTEMIS-814 Moving ProtonClientSenderContext towards the client package
I have done it this way to be consistent to what's being documented on the package-info.java for the client package
2016-11-02 14:24:51 -04:00
Ulf Lilleengen 52a462d155 ARTEMIS-814: Refactor client connection and allow adding custom event handlers 2016-11-02 14:24:44 -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
Timothy Bish b07d6a9e75 ARTEMIS-268 Adds tests that shows issue with presettled receivers
Tests added that show that a receiver attached to a queue as presettled
are not removing the messages that are dispatched to them.
2016-11-02 14:14:35 -04:00
Clebert Suconic e0021252ee ARTEMIS-829 Removing messages re-encoding
https://issues.apache.org/jira/browse/ARTEMIS-829
2016-10-28 16:54:58 -04:00
Andy Taylor 1a4a148ba9 ARTEMIS-817 and ARTEMIS-818 openwire fixes
https://issues.apache.org/jira/browse/ARTEMIS-817
https://issues.apache.org/jira/browse/ARTEMIS-818

issues around Openwire protocol, sending a null stream maessage via openwire causes a null pointer and if a topic is auto created with openwire then it cant be destroyed as it checks for the management queue.
2016-10-25 12:00:37 -04:00
Clebert Suconic 2d1bdcd5bd ARTEMIS-814: Moving classes around and adding docs 2016-10-24 09:42:22 -04:00
Ulf Lilleengen e65fd5d674 ARTEMIS-814: Add support for outgoing AMQP connections 2016-10-24 09:42:22 -04:00
Ulf Lilleengen 6e5b917cc5 ARTEMIS-814: Fix a bug where context could be null in case a connection was closed before the flow arrived 2016-10-24 09:42:22 -04:00
Timothy Bish 226f28abf5 ARTEMIS-799 Fix issues with the AMQP Durable Topic Subscription model
Fixes several issues found in the handling of durable topic
subscriptions (test cases added).
2016-10-14 03:54:35 +02: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 bed3f47c85 NO-JIRA: removing non used class 2016-10-10 15:31:46 +02:00
Ville Skyttä ddd1559fbe javadoc: Fix doclint empty <p> warnings 2016-10-10 10:02:49 +02:00
Ville Skyttä 9a439b4791 javadoc: Fix doclint reference errors 2016-10-10 10:02:49 +02:00
Ville Skyttä 693e745b9c Remove redundant type arguments
Missed by sevntu-checkstyle, but not the Eclipse compiler.

https://github.com/sevntu-checkstyle/sevntu.checkstyle/issues/458
2016-10-08 10:01:45 +03:00
Timothy Bish 398da40f7d ARTEMIS-776 Attach response should only list supported filters
The broker needs to return only the filters that are supported on a
receiver attach otherwise the remote is not aware that the broker is not
able to honor the requested configuration of the receiver.
2016-10-07 17:35:27 -04:00
Timothy Bish 62627bf2ee ARTEMIS-770 AMQP Message Transformer refactor
Refactor the AMQP Message transformers both for better performance and
also to fix a number of issues with the transformers creating inbound
and outbound messages with incorrectly mapped values or extra data
appended where it should not be.
2016-10-07 10:42:52 -04:00
Martyn Taylor 95c4fdd408 ARTEMIS-762 Reflect management changes in AMQP protocol 2016-10-07 10:38:01 -04:00
Ville Skyttä 082b75bb3d More use of try-with-resources 2016-09-30 13:17:26 -04:00
Clebert Suconic ec48f9ed00 ARTEMIS-765 Improve Checkstyle 2016-09-30 11:12:09 -04:00
Andy Taylor bd9b2057fa ARTEMIS-758 - List/Object message sent by OpenWire JMS client can't be consumed with other clients
https://issues.apache.org/jira/browse/ARTEMIS-758
2016-09-29 20:28:31 -04:00
Timothy Bish 67fc49014e ARTEMIS-763 Remove the legacy Qpid JMS client annotations
Removes the append of the destination annotations from the outbound JMS
transformer as the legacy client has be unsupported at Qpid for quite
some time now.
2016-09-29 15:37:47 -04:00
Clebert Suconic a838bf0479 ARTEMIS-751 Simplification of the AMQP implementation
Since we don't need client implementations any longer, given the maturity level of
qpid jms, these classes can go, as a result a lot of the interfaces can be removed.

As part of this I am removing proton-plug, and reorganizing the packages in a way I think it
makes more sense and easier to other developers to understand and maintain it.

https://issues.apache.org/jira/browse/ARTEMIS-751
2016-09-27 09:29:40 -04:00
Clebert Suconic 1548a4e217 NO-JIRA Removing Thread usage for Pings on Stomp 2016-09-26 18:32:25 -04:00
jbertram 2dcf8de0de ARTEMIS-741 fix subscription queue leak on STOMP 2016-09-26 18:01:30 -04:00
Ville Skyttä e98da5f288 Make bunch of private fields final 2016-09-23 09:06:08 -04:00
Clebert Suconic 113c0c9360 ARTEMIS-738 Improving TX support on AMQP
https://issues.apache.org/jira/browse/ARTEMIS-738
2016-09-21 18:14:38 -04:00
Martyn Taylor 74742dcb66 Add Unique ClientID on Server 2016-09-16 16:05:20 +01:00
Martyn Taylor dd32d6bb3e Add back autoCreate for bindingsQuery in AMQP protocol 2016-09-15 11:17:26 -04:00
Howard Gao 406d09d986 ARTEMIS-728 Broker doesn't support unique jms client-id (qpid-jms client) 2016-09-15 11:17:02 -04:00
Ville Skyttä 2c7c81ca9e STOMP frame encode: Use fixed buffers 2016-09-14 20:54:28 +03:00
Ville Skyttä 8e59cf4d5f STOMP frame encode: Avoid StringBuilder resizing 2016-09-14 20:54:23 +03:00
Ville Skyttä 7bff07d5b1 Add missing @Overrides 2016-09-14 13:22:20 +03:00
Martyn Taylor afd6bb7aa6 ARTEMIS-731 properly handle AMQP recreate durable subscription queue 2016-09-13 14:10:26 -04:00
Andy Taylor cdb0391c1c ARTEMIS-723 - AMQP subscriptions aren't deleted properly
https://issues.apache.org/jira/browse/ARTEMIS-723
2016-09-12 10:27:49 +01:00
Clebert Suconic 46d3f4abcc Version upgrades 2016-09-09 14:49:33 -04:00
Martyn Taylor 8c7599d5e4 ARTEMIS-725 Strip internal headers on AMQP Out 2016-09-09 09:49:38 -04:00
Martyn Taylor 553f2df745 ARTEMIS-724 Implement no-local consumer filter AMQP 2016-09-09 11:07:53 +01:00
Timothy Bish 42ff4a6048 ARTEMIS-722 Add DELAYED_DELIVERY capability to server connection open
The server should indicate to clients that it supports the message
annotation that allows message delivery to be delayed
'x-opt-delivery-time'
2016-09-08 19:01:40 -04:00
Andy Taylor 519bf674bc ARTEMIS-718 - AMQP type message bodies are being lost
https://issues.apache.org/jira/browse/ARTEMIS-718
2016-09-08 15:39:27 -04:00
Martyn Taylor db7dfba607 ARTEMIS-720 Add JMSX properties in AMQP<->JMS converter 2016-09-08 09:31:43 -04:00
Martyn Taylor b788ffac22 ARTEMIS-719 Send ampq:not-found properly on remote open 2016-09-08 09:27:36 -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
Martyn Taylor 930d814daf ARTEMIS-701 Set Accepted on AMQP discharge 2016-09-06 09:36:50 -04:00
Howard Gao 61747acfd1 ARTEMIS-706 No Keep Alives from Broker 2016-09-02 21:39:44 -04:00
Clebert Suconic 739ce8a53a ARTEMIS-711 fixing tests 2016-09-02 10:00:00 -04:00
jbertram 1cf96f4fcf ARTEMIS-711 Fix handling of 'bare' header 2016-09-01 15:23:48 -04:00
Clebert Suconic 03b938468a ARTEMIS-657 Fixing JORAM AMQP Tests 2016-08-31 14:26:10 -04:00
Howard Gao 8fccd5df42 ARTEMIS-696 Broker fails when client sends messages in multiple transfer frames 2016-08-30 17:24:31 -04:00
Gordon Sim 8f188ef236 ARTEMIS-657: ensure management response bodies are encoded into amqp 2016-08-30 17:12:19 -04:00
Ville Skyttä d5242978d5 for and while loop to foreach conversions 2016-08-25 14:22:32 -04:00
Ville Skyttä e1728f0797 Spelling fixes 2016-08-25 14:22:32 -04:00
Ville Skyttä 30c617da3c Unnecessary @SuppressWarnings fixes 2016-08-25 14:22:32 -04: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
Gordon Sim 7a012008b7 ARTEMIS-447: add name and version to properties in amqp open frame 2016-08-10 08:56:44 -04:00
Ville Skyttä 330c65ba35 Remove unnecessary @SuppressWarnings("unchecked") 2016-08-09 11:24:22 +01:00
Clebert Suconic 579d6226aa ARTEMIS-671 Returning messages after connection killed, and validating usage of reconnect 2016-08-09 11:23:46 +01:00
Howard Gao 2fb8341f8d ARTEMIS-604 - Add checks for object messages in REST and AMQP
- Rest interface fix
  - Doc fixes (Rest->REST)
  - JSON management and AMQP outbound
2016-08-09 11:22:48 +01:00
Martyn Taylor 0af13e0d03 ARTEMIS-669 Do binding query on sender link attach
QueueQuery was previously used instead of checking for bindings on a
particular address name.  This meant sending and receiving only worked
for those queues that happened to have the same queueName to address.
This patch replaces this with binding check.

There's also some minor ProtonTest fixes included.
2016-08-09 08:21:41 +01:00
Martyn Taylor 2f721866ab ARTEMIS-636 Add AMQP Hard Soft Limit for BLOCK 2016-08-05 15:29:01 +01:00
Martyn Taylor 06fb4a1234 ARTEMIS-667 Make AMQP Exceptions extend ActiveMQException 2016-08-05 15:29:01 +01:00
bayern39 a741642a48 [ARTEMIS-642] Disable slow client reconnecting with KILL slow client policy 2016-08-03 18:39:57 -04:00
Martyn Taylor ab39e70dc9 ARTEMIS-666 Fix AMQP error message on address not found 2016-08-03 13:28:34 +01:00
Gordon Sim bac991215d ARTEMIS-446: use name from broker.xml as container id in AMQP open frame 2016-08-03 12:03:25 +01:00
jbertram df193060e6 Fix ExtraStompTest 2016-08-02 21:01:14 -04:00
Ville Skyttä 1bc42be7ff Access static fields and methods directly 2016-07-29 15:38:08 -04:00
Ville Skyttä 9022a311f3 Fix removing ended transaction id in OpenWireConnection.CommandProcessor 2016-07-29 15:35:25 -04:00
Ville Skyttä 7ce2d7c199 Fix adding duplicate detection id in Openwire AMQSession.send 2016-07-29 15:35:25 -04:00
Ville Skyttä c890164fda Use try-with-resources some more 2016-07-29 15:32:57 -04:00
Ville Skyttä 616c038dae Fix connection list cleanup in OpenWireProtocolManager.removeConnection 2016-07-29 15:27:55 -04:00
Ville Skyttä 9963f96033 Fix NPE with null session in MQTTConnectionManager.disconnect() 2016-07-28 23:30:02 +03:00
Ville Skyttä 72bf5b7a0a ARTEMIS-611 Remove redundant null check 2016-07-28 15:25:45 -04:00
Andy Taylor 85ede22c3c ARTEMIS-655 - [AMQP] On transacted session.commit() of receiver client, messages are read, but queue is not cleared out
Making sure that when a transaction state of accepted is returned we actually ack the message

https://issues.apache.org/jira/browse/ARTEMIS-655
2016-07-26 14:30:11 -04: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 b549bb243c Add default AMQP flow behaviour and fix proton test 2016-07-26 11:14:25 +01:00
jbertram 778bd8361a ARTEMIS-650 clarify doc, use TTL default for 0 heartbeat 2016-07-25 16:27:30 +01:00
jbertram c4a7ddf9d6 ARTEMIS-548 Stomp durable sub unsubscrbe
Implement ability for Stomp clients to unsubscribe durable
subscriptions.
2016-07-25 16:23:06 +01: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
jbertram 7d8f9dcec6 ARTEMIS-611 send ERROR in case of TTL violation
I changed the message for TTL timeouts because the existing message was
a bit verbose and a bit speculative. Also, now that the broker supports
more protocols the bit about connection-ttl and
client-failure-check-period is less relevant.
2016-07-20 15:54:29 -05:00
jbertram 4232ed70d4 ARTEMIS-611 adjust ttlMin to fix Stomp tests 2016-07-20 15:54:29 -05:00
jbertram 707b51796a ARTEMIS-611 fix logging 2016-07-20 15:54:28 -05:00
jbertram b466cce593 ARTEMIS-234 fix content-length for Stomp 1.0 2016-07-20 13:40:57 +01:00
Martyn Taylor 4d60ced581 ARTEMIS-636 Implement AMQP AddressFull BLOCK 2016-07-20 10:33:44 +01:00
Martyn Taylor 5dfa1c59fb ARTEMIS-638 Only allocate credits once Link Attach 2016-07-20 10:33:44 +01:00
jbertram 89e0c461e5 ARTEMIS-611 refactor STOMP cxn TTL + heart-beat
Adds 3 new URI properties for STOMP acceptors to allow finer grained
configuration of heart-beat / connection-TTL behavior.
2016-07-18 17:10:05 -05:00
Timothy Bish 688eac50ea ARTEMIS-629 Preserve the correlation ID type during conversions
When converted to a core message type the original type of the
CorrelationId in the AMQP message is lost, we must encode the type to
prevent the loss of the original type as this value is meant to be
immutable.
2016-07-14 10:08:55 +01:00
jbertram 6881c1ddc3 ARTEMIS-578 cert authn/z for STOMP 2016-07-06 10:54:19 -05:00
jbertram 765b225924 ARTEMIS-584 add validated user to msg
Implements a new feature to aid in security auditing by adding the name
of the validated user to the messages it sends.
2016-07-06 09:37:29 -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ä 149216e8ec Remove unnecessary null checks and assignments 2016-07-05 14:18:01 -04:00
Timothy Bish 75f18d1e10 ARTEMIS-585 support send on dynamic sender link
The sender abstraction must be able to update its sender address in the
case of dynamic senders whose target address is not set until the code
initializes the link and creates a destination for it.
2016-06-21 09:33:33 -04:00
jbertram eb785b4194 ARTEMIS-409 clarify STOMP login failure response 2016-06-17 17:16:51 -05:00
Martyn Taylor 432e2ce178 ARTEMIS-570 Fix buffer size overflow ProtonHandler
There is a race condition in the ProtonHandlerImpl.outputBuffer()
method.  The method checks to see how many bytes (n) are pending in the
underlying ProtonJ buffer, then creates a Netty buffer of size n.  It
then writes the contents of the pending ProtonJ head.  However, ProtonJ
can still write to it's internal buffer, meaning that it's buffer.size >
n causing an illegalArgumentException.  This patch fixes it by only
writing 'n' bytes to the Netty buffer.
2016-06-17 15:04:32 -04:00
Howard Gao 109ce6ded9 ARTEMIS-571 Fix issues in openwire testsuite
* Redelivery count fix
* Regression in BrokerTest
2016-06-17 14:58:54 -04:00
Ville Skyttä 33a51223b0 Remove redundant type arguments 2016-06-14 20:50:21 -04:00
Ville Skyttä 3923ae45f4 Fix checkstyle redundant modifier violations 2016-06-13 20:03:54 +03:00
Clebert Suconic feaea9fb91 proton logging and tracing (first part) 2016-06-10 13:33:26 -05: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
jbertram e53649a6b9 ARTEMIS-322 auto-create/delete JMS topic
Implements a new feature for the broker whereby it may automatically create and
delete JMS topics which are not explicitly defined through the management API
or file-based configuration. A JMS topic is created in response to a sent
message or connected subscriber. The topic may subsequently be deleted when it
no longer has any subscribers. Auto-creation and auto-deletion can both be
turned on/off via address-setting.
2016-06-06 16:00:57 -04: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
Clebert Suconic 10dfe97ec0 Adding JORAM Tests for AMQP with a few fixes around the protocol manager for JMS 2016-05-25 09:41:40 -04:00
jbertram e8d0639d05 ARTEMIS-536 fix checkstyle 2016-05-24 15:37:53 -05:00
Martyn Taylor d4038ec59a ARTEMIS-536 Fix AMQP List/Sequence decoding 2016-05-24 12:07:07 -04:00
Andy Taylor 73f908b8b4 ARTEMIS-535 - Improve amqp protocol to support topics
https://issues.apache.org/jira/browse/ARTEMIS-535
2016-05-24 13:26:24 +01:00
jbertram 2c923cec97 ARTEMIS-523 re-order SASL mechs 2016-05-18 13:49:12 -04:00
jbertram b9b4107020 ARTEMIS-522 fix AMQP ANON advert 2016-05-17 12:34:10 -04:00
Ville Skyttä 81956e1716 Use StandardCharsets more 2016-05-16 12:09:46 -04:00
Martyn Taylor 54752a9ced ARTEMIS-46 Adds AMQP Drain Support 2016-05-11 12:04:58 +01:00
Erich Duda a622fa7443 ARTEMIS-518 - Improvement of default thread factory 2016-05-09 14:33:41 -04:00
Andy Taylor c161ab46a6 ARTEMIS-503 - replace proton-jms with proton-jms from ActiveMQ
Ive copied over the source itself

https://issues.apache.org/jira/browse/ARTEMIS-503
2016-05-03 10:40:56 -04: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
Howard Gao ada6600ee3 ARTEMIS-505 Fix OptimizedAckTest and testCloseConsumer
OptimizedAckTest: Using core api to replace old activemq
broker API to checking message count.
JmsQueueTransactionTest#testCloseConsumer: a bug in
delivery when prefetchSize is 0.
(InitalReconnectDelayTest)close connection after test.
2016-04-27 10:06:14 -04:00
Andy Taylor 1530ea3032 re-adding code accidently removed 2016-04-27 07:26:55 +01:00
Howard Gao fcda12f92c ARTEMIS-214 exception when sending 10k message 2016-04-26 10:04:24 -04:00
Andy Taylor 60df3dc05f ARTEMIS-503 - replace proton-jms with proton-jms from ActiveMQ
some extra fixes needed

https://issues.apache.org/jira/browse/ARTEMIS-503
2016-04-26 14:02:53 +01:00
Andy Taylor 9a17681f83 ARTEMIS-503 - replace proton-jms with proton-jms from ActiveMQ
https://issues.apache.org/jira/browse/ARTEMIS-503
2016-04-25 14:13:30 +01:00
Andy Taylor 76d937fab3 ARTEMIS-500 - possible index out of bounds after amqp sasl handshake
https://issues.apache.org/jira/browse/ARTEMIS-500
2016-04-25 14:13:30 +01:00
Clebert Suconic 172de47ce0 Created queue should be durable on openwire 2016-04-21 10:44:50 -04:00
Clebert Suconic 31055b6f0a Removing Marshalled property from Openwire 2016-04-20 23:00:57 -04:00
Howard Gao 3012447404 ARTEMIS-488 Fix OpenWire Test (Temp Queue removal and others)
Temp Queue not deleted when connection is closed.
Enable Stomp in openwire test because some test uses it.
Remove unused code in opwnwire
Wrong XA error code returned when xid is missing
(ActiveMQXAConnectionFactory.testRollbackXaErrorCode)
regression in ActiveMQSslConnectionFactoryTest (SSL related)
2016-04-20 12:33:01 -04:00
Andy Taylor f47bb6cc4b ARTEMIS-494 - implement filters correctly
took this code from ActiveMQ which was over hawled in this area

https://issues.apache.org/jira/browse/ARTEMIS-494
2016-04-20 12:14:04 +01:00
Andy Taylor 97f3fb241c ARTEMIS-493 - NullPointerException when trying a null connection remote properties are passed by client
adde a check and fixed a couple of other potential NPE's

https://issues.apache.org/jira/browse/ARTEMIS-493
2016-04-19 11:21:33 +01:00
Andy Taylor 8a72f8906a ARTEMIS-453 - AMQP reply-to property is stripped off message as it goes through broker
TheJMSVendor protocol convertor class was not creating the destinations so any destination calls, setTo and setJMSReplyTo, were ignored. Ive added a server side destination class to bypass the naming checks we have on the client and this now sets everything correctly

https://issues.apache.org/jira/browse/ARTEMIS-453
2016-04-12 10:24:13 +01:00
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