Commit Graph

546 Commits

Author SHA1 Message Date
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 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
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) 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
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
Christopher L. Shannon (cshannon) 0f445a535f https://issues.apache.org/jira/browse/AMQ-6177
Fixing CronParserTest so that it checks 24 hour format properly when
using a timezone shifted by 30 minutes

Thanks to Jamie Goodyear for the patch
2016-02-22 12:50:07 +00:00
Christopher L. Shannon (cshannon) 90726a60af https://issues.apache.org/jira/browse/AMQ-6153
Only setting the socketBufferSize in TcpTransport if the value is
greater than 0 as other values are illegal.
2016-02-08 16:13:01 +00:00
Christopher L. Shannon (cshannon) 5f7a81f928 https://issues.apache.org/jira/browse/AMQ-6142
Fixing a race condition that exists in the decompress method of
ActiveMQBytesMessage that can cause an invalid length to be read.
2016-02-01 17:27:19 +00:00
gtully acbe31fcb5 https://issues.apache.org/jira/browse/AMQ-6137 - deal with 'special' escape chars in like selector expression 2016-01-22 15:30:16 +00:00
Dejan Bosanac a3fa0da6ec https://issues.apache.org/jira/browse/AMQ-6130 - java beans @Transient annotation 2016-01-18 09:38:09 +01:00
Timothy Bish 4ea435bf46 https://issues.apache.org/jira/browse/AMQ-5336
URI comparison needs to be done using the host / port comparison method
instead of string equality due to other features like nested options
which can alter the URIs and lead to continued attempts to reconnect to
the transport that's already connected when priority backup is used.
2016-01-15 18:07:56 -05:00
Timothy Bish 5adbafef3b https://issues.apache.org/jira/browse/AMQ-6108
Ensure that executor threads are created as daemon threads, fix a
try/finaly block, clean up some warnings.
2016-01-14 16:47:23 -05:00
Timothy Bish ebcc1b4eae https://issues.apache.org/jira/browse/AMQ-6126
Add more configuration options to TaskRunnerFactory
2016-01-14 10:41:56 -05:00
Timothy Bish 9287055338 https://issues.apache.org/jira/browse/AMQ-6125
Ensure that the redelivery policy is never null in the consumer.
2016-01-13 18:08:18 -05:00
gtully db1506a592 https://issues.apache.org/jira/browse/AMQ-6124 - fix and test - propagate broker info from prestarted backup transport 2016-01-12 14:00:13 +00:00
gtully 16bc0f0d75 https://issues.apache.org/jira/browse/AMQ-6089 - support TMNOFLAGS as a scan end to allow looping calls to recover to terminate 2016-01-06 12:54:20 +00:00
Christopher L. Shannon (cshannon) 8e2176d93c https://issues.apache.org/jira/browse/AMQ-6109
The chooseValue method in DestinationMap will now always return the
exact match, if there is one, else it will then sort as before.
2015-12-28 16:41:14 +00:00
Christopher L. Shannon (cshannon) b9dcb010f7 https://issues.apache.org/jira/browse/AMQ-6077
Making new values in ActiveMQObjectMessage transient which fixes HTTP
serialization
2015-12-15 19:37:05 +00:00
Dejan Bosanac eeec0c07b0 https://issues.apache.org/jira/browse/AMQ-6077 - define default values (based on system property) for connection factory and object message 2015-12-15 13:34:02 +01:00
Dejan Bosanac 94446e53dc https://issues.apache.org/jira/browse/AMQ-6077 - define object message trusted packages on connection factory 2015-12-14 13:50:42 +01:00
gtully c78eddce7e revert sync ack send for https://issues.apache.org/jira/browse/AMQ-3519 due to rework in https://issues.apache.org/jira/browse/AMQ-5068 - sync send no longer needed because redelivered flag is persisted before dispatch. This avoids a roundtrip overhead on individual ack, ie priority or nonBlockingRedelivery options in the mix 2015-12-11 17:05:49 +00:00
gtully 9c4ef26d5c with failover the reported exception may be wrapped by the failover listener 2015-12-09 12:30:29 +00:00
gtully 0a12bcb928 https://issues.apache.org/jira/browse/AMQ-2191 https://issues.apache.org/jira/browse/AMQ-3529 - rework fixes to remove uncertanty from dealing with intettuptedexception. Sync requests will trap interrupts that ocurr while waiting for responses and fail the connection with an interruptedioexception. Interrupts pending before requests will be suppressed, allowing possible clean shutdown. It is not safe to replay openwire ops b/c they are not idempotent, the only safe option is to have a teardown of the broker side state from a close 2015-11-27 12:21:56 +00:00
Timothy Bish 4a27b72377 https://issues.apache.org/jira/browse/AMQ-6042
Apply fix and test from Martin Lichtin to preserve the rollback cause in
all ack modes.
2015-11-20 16:18:27 -05:00
Romain Manni-Bucau 934f3cea7e release the connection even if broker communication fails 2015-11-19 07:48:56 -08:00
gtully 15412bae64 AMQ4221Test - remove system exit as it breaks surefire fork, https://issues.apache.org/jira/browse/AMQ-6004 interrupt causes errors on shutdown. Two are sorted but the check for errors in the logs may still cause intermittent failures 2015-11-18 16:08:29 +00:00
gtully d7a3b9406b https://issues.apache.org/jira/browse/AMQ-6029 - make certs available to tunnle servlet - HttpsNeedClientAuthSendAndReceiveTest regression, add javax.security so login exceptions can propogate over http - https://issues.apache.org/jira/browse/AMQ-6013 2015-11-18 16:08:29 +00:00
Christopher L. Shannon (cshannon) cc81680e10 https://issues.apache.org/jira/browse/AMQ-6027
Adding support for consumers on virtual destinations to create network
demand. This behavior is turned off by default but can be enabled.

