-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
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.
Updating MemoryTopicMessageStore to decrement store statistics on cache
eviction. Updating KahaDBMessageStoreSizeStatTest to account for the
fact that a LRU cache is used so the last 100 messages are kept in
memroy.
Switching to a List to track dispatched messages in a TopicSubscription
to be consistent with a PrefetchSubscription and to prevent an error
in case acks come back out of order.
Apply patch from Ganesh Murthy to resolve issue of creation of durable
subscriber fails via broker AdminView due to lack of SecurityContext on
ConnectionContext
Reworking DurableConduitBridge to look up subscriptions from the
TopicRegion instead of the RegionBroker since inactive subscriptions
need to be looked at as well when dynamicOnly is false for a
network bridge.
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.
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.
This commit adds an Inflight message size statistic to SubscriptionStatistics
so we can know the size of all the messages that are inflight, besides just the count.
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.
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.
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.
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.
fix for incorrect logic in reconnect attempt limits and also fix a case
where an NPE could occur (saw in the tests). Based on patch provided
by Benoit Wiart
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.
Adding a new property on PolicyEntry called includeBodyForAdvisory which will
include the original message body when sending advisory messages that include
the original message, instead of clearing it out. This is turned off by
default.
Adding a property called schedulePeriodForDiskUsageCheck which can be set
to a time period to periodically check disk usage limits and adjust if
the amount of disk space has been reduced.
Don't dip into the store to recover durable topic subscriptions or queue
subscriptions depending on the subscription strategy in use. The needed
information is always kept in either TopicRegion or QueueRegion even
after restart as all stored destinations are reloaded as the broker is
started.
Move option ignoreNetworkConsumers up to base AbortSlowConsumerStrategy
so it can be used for both the original version and the slow ack aware
version.
Previous to this patch the AnnotatedMBean class would simply dump
any arguments passed in via JMX call to the log (when audit is enabled).
Method parameters can sometimes contain sensitive information such as
the password field on QueueView.sendTextMessage.
This patch adds a @Sensitive annotation to the JMX module allowing
implementations of MBean interfaces to mark method parameters as sensitive
preventing values from being logged.
This closes#86
commit 72837960cf
Author: Christopher L. Shannon (cshannon)
<christopher.l.shannon@gmail.com>
Updated durable related error messages in TopicRegion to include both
subscriptionName and clientId.
Ensures that max producers on a connection includes anonymous producers
in its count, based on patch from: Christopher L. Shannon (cshannon)
<christopher.l.shannon@gmail.com>
Merged the test into the existing ConfigTest that validates the max
producers functionality.
Add the ability to toggle the default value of the ManagementContext
createConnector variable and set it to false for the surefire runs of
the unit tests, this should resolve failures of tests for no other
reason than a previous test failed to shutdown its broker. Also speeds
up tests as they don't need to create this resource in order to use the
MBeans.
Clean up the durable subscription unsubscribe handling to be in line
with the AMQP JMS mapping spec and switch to the QPid 0.32-SNAPSHOT
build for now to allow us to track and other changes we might want to
feed back there before release.