Commit Graph

500 Commits

Author SHA1 Message Date
gtully e793260573 [AMQ-6831, AMQ-6771] trigger eofexception on read -1 - AMQ6522Test 2017-10-11 00:20:44 +01:00
Timothy Bish a21dd40527 AMQ-6823 Ensure that MessagePull is works across HTTP transport
The MessagePull command needs to have the transients initialized such
that the pull operation works across transports that use XStream or
other marshaling that doesn't performs custom serialization.
2017-09-25 13:26:18 -04:00
Christopher L. Shannon (cshannon) 6e33507bf2 AMQ-6820 - Properly handle ClosedChannelException
When a ClosedChannelException occurs inside SelectorSelection properly
call the transport listener onError() method to handle cleanup and
logging.
2017-09-21 08:14:19 -04:00
Timothy Bish 61d3231d36 AMQ-6809 Fix issue where stream message getBytes returned wrong value
StreamMessage implementation should return zero when the full value of a
written byte array has been consumed before then returning -1 on the
next read.  Ands fix and additional testing of ActiveMQStreamMessage
2017-09-20 15:50:09 -04:00
Christopher L. Shannon (cshannon) 6b27708ae1 AMQ-6811 - moving ActiveMQMessageIsMarshalled test to src/test/java 2017-09-15 12:20:44 -04:00
Christopher L. Shannon (cshannon) f82993d9c2 AMQ-6811 - fix reduceMemoryFootprint when no message body
ReduceMemoryFootprint will now properly detect that a message is
marshalled even if there is no message body so the headers can be
cleared out after message send
2017-09-15 10:11:46 -04:00
gtully 3cd5529f50 [AMQ-6771] fix off by one on input stream read long check, with test 2017-07-18 12:28:12 +01:00
gtully 8c218ee05d [AMQ-6771] do linear sequential scan of journal when validating checksums - remove batch reads via seek/read which depend on write batch size 2017-07-17 12:18:25 +01:00
gtully 499347542c [no jira] make networkConsumerIds visible in toString of consumerinfo to aid tracing consumers in a network via transport trace logging 2017-07-07 16:01:49 +01:00
Christopher L. Shannon (cshannon) a9fe4e33c3 [maven-release-plugin] prepare for next development iteration 2017-06-27 13:41:28 -04:00
Christopher L. Shannon (cshannon) 5f0d6943cb [maven-release-plugin] prepare release activemq-5.15.0 2017-06-27 13:41:01 -04:00
gtully d2c0eddaad [AMQ-6691] allow dlq flag to be set via jmx to allow retry op after a restart - use destinations element for long term persistence 2017-05-31 12:39:48 +01:00
Timothy Bish 2e2d5ddd3d https://issues.apache.org/jira/browse/AMQ-6669
Respect the wireFormat.maxFrameSize option on WS and WSS transports
allowing binary content larger than 65535
2017-05-04 16:37:53 -04:00
gtully 2bd3379932 [AMQ-6068] make full cleanup of the rar managed connection conditional on a user specified client id being present 2017-05-04 11:08:32 +01:00
Hiram Chirino 172c29091e AMQ-6651: Add new implementations of the writeUTF8 and readUTF8 methods that are based on Apache Harmony code. This also avoid some code duplication that was occurring. 2017-04-10 10:49:17 -04:00
gtully 63b2e5c4ea [AMQ-6494] fix check order of close state for onException handler 2017-04-06 10:23:16 +01:00
gtully b64ac1dd77 [AMQ-6646] improve error reporting to include url 2017-04-04 17:30:29 +01:00
gtully 679db08db3 [AMQ-6643] ensure a wildcard virtual topic subscriber is restricted to the wildcard destination - avoid duplicate and spurious dispatch. fix and test 2017-04-04 10:16:48 +01:00
Timothy Bish 90b808ab98 AMQ-6603 Stop tracking producer if creation failed
Track the message producer create and ensure it is not recreated on
failover if the creation resulted in an error response.  Add failover
level tests to cover consumer and producer failed create tracking.
2017-02-28 16:17:32 -05:00
gtully 8641928553 [AMQ-6603] ensure failover does not track consumer creation that fails with an exception, fix and test. Thanks for the test Tadayoshi Sato 2017-02-28 17:17:18 +00:00
Christopher L. Shannon (cshannon) 0cf64783d2 AMQ-6602 - fix java 7 incompatibility 2017-02-24 06:36:57 -05:00
Christopher L. Shannon (cshannon) 1f53b124bc AMQ-6602 - Removing lambdas for java 7 compatibility 2017-02-23 10:56:57 -05:00
Christopher L. Shannon (cshannon) 79069598b1 AMQ-6606 - fix typo 2017-02-23 10:21:54 -05:00
Christopher L. Shannon (cshannon) fe5164a404 AMQ-6602: Fix race condition in TaskRunnerFactory
Fixing a race condition in TaskRunnerFactory where if multiple threads
call createTaskRunner() at the same time some threads might see the
executor as null (if it hasn't finished initializing) leading to the
creation of extra DedicatedTaskRunner objects instead of sharing a
PooledTaskRunner.
2017-02-23 10:20:13 -05:00
Christopher L. Shannon (cshannon) f6bf823ded AMQ-6599 - Properly apply soTimeout value to TcpTransport
https://issues.apache.org/jira/browse/AMQ-6599

The soTimeout value needs to be applied to the TcpTransport as well as
the socket because the NIO transports use the value later on when
establishing a connection
2017-02-17 08:03:50 -05:00
gtully 85181d630c [AMQ-6548] ensure any pending xa transaction is marked rollback only on delivery failure exception from on message, before delegating to potential clientInternalExceptionListener. Variant of patch applied with additional test - thanks to Andrey Dyachikhin for the patch inspiration 2017-01-17 16:51:27 +00:00
Christopher L. Shannon (cshannon) 2769298cf6 https://issues.apache.org/jira/browse/AMQ-6555
Fixing Scheduler so that a rescheduled task will first cancel the
existing task so it does not get orphaned from the task map.  Also
fixing Topic start so that it will only start once and not twice.
2017-01-10 10:25:15 -05:00
Christopher L. Shannon (cshannon) 27238b2dd7 https://issues.apache.org/jira/browse/AMQ-6535
Fixing the auto+nio+ssl transport so that the protocol detection task
will properly terminate on timeout and not continue to run. Also
lowered the default detection timeout to 15 seconds instead of 30
seconds to match the InactivityMonitor default.
2016-12-12 11:17:19 -05:00
gtully 6a0c65828a Revert "fix up createPublisher contract to throw on null topic param, match the java doc"
the java doc allows null for an anonymous publish - the check needs to go in TopicRequestor part of the jdk

This reverts commit 29ecfd6cdb.
2016-12-02 13:57:44 +00:00
gtully 29ecfd6cdb fix up createPublisher contract to throw on null topic param, match the java doc 2016-12-02 12:46:32 +00:00
gtully b6bca3976c [AMQ-6517] make pre dispatch redelivery policy check optional jms.redeliveryPolicy.preDispatchCheck=false 2016-11-24 17:02:37 +00:00
Christopher L. Shannon (cshannon) 016ae05d0e https://issues.apache.org/jira/browse/AMQ-6489
Adding a new ActiveMQXASslContextFactory and jndi support for it
in ActiveMQSslInitialContextFactory
2016-11-04 08:31:19 -04:00
Hadrian Zbarcea be24a133ef This closes #88 (merged as a65ac586). More file permissions fixes. 2016-11-03 14:26:34 -04:00
Hadrian Zbarcea d5a929c0d2 This closes #205. Won't fix. (fix even more file permissions) 2016-11-03 14:11:40 -04:00
Hadrian Zbarcea d54d046b8a This closes #185. Won't fix. (fix more file permissions) 2016-11-03 11:54:33 -04:00
Timothy Bish 629ee28568 https://issues.apache.org/jira/browse/AMQ-6495
State variables shared across threads in the transport need to be marked
volatile.
2016-11-02 12:57:39 -04:00
Timothy Bish d1f42bd01e https://issues.apache.org/jira/browse/AMQ-6474
ASYNC_TASKS executor not being shut down on stop with no other users in
service.
2016-11-02 12:41:49 -04:00
Michael L. Bloom 11541e8608 https://issues.apache.org/jira/browse/AMQ-6489
Add support for SSL configurations using JNDI.
2016-10-31 12:03:33 -04:00
Christopher L. Shannon (cshannon) 0a80165a99 https://issues.apache.org/jira/browse/AMQ-6477
simplifying isMarshalled method
2016-10-27 15:53:01 -04:00
Christopher L. Shannon (cshannon) 7c3bb40100 https://issues.apache.org/jira/browse/AMQ-6477
ReduceMemoryFootprint now applies to non-persistent messages if they
have been marshalled and topics now clear memory after the recovery
policy check
2016-10-25 10:19:03 -04:00
Dejan Bosanac 338a74dfa4 https://issues.apache.org/jira/browse/AMQ-6470 - Remove unused ControlCommand handling in client 2016-10-18 12:04:11 +02:00
gtully e91f5c8062 AMQ-6454 - ensure message.acknowledge throws if consumer has closed and message has been released broker side 2016-10-07 09:57:28 +01:00
Christopher L. Shannon (cshannon) 72650a0b8b https://issues.apache.org/jira/browse/AMQ-6449
Disabling doclint now only activates for JDK 8
2016-10-03 07:37:53 -04:00
Christopher L. Shannon (cshannon) 02082b1aec NO-JIRA: More Java 8 JavaDoc fixes - also fixed findbugs for Java 8 2016-09-30 14:36:44 -04:00
gtully 5385fd1bb3 https://issues.apache.org/jira/browse/AMQ-6446 - use shared logger and pepend statements with connection counter. Old behaviour or per connection logger can be obtained with trace=true&jmxPort=0 2016-09-30 14:05:42 +01:00
gtully 634b42016a https://issues.apache.org/jira/browse/AMQ-5486 - allow selector manager to reject tasks - org.apache.activemq.transport.nio.SelectorManager.rejectWork leaving the default to caller runs policy. This allows a broker to implement qos for existing connections by forcing others away 2016-09-28 12:15:50 +01:00
gtully 08695ab303 https://issues.apache.org/jira/browse/AMQ-6184 - add workQueueCapacity config property default to 0 where a value > 0 swaps out the dsynchQ for a capicity limited blocking queue. This allows the core pool to grow on demand as before but also allows work to be queued when necessary 2016-09-28 10:04:22 +01:00
Christopher L. Shannon (cshannon) 09456480b8 https://issues.apache.org/jira/browse/AMQ-6431
Fixing BitArrayBin to not overflow in certain cases with numbers larger
than Int max
2016-09-23 14:30:37 -04:00
Christopher L. Shannon (cshannon) 2b99ffcc22 https://issues.apache.org/jira/browse/AMQ-6433
Generating a new equals method in TypeConversionSupport so the proper
null checks exist
2016-09-23 08:02:22 -04:00
Christopher L. Shannon (cshannon) f25e7ab47f https://issues.apache.org/jira/browse/AMQ-6434
Rewriting logic in finally block of PooledTaskRunner to avoid using a
return statement
2016-09-23 07:51:11 -04:00
Dejan Bosanac 6630e81379 https://issues.apache.org/jira/browse/AMQ-6435 - destination mbean query api 2016-09-19 16:22:44 +02:00
Christopher L. Shannon (cshannon) 9ab94883a8 https://issues.apache.org/jira/browse/AMQ-6420
Properly copying wire format options map before applying to the
transport when using auto transports so that the options do not get
cleared and will be used for all future connections
2016-09-07 07:42:13 -04:00
Christopher L. Shannon (cshannon) 98c5866c75 https://issues.apache.org/jira/browse/AMQ-6418
Properly setting the transport properties on the
AutoNIOSSLTransportServer and fixing the Stomp protocol to set the peer
certs when using auto+ssl
2016-09-06 10:17:05 -04:00
Christopher L. Shannon (cshannon) ed0e786b60 https://issues.apache.org/jira/browse/AMQ-6414
Changing the nio+ssl transports to trigger a serviceRead after start up
to prevent blocking. The prevents the channels from not reading in
certain cases, most notably with the auto+nio+ssl transport when used
for a network bridge.  Also added a couple tests and changed a network
bridge test to test out auto+nio+ssl.
2016-09-01 11:39:46 -04:00
Christopher L. Shannon (cshannon) 06a21dbbb3 [maven-release-plugin] prepare for next development iteration 2016-08-02 09:03:37 -04:00
Christopher L. Shannon (cshannon) 71cbc65283 [maven-release-plugin] prepare release activemq-5.14.0 2016-08-02 09:02:54 -04:00
Christopher L. Shannon (cshannon) eb9c584fbd https://issues.apache.org/jira/browse/AMQ-6373
More tests and cleanup
2016-08-01 12:27:34 -04:00
Christopher L. Shannon (cshannon) e73ab34837 https://issues.apache.org/jira/browse/AMQ-6383
https://issues.apache.org/jira/browse/AMQ-6373

Adding a new flag that can be specified on a network bridge to allow
forcing of subscriptions to be durable.  Cleaned up some unit tests.
2016-08-01 10:02:56 -04:00
Christopher L. Shannon (cshannon) 7118247b65 https://issues.apache.org/jira/browse/AMQ-6379
Fixing unit test so that it uses a random port and changing the default
platform details to be "java" if there is an error
2016-07-28 13:10:44 -04:00
Michael L. Bloom 8d5e84bb67 AMQ-6379 - Add openwire properties for provider name, provider version,
and platform details
2016-07-28 12:25:13 -04:00
Christopher L. Shannon (cshannon) 3953b9aaef https://issues.apache.org/jira/browse/AMQ-6373
Adding a new OpenWire command called BrokerSubscriptionInfo in order to
help synchronize durable subs across a network bridge.  Added OpenWire
version 12.  For dynamicallyIncludedDestination durable subs will now be
synchronized on a bridge reconnect as long as the bridge supports
conduitSubscriptions and dynamicOnly=false
2016-07-25 11:56:13 -04:00
gtully a65f5e7c20 AMQ-6362 - merge duplicated code - fix regression in AMQ4889Test and ExceptionListenerTest 2016-07-25 14:27:40 +01:00
gtully 6cc2c1190d AMQ-6361 - fix contention over expiry processing with expiry task and client expiry ack, unit test regression sorted. 2016-07-22 15:18:31 +01:00
Timothy Bish f43c090809 https://issues.apache.org/jira/browse/AMQ-6362
Add option connectResponseTimeout to allow a stuck connection in
ensureConnectionInfoSent from stalling out a client.  Timeout is
disabled by default.
2016-07-18 11:30:38 -04:00
Timothy Bish a3a5a1affa https://issues.apache.org/jira/browse/AMQ-6336
Ensure that when expired messages are handled client side that pull
consumers get a chance to see it and send a new pull request complete an
outstanding timed pull.
2016-07-15 16:45:35 -04:00
Christian Schneider 24eb2bb2db [AMQ-6355] Provide bundles for client and jms-pool 2016-07-14 10:45:57 -04:00
Christopher L. Shannon (cshannon) c02bc64846 https://issues.apache.org/jira/browse/AMQ-5426
Fixing a race condition in ActiveMQMessageConsumer that could cause a
NPE when the consumer is closing by only modifing pendingAck inside of
the deliveredMessagesMutex

Thanks to Michael Wong for providing the test case for this issue.
2016-07-05 20:35:07 +00:00
Christopher L. Shannon (cshannon) 3856c3999a Revert "https://issues.apache.org/jira/browse/AMQ-5426"
This reverts commit 6bfa13b6e7.
2016-07-05 20:27:02 +00:00
Christopher L. Shannon (cshannon) 6bfa13b6e7 https://issues.apache.org/jira/browse/AMQ-5426
Fixing a race condition in ActiveMQMessageConsumer that could cause a
NPE when the consumer is closing

Thanks to Michael Wong for providing the test case for this issue.
2016-07-05 20:05:29 +00:00
Timothy Bish 31c55f7510 https://issues.apache.org/jira/browse/AMQ-6339
Add support for AMQP client to connect using WebSockets.
2016-06-30 14:52:40 -04:00
Timothy Bish 9e856290c4 Add some tests for ClassLoadingAwareObjectInputStream 2016-06-24 12:09:58 -04:00
Dejan Bosanac 3dfda807f6 https://issues.apache.org/jira/browse/AMQ-6336 - queue browser delivers expired messages 2016-06-23 17:47:15 +02:00
Timothy Bish 7b207567d9 https://issues.apache.org/jira/browse/AMQ-6325
Fix issue with selector parser.
2016-06-14 12:49:08 -04:00
gtully 5cc5022d2a https://issues.apache.org/jira/browse/AMQ-6297 - displayName can also be null - thanks tbish 2016-05-20 15:33:33 +01:00
gtully daf7e85e68 https://issues.apache.org/jira/browse/AMQ-6297 - null check for case where interface has no bindings 2016-05-20 14:54:04 +01:00
Timothy Bish cc849e7440 https://issues.apache.org/jira/browse/AMQ-6291
Simplify the selector close in doStop, the run method no longer tries to
close this after it has been registered and assigned.
2016-05-13 11:31:15 -04:00
Timothy Bish ff99872263 https://issues.apache.org/jira/browse/AMQ-6209
Better management of shared resources between the background run thread
and the main start / stop thread.  Makes sure to cleanup all resources
before finally throwing on stop to prevent leaking and resources.
2016-05-13 11:13:28 -04:00
Timothy Bish e996dbe7c2 https://issues.apache.org/jira/browse/AMQ-5954
Use a single destination transformation method instead of having to
different implementations.
2016-04-25 12:22:06 -04:00
Timothy Bish 3e7847aead https://issues.apache.org/jira/browse/AMQ-6126
Ensure the constructors pass along the default value as read from system
property if set.
2016-04-21 13:15:20 -04:00
Timothy Bish 3560d9123d AMQ-6248 fix logging statement to use the connected URI. 2016-04-18 09:53:59 -04:00
Timothy Bish 23a5beb86c https://issues.apache.org/jira/browse/AMQ-6248
Prevent conccurent calls to handleTransportFailure from closing an
already reconnected transport instance.
2016-04-18 09:45:45 -04:00
Timothy Bish c8af70f094 https://issues.apache.org/jira/browse/AMQ-5819
Only apply the initialReconnectDelay on the first reconnection attempt
after a connected transport has failed.
2016-04-15 12:49:49 -04:00
Christopher L. Shannon (cshannon) 9c929b6870 Revert "https://issues.apache.org/jira/browse/AMQ-6218"
Reverting commit in favor of a better approach

This reverts commit ea09159a40.
2016-04-15 11:48:18 +00:00
gtully 530c1a8193 https://issues.apache.org/jira/browse/AMQ-6240 - tidy up test and reduce duration. reuse closeTimeout on rollback during close which is the case here 2016-04-14 12:25:11 +01:00
Timothy Bish aaecdff8b4 https://issues.apache.org/jira/browse/AMQ-6245
Don't log the pull timed out messages that might still be in the
unconsumed list during rollback of unconsumed messages
2016-04-13 16:53:00 -04:00
Brian D. Johnson 7a61718e02 https://issues.apache.org/jira/browse/AMQ-6244 - reset ActiveMQBytesMessage 'compressed' flag after restoring compressed content 2016-04-13 14:19:06 +00:00
gtully 77d46dc139 https://issues.apache.org/jira/browse/AMQ-6240 use sendTimout on sync rollback on close such that a blocked connection won't block a close 2016-04-13 11:55:59 +01:00
Timothy Bish 08d7977402 https://issues.apache.org/jira/browse/AMQ-5462
Remove dead code from session create method.
2016-04-12 19:32:29 -04:00
Christopher L. Shannon (cshannon) e69c2cbad6 https://issues.apache.org/jira/browse/AMQ-6142
Moving the bytes copy to the parent Message class to solve this this
issue for all message types as that is the root cause
2016-04-11 12:31:57 +00:00
Christopher L. Shannon (cshannon) 837da7e582 Revert "https://issues.apache.org/jira/browse/AMQ-6221"
Reverting commit to keep sync out of the client messages

This reverts commit e0c5499964.
2016-04-11 12:17:15 +00:00
Timothy Bish b1c55fdc74 https://issues.apache.org/jira/browse/AMQ-6235
Honor the initialReconnectDelay configuration in all cases.
2016-04-08 12:28:19 -04:00
Timothy Bish 98165c4b69 https://issues.apache.org/jira/browse/AMQ-6228
Create a better error message that for the invalid frame size error.
2016-03-31 16:52:34 -04:00
Timothy Bish 9a866cf567 https://issues.apache.org/jira/browse/AMQ-5486
Default to caller runs policy on task rejection.
2016-03-28 13:55:09 -04:00
Christopher L. Shannon (cshannon) e0c5499964 https://issues.apache.org/jira/browse/AMQ-6221
Synchronizing ActiveMQText message on state changes for the content and
text fields so that they are always changed together.  This will prevent
race conditions where data can be lost when using concurrent store and
dispatch.
2016-03-22 15:51:31 +00:00
Christopher L. Shannon (cshannon) ea09159a40 https://issues.apache.org/jira/browse/AMQ-6218
Fixing copy method of ActiveMQTextMessage to prevent a race condition
when concurrent store and dispatch is used with Queues

We may need explicity synchronization between the text and content fields
in the future if other issues pop up
2016-03-21 19:38:18 +00:00
Timothy Bish e2b4ca2c59 https://issues.apache.org/jira/browse/AMQ-6108
Update the threads created by the SelectorManager to be daemon threads.
2016-03-15 14:03:12 -04:00
Timothy Bish 946e62d702 https://issues.apache.org/jira/browse/AMQ-6203
Rewrite older acks that can be preventing GC of log files.
2016-03-14 11:04:57 -04:00
gtully 078f39f589 https://issues.apache.org/jira/browse/AMQ-6199 - apply CursorMemoryHighWaterMark to topic subscriptions 2016-03-08 16:45:06 +00:00
Dejan Bosanac ca5912d9fa https://issues.apache.org/jira/browse/AMQ-6184 - improve nio transport scalability; get back core pool size 2016-02-25 13:43:21 +01:00
Dejan Bosanac 934a30a327 https://issues.apache.org/jira/browse/AMQ-6184 - improve nio transport scalability 2016-02-25 12:07:51 +01:00