For example, if a consumer comes online for a queue that is part of a
VirtualTopic, this will cause a network of brokers to forward messages
because a demand subscription will be created. Same for if a consumer
comes online for a forwarded destination from a composite
destination.

There is also an option to enable flow based on the existence of a
virtual destination if the virtual destination is forwarding to a
Queue.

Full configuration instructions for this feature will be on the wiki page.
2015-11-09 20:07:43 +00:00
gtully 8136e67b40 https://issues.apache.org/jira/browse/AMQ-6016 - ensure xstream inits transients to default values when it bypasses the default creation method through object deserialization. Can make it more general if there are ever more instances of this. It avoids the need to check for null and sync 2015-10-30 12:01:08 +00:00
gtully 9ddd162d25 https://issues.apache.org/jira/browse/AMQ-4361 - implement suggestion from Sam hendley with thanks, avoid the IllegalMonitorStateException 2015-10-22 15:49:44 +01:00
Dejan Bosanac 6f524bfea0 https://issues.apache.org/jira/browse/AMQ-6017 - respect ioBufferSize for nio transport 2015-10-22 11:41:17 +02:00
gtully 5d697cff3b https://issues.apache.org/jira/browse/AMQ-6016 - rework fix for https://issues.apache.org/jira/browse/AMQ-2106 - account group assignment on a per destination basis to prevent modification during consumer ordering 2015-10-21 14:02:56 +01:00
Dejan Bosanac e100638244 https://issues.apache.org/jira/browse/AMQ-6013 - init serializable packages statically 2015-10-20 12:30:57 +02:00
Dejan Bosanac a7e2a44fe8 https://issues.apache.org/jira/browse/AMQ-6013 - restrict classes which can be serialized inside the broker 2015-10-16 15:44:23 +02:00
Christopher L. Shannon (cshannon) 4adc8e4f4e https://issues.apache.org/jira/browse/AMQ-6004
Calling socketHandlerThread.interrupt() on TcpTransportServer stop to
make sure the broker shutsdown cleanly.

Patch applied with thanks to Erik Godding Boye
2015-10-08 12:11:16 +00:00
erik-wramner 9a78bc689f https://issues.apache.org/jira/browse/AMQ-5961
Prevent deadlock by moving calls to afterCommit
and afterRollback out of synchronized blocks.

https://issues.apache.org/jira/browse/AMQ-5961
Lock list but keep global hashmap out for deadlock protection.

https://issues.apache.org/jira/browse/AMQ-5961
Lock safely in isInXATransaction.

