Some of the distribution configuration files were outdated, using the
old configuration format. This patch updates the config to allow the
server to parse and run accordingly.
Updates the out of the box configuration files as shipped with the
distribution. Changes the default connector to use port 61616 to aid
migration of ActiveMQ 5.x clients. Configures acceptors with port and
protocol as follows:
61616: Core protocol, OpenWire, STOMP, AMQP
5445: Core Protocol, STOMP (aimed at legacy HornetQ clients)
5672: AMQP
61613: Stomp
A bug was recently discovered on a legacy HornetQ branch. ActiveMQ 6
doesn't suffer from the same problem, but the test is still valuable.
The HornetQ issue is described on
https://bugzilla.redhat.com/show_bug.cgi?id=1193085.
Assigning the project.version to another variable within the pom and
using that new variable to determine module dependencies was causing
issues with the apache:release plugin. There is no need to reassign
this to this new variable so removing it altogether.
Introduction of DocLint in Java 8 results in strict error checking in
JavaDocs. What were previously on warnings on JavaDoc generation now
results in errors. This is causing issues when using the apache release
plugin. Disabling doclint error checking for the time being.
Remove the reference to the JBoss Maven repo, and make all the necessary
adjustments on the child-projects. It turns out we don't even need the
security dependencies in the tests.
Implements a new feature for the broker whereby it may automatically
create and delete queues which are not explicitly defined through
the management API or file-based configuration when a client sends a
message to or receives from a queue via the AMQP protocol. Note,
the destination has to be named like "jms.queue.*" to be auto-
created. The queue may subsequently be deleted when it no longer has
any messages and consumers. Auto-creation and auto-deletion can both
be turned on/off via address-setting.
https://issues.apache.org/jira/browse/ACTIVEMQ6-7
Connection Factory is now externalizable and is now serialized as a string that represents a URI. There are schemas for every possible type for connection factory and server locator.
The client JNDI representation of factories has also been changed to be consistent with this.
This test started to fail after performance improvements from ACTIVEMQ6-78
After some investigation it turned out that this test was racing with the client
crashing even before the queue was created or sending a non persistent message
asynchronously while the client crashed before the server received the message.
I've also decreased some of the times on pings so the test could run a bit faster
https://issues.apache.org/jira/browse/ACTIVEMQ6-78 performance work
There are two aspects of this work. First avoid asynchronous packets and avoid
context switch over the executors. Packet had a method to make certain packets such
as commit to use a different executor. Since it's NIO everything is done at the Netty thread now.
The second aspect was to make sure we use the proper buffering
https://issues.apache.org/jira/browse/ACTIVEMQ6-78
This commit is just adding tests I used to debug the blocked calls issue
There are some profiling parameters you can use that I added as a comment to the pom
The reason this is a separate commit is that it would be easier to validate the results of optimizations while
checking after and before any changes
To support HornetQ clients we must pass back HornetQ connector factory
names. Currently the connector factory name returned as part of node up
broadcast group (after initial client connection and client sends suscribe
topology packet) is what ever the server is configured to use in its
cluster discovery. Since the server has now been repackaged to
org.apache.activemq, the older HornetQ clients can not find the
connector factory class on it's class path. To get around this problem
the server now checks the version of the client and if the client is
HornetQ the server renames the to org.hornetq and returns before sending
to the client.
Implements a new feature for the broker whereby it may automatically
create and delete queues which are not explicitly defined through
the management API or file-based configuration when a client sends a
message to or consumes from a queue via the STOMP protocol. Note,
the destination has to be named like "jms.queue.*" to be auto-
created. The queue may subsequently be deleted when it no longer has
any messages and consumers. Auto-creation and auto-deletion can both
be turned on/off via address-setting.