https://issues.apache.org/jira/browse/AMQ-5961
Don't synchronize on list as we have an exclusive reference.
2015-10-01 13:31:00 +00:00
gtully fc25535748 https://issues.apache.org/jira/browse/AMQ-5854 - fix intermittent test failure 2015-09-30 11:41:08 +01:00
gtully 8514e38135 https://issues.apache.org/jira/browse/AMQ-5951 - scenario wheere transaction command can block, additional test and further fix 2015-09-30 11:41:08 +01:00
gtully 8d982479e9 https://issues.apache.org/jira/browse/AMQ-5854 - fix and test. Ensure transaction rollback if there are pending acks during a failover reconnect. Reliably tracking pending acks to eusure possible redelivery is too complex in the context of acks getting dropped by failover or ignored by the subscription, in addition to being sent async. Couple that with multiple consumers on the same connection and the locking of message delivery; only safe course is to ensure rollback outcome. 2015-09-28 14:29:57 +01:00
Dejan Bosanac ee4672baaf https://issues.apache.org/jira/browse/AMQ-5972 - wildcard policy entries not applied in correct order 2015-09-17 11:08:21 +02:00
gtully ae9af4b8b2 https://issues.apache.org/jira/browse/AMQ-5951 - ensure failover oneway won't retry if reconnect will not happen 2015-08-31 15:55:44 +01:00
Christopher L. Shannon (cshannon) e14aca871c https://issues.apache.org/jira/browse/AMQ-5889
-Cleaned up missing license headers and refactored packages.
-Added configuration options for a protocol detection timeout and
for the max number of connections accepted at the same time.
-Fixed a regression with connection counts
-Also added some more tests
2015-08-13 14:41:29 +00:00
gtully e5a94bfee2 https://issues.apache.org/jira/browse/AMQ-5794 - duplex network case calls start twice and would start a connect check timer in error. Fix is to only start connectiontimeout if we have not already started the rest of the monitoring 2015-08-12 16:07:34 +01:00
Christopher L. Shannon (cshannon) 04ee70a161 https://issues.apache.org/jira/browse/AMQ-5889
Adding support for auto detection of wire protocols over a transport.
OpenWire, AMQP, STOMP, and MQTT can all be detected and the broker
will properly handle each one over a given Transport.  Currently
auto TCP, NIO, SSL, and NIO+SSL transports can handle auto-detection
of the wire format and client but support could be added in the
future for other transports like websockets.
2015-08-11 19:39:29 +00:00
Timothy Bish 41ee3ec8de https://issues.apache.org/jira/browse/AMQ-5921
Add back support for type void and test.
2015-08-07 11:00:44 -04:00
Timothy Bish d8c0ff1417 Fix javadoc warnings. 2015-08-05 19:01:08 -04:00
Timothy Bish 61b2f6b40e Fix some javadoc warnings and spelling errors in the docs. 2015-08-05 18:13:42 -04:00
Christopher L. Shannon (cshannon) 457dbd8b64 https://issues.apache.org/jira/browse/AMQ-5919
Converting printStackTrace statements to slf4j so that exceptions
are logged properly
2015-08-05 16:29:29 +00:00
Timothy Bish da36f78a6a https://issues.apache.org/jira/browse/AMQ-5596
Remove some additional references to old JMS Streams properties.
2015-08-03 17:11:44 -04:00
Timothy Bish 3348ade99b https://issues.apache.org/jira/browse/AMQ-5914
Ensure a new pull request is sent, adds test.
2015-08-03 14:41:56 -04:00
Christopher L. Shannon (cshannon) 310c2bb059 https://issues.apache.org/jira/browse/AMQ-5857
Fixing a potential race condition in the storeContent
method of ActiveMQTextMessage
2015-07-31 18:32:02 +00:00
Timothy Bish b84413a314 https://issues.apache.org/jira/browse/AMQ-5907
recompute the timeout value and send a new pull request if the message
received exceeds the configure redelivery maximum.
2015-07-30 17:17:55 -04:00
Christopher L. Shannon (cshannon) 84ec047d2f https://issues.apache.org/jira/browse/AMQ-5857
Changing ActiveMQTextMessage to clear out the text field on marshal to
a ByteSequence to prevent the data from being stored in memory twice.
2015-07-30 16:59:05 +00:00
Timothy Bish b9b27b968b https://issues.apache.org/jira/browse/AMQ-5893
Ensure that unacknowledged messages are removed from the Audit so they
are able to be redelivered to another consumer on this connection
2015-07-16 10:46:11 -04:00
gtully c85c7c1472 AMQ-5400 - rework to remove static lock - impacted parallel delivery and hense performance. Fix and additional tet 2015-07-16 12:38:52 +01:00
Dejan Bosanac ad8879d283 https://issues.apache.org/jira/browse/AMQ-5368 - improve nio ssl handshake performance - use soTimeout for handshake selector 2015-07-13 13:34:22 +02:00
Timothy Bish 18300c6514 https://issues.apache.org/jira/browse/AMQ-5621
Clean up, convert all to JUnit 4 style tests, replace system.out calls
with loggers.
2015-07-10 17:14:48 -04:00
Christopher L. Shannon (cshannon) f10aab6428 https://issues.apache.org/jira/browse/AMQ-5851
resolves #123

This commit resolves an issue where unmatched acknowledgement
messages could be received when running a MDB consumer and
sending messages with a short TTL.  The expiration logic when
receiveing an expired Message Ack will now only expire messages
in dispatch relating to the received ack, not all expired messages
in the dispatch list.
2015-07-09 16:46:21 +01:00
Dejan Bosanac 52e4527125 https://issues.apache.org/jira/browse/AMQ-5368 - improve nio ssl handshake performance 2015-07-09 12:53:58 +02:00
Timothy Bish 13044decce https://issues.apache.org/jira/browse/AMQ-5848
Use the latest openwire version marshallers in the KahaDB store when
starting from a clean install, drop back to the version used in the
existing store if one is found.
2015-07-08 17:29:32 -04:00
Christopher L. Shannon (cshannon) 785b16bf9e https://issues.apache.org/jira/browse/AMQ-5748
Added a getMessageSize method to MessageStore to support retrieving the
total message size of all stored messages for a destination.  Added a
new storeMessageSize statistic to DestinationStatistics.
2015-07-07 18:03:27 +00:00
Timothy Bish 7a68ad5d98 https://issues.apache.org/jira/browse/AMQ-4814
Remove of a durable subscription when the keepDurableSubActive flag is
true (default) did not actually stop and cleanup the still active cursor
due to the fact that the cursor checks the flag of its subscription to
see if it should stay active when its stop method is called.  The
subscription needs to disable that flag when the subscription is being
removed so that the cursor will correctly shutdown.
2015-07-06 18:21:20 -04:00
Timothy Bish c38a61d7ae https://issues.apache.org/jira/browse/AMQ-5340
Clean up a bit, extend test timeout to account for slow CI machines,
remove System prints and replace with LOG.
2015-07-06 16:47:58 -04:00
Christopher L. Shannon 174dcbff2a https://issues.apache.org/jira/browse/AMQ-5340
A QueueBrowser no longer checks expiry on messages to prevent a
browser from hanging in between the hasMoreElements check and actually
getting a message.  This means that if messages were in the queue when
the browser started it will receive messages even if they are now
expired. Even though the browser will get the expired message, the
broker will still expire it to prevent future access to it.

Thanks to Henno Vermeulen for providing a test case.
2015-07-06 16:13:52 -04:00
Timothy Bish 8e7556f397 https://issues.apache.org/jira/browse/AMQ-5600
Add patch with some tweaks submitted by Bernhard Trummer to clean up the
logging for XA TX.
2015-07-02 11:59:11 -04:00
Christopher L. Shannon (cshannon) 12b26b641b https://issues.apache.org/jira/browse/AMQ-5745
This commit is based off a patch submitted by admin@int3solutions.com.
It fixes several locations in the code where there are potential resource leaks.
2015-06-30 13:41:48 -04:00
gtully 002ade79b0 https://issues.apache.org/jira/browse/AMQ-5639 - the duplex case needed work. All advisories were being acked async in duplex mode, that code needed to be more selective to forward advisories that dont terminate at the bridge. Fix and test 2015-06-26 14:54:29 +01:00
Andy Taylor 26eb103b92 https://issues.apache.org/jira/browse/AMQ-5400
replace throwable with runtime exception
2015-06-22 16:41:05 +01:00
gtully b22184ebf6 fix intermittent failure with thread accounting test VmTransportNetworkBrokerTest, it did not lie. ci 2015-06-19 12:36:32 +01:00
Timothy Bish 833d30837b https://issues.apache.org/jira/browse/AMQ-5848
Introduce OpenWire v11 which adds noLocal to the SubscriptionInfo, if
configured KahaDB can store that version and the noLocal value is
recovered from the store.
2015-06-18 14:25:07 -04:00
gtully ffef4dc5fa https://issues.apache.org/jira/browse/AMQ-5844 - patch and test applied with thanks to Ganesh Murthy - ganeshmurthy 2015-06-16 15:54:11 +01:00
Andy Taylor 151e25117b https://issues.apache.org/jira/browse/AMQ-5400
improved the patch because of some test failures
2015-06-15 16:28:44 +01:00
Andy Taylor c9a3202bc3 https://issues.jboss.org/browse/ENTMQ-780
pauses the delivery of messages to the activemq session when a rollback is happening until the message has been redelivered.

patch applied with thanks to Tamas Cserveny
2015-06-08 15:51:44 +01:00
Timothy Bish 848adc4b5d https://issues.apache.org/jira/browse/AMQ-5822
Update the receive counter on reads to avoid dropping connections
wrongly.
2015-06-03 10:10:48 -04:00
Hadrian Zbarcea 9810e61b1b [AMQ-5789] Add support for keystore type (other than jks) 2015-06-02 22:01:35 -04:00
Timothy Bish df06bdabdc https://issues.apache.org/jira/browse/AMQ-5816
Apply patch from Ievgen Tarasov that ensures that the data locator is
initialized when a MessageId is deserialized.
2015-06-01 17:50:20 -04:00
Timothy Bish 8e183db030 https://issues.apache.org/jira/browse/AMQ-5794
Lower a couple LOG statements down to trace
2015-05-26 14:24:04 -04:00
Timothy Bish 3125caee5b https://issues.apache.org/jira/browse/AMQ-5794
implement transport.connectAttemptTimeout option across the transports
fro OpenWire, STOMP, AMQP and MQTT and add tests to cover.
2015-05-26 12:29:23 -04:00
gtully 2536c03125 fix sync on failover updated urls - intermittent failure on FailoverComplexClusterTest 2015-05-20 09:57:05 +01:00
gtully 3ef5389691 https://issues.apache.org/jira/browse/AMQ-4897 - rework with test that shows the blocking inactivity monitor task. Removed some redundant state 2015-05-12 22:10:57 +01:00
Christopher L. Shannon (cshannon) b679c8d4d2 Added an uncaught exception handler to ThreadPoolExecutor getExecutor()
method to log errors in threads.

This resolves https://issues.apache.org/jira/browse/AMQ-5750

This closes #93
2015-05-08 16:11:44 -04:00
Timothy Bish 9ef4259297 https://issues.apache.org/jira/browse/AMQ-5616
Use ConcurrentMap in declarations
2015-04-28 11:15:08 -04:00
gtully eb6c082631 https://issues.apache.org/jira/browse/AMQ-5735 - fix up semantics around lastDeliveredSequenceId 2015-04-22 16:32:17 +01:00
gtully b29eb384b8 https://issues.apache.org/jira/browse/AMQ-5710 - rework fix to resolve some unit test regressions, change now confined to rar usecase 2015-04-09 16:50:14 +01:00
Dejan Bosanac c705523cd0 https://issues.apache.org/jira/browse/AMQ-5710 - connection cleanup should not remove connection from the broker 2015-04-07 17:21:59 +02:00
Timothy Bish 25c99a6c36 https://issues.apache.org/jira/browse/AMQ-5707
Add support for aborting a slow AMQP consumer and some testing.
2015-04-07 10:32:49 -04:00
Christian Posta 61da1faa4c https://issues.apache.org/jira/browse/AMQ-5672 Added an option for allowing only a single selector for the virtual destination selector cache. also added some JMX views into the selector cache that can be used at runtime. includes unit tests 2015-04-06 16:12:20 -07:00
gtully 1d71cb7036 https://issues.apache.org/jira/browse/AMQ-5674 - revisit change - use single redelivey delay attribute for both initial and subsequent delays - resolves regression in BrokerRedeliveryTest 2015-04-03 14:19:15 +01:00
Timothy Bish 05ff52dc15 https://issues.apache.org/jira/browse/AMQ-5413
https://issues.apache.org/jira/browse/AMQ-5433
https://issues.apache.org/jira/browse/AMQ-5647
https://issues.apache.org/jira/browse/AMQ-5684

Adds support for AMQP drain and fixes some issues around incorrect
dispatching and credit handling.  Should resolve several issues that
have been seen using test suites from AmqpNetLite and other AMQP
clients.
2015-03-27 15:11:38 -04:00
Dejan Bosanac ebb3df7681 https://issues.apache.org/jira/browse/AMQ-5558 - support durable consumers and ack modes for consumers 2015-03-24 13:18:10 +01:00
Dejan Bosanac df3ff9c65e https://issues.apache.org/jira/browse/AMQ-5558 - some more options for producer/consumer tools 2015-03-23 14:46:35 +01:00
Dejan Bosanac 20832f1f1b https://issues.apache.org/jira/browse/AMQ-5674 - initialRedeliveryDelay not respected 2015-03-18 17:07:59 +01:00
Dejan Bosanac 3b39d2cc2a https://issues.apache.org/jira/browse/AMQ-5644 - authorization map for wildcard subscriptions 2015-03-10 11:24:27 +01:00
Matt Warhaftig 7738e862ae AMQ-5645 - Updated DayOfMonth cron to roll to next month properly. 2015-03-09 15:14:50 -04:00
Hiram Chirino 638c1e44b1 Fix for AMQ-5652: IdGenerator not optimal in port restricted environments.
We now support configuring via system props activemq.idgenerator.hostname and activemq.idgenerator.localport which are used as the base part of GUIDs.
2015-03-09 13:54:52 -04:00
Hiram Chirino e25a6aa8a1 Fix for AMQ-5652: IdGenerator not optimal in port restricted environments.
We now support configuring via system props activemq.idgenerator.hostname and activemq.idgenerator.localport which are used as the base part of GUIDs.
2015-03-09 13:50:04 -04:00
gtully 11afd5f0bc https://issues.apache.org/jira/browse/AMQ-5639 - implement and test - relaxing the restriction on advisories to those that are relevant to the bridge 2015-03-04 21:33:00 +00:00
Timothy Bish 4d5bb4ab7b https://issues.apache.org/jira/browse/AMQ-5629
Fix exception string to reflect type being read.
2015-03-03 16:51:21 -05:00
Timothy Bish 4b346360be https://issues.apache.org/jira/browse/AMQ-5628
Fix getDouble to use Double.valueOf instead of Float.valueOf for
conversions.
2015-03-03 16:28:28 -05:00
Timothy Bish 6e038d5ffd https://issues.apache.org/jira/browse/AMQ-5632
Return null from getBytes if no value present.
2015-03-03 16:17:40 -05:00
gtully be919fbc94 https://issues.apache.org/jira/browse/AMQ-4483 - rework to use destination option to indicate dlq, dlq strategy is typically not in place for dlq dests, option is set when a dlq is first used via region broker sendTodlq, fix and tests 2015-02-25 14:32:43 +00:00
Timothy Bish 8858dc294c https://issues.apache.org/jira/browse/AMQ-5596
Remove the deprecated JMS Streams code.
2015-02-18 15:47:40 -05:00
Dejan Bosanac 05c3112402 https://issues.apache.org/jira/browse/AMQ-5594 - virtual topics and wildcards 2015-02-18 18:29:20 +01:00
gtully 07338e7553 https://issues.apache.org/jira/browse/AMQ-5520 - fix org.apache.activemq.spring.SpringTest.testSenderWithSpringXmlEmbeddedPooledBrokerConfiguredViaXml regression 2015-02-11 15:51:55 +00:00
Dejan Bosanac 9f0ab46e29 https://issues.apache.org/jira/browse/AMQ-5558 - add producer/consumer commands 2015-02-05 13:58:31 +01:00
gtully 60c9d03e1d Fixed bug in cron test. #58 - patch applied with thanks 2015-01-26 21:20:10 +00:00
gtully de549f8926 https://issues.apache.org/jira/browse/AMQ-5535 - allow close state reporting w/o contention 2015-01-23 12:23:34 +00:00
Daniel Kulp f4eade2bb3 [AMQ-5520] Use a network interface that actually supports multicast and is up 2015-01-14 13:43:10 -05:00
gtully dbb1d8b83d https://issues.apache.org/jira/browse/AMQ-5513 - have lastDeliveredSequence -1 indicate nothing was received, respect this value in queue sub remove and durable sub deactivate. 0 still constitutes no info - so old clients see same behaviour as before 2015-01-09 13:30:59 +00:00
gtully 815e0ec5bf https://issues.apache.org/jira/browse/AMQ-5495 - apply suggested changes to allow keyStoreKeyPassword to be specified in ActiveMQSslConnectionFactory 2014-12-22 15:26:40 +00:00
gtully 2d9959a6f6 https://issues.apache.org/jira/browse/AMQ-5476 - ZeroPrefetchConsumerTest regression - fix default in connection factory and refactor prefetchExtension support - https://issues.apache.org/activemq/browse/AMQ-2560 2014-12-15 14:21:47 +00:00
gtully d25c52ccb2 https://issues.apache.org/jira/browse/AMQ-5483 - fix and test - assigned group counts are updated when lru map evicts a group assignment 2014-12-11 14:42:00 +00:00
Timothy Bish 1409acb36e https://issues.apache.org/jira/browse/AMQ-5480
Give the user more rope.
2014-12-10 16:52:13 -05:00
gtully bbb2acca2f https://issues.apache.org/jira/browse/AMQ-5476 - fix and test - https://issues.apache.org/jira/browse/AMQ-2790 - default messagePrioritySupported=false 2014-12-05 14:49:48 +00:00
gtully 60ad053486 https://issues.apache.org/jira/browse/AMQ-2719 - resolve possible skipped dispatch - https://issues.apache.org/jira/browse/AMQ-2106 - remove overload so that distribution order is not compromised when consumers are removed with a valid last delivered sequence. Additional test that uses consumer recreation to redistribute groups 2014-12-05 13:59:04 +00:00
gtully a58b00872c https://issues.apache.org/jira/browse/AMQ-5472 - deterministiclally propagate root cause exception to listeners on force close due to security excepition on connect, fix and test 2014-12-03 12:16:59 +00:00
Timothy Bish 0514fcf882 https://issues.apache.org/jira/browse/AMQ-5442
Add check to avoid any NPE from stop without start called.
2014-11-25 15:30:13 -05:00
gtully 8533a9242b https://issues.apache.org/jira/browse/AMQ-5450 - ensure default any destination is not chosen in favour of wildcard matches for mKahadb 2014-11-24 17:43:41 +00:00
Dejan Bosanac dffccb1c7d https://issues.apache.org/jira/browse/AMQ-5417 - use proper classloader in TaskRunnerFactory 2014-10-29 11:30:15 +01:00
Timothy Bish 1948fe41a3 https://issues.apache.org/jira/browse/AMQ-5407
Allow config of enabled protocols for nio+ssl and stomp+nio+ssl etc to
match the capability of the non-nio transports.
2014-10-23 15:03:35 -04:00
Timothy Bish 642cc43216 https://issues.apache.org/jira/browse/AMQ-5406
Add support for disable of consumer expiration checks.
2014-10-22 14:42:45 -04:00
Timothy Bish 6c4f15e220 https://issues.apache.org/jira/browse/AMQ-5381
Apply fix and test for error when restoring old content and treating it
as compressed when it was not.
2014-10-21 17:14:47 -04:00
gtully 57fc29b6ce remove npe when no jars on classpath, in ide 2014-10-07 14:50:41 +01:00
gtully 54e2e3bef2 rework cursor store sync w.r.t to index order. resolve issues with skipped dispatch and duplicate dispatch. https://issues.apache.org/jira/browse/AMQ-4485 https://issues.apache.org/jira/browse/AMQ-5266 2014-08-30 00:51:21 +01:00
Dejan Bosanac b9696ac80b https://issues.apache.org/jira/browse/AMQ-5333 - make xpath parser features configurable 2014-08-26 14:47:06 +02:00