Merging #45 on doc changes (review fixes from Andy)

This commit is contained in:
Clebert Suconic 2014-12-16 12:19:29 -05:00
commit f282c29661
12 changed files with 15 additions and 1230 deletions

View File

@ -30,7 +30,6 @@
* [Extra Acknowledge Modes](pre-acknowledge.md)
* [Management](management.md)
* [Security](security.md)
* [Application Server Integration and Java EE](appserver-integration.md)
* [The JMS Bridge](jms-bridge.md)
* [Client Reconnection and Session Reattachment](client-reconnection.md)
* [Diverting and Splitting Message Flows](diverts.md)

File diff suppressed because it is too large Load Diff

View File

@ -135,9 +135,8 @@ agnostic. If you don't want to deploy any JMS Queue or Topic via
server side XML configuration and don't require a JMS management
API on the server side then you can disable this service.
The stand-alone server configuration uses JBoss Microcontainer to
instantiate and enforce dependencies between the components. JBoss
Microcontainer is a very lightweight POJO bootstrapper.
The stand-alone server configuration uses [Airline](https://github.com/airlift/airline)
for bootstrapping the Broker.
The stand-alone server architecture is shown in figure 3.3 below:

View File

@ -965,9 +965,7 @@ topologies, let's consider the two most common ones here
### Symmetric cluster
A symmetric cluster is probably the most common cluster topology, and
you'll be familiar with if you've had experience of JBoss Application
Server clustering.
A symmetric cluster is probably the most common cluster topology.
With a symmetric cluster every node in the cluster is connected to every
other node in the cluster. In other words every node in the cluster is

View File

@ -30,7 +30,7 @@ Each acceptor defines a way in which connections can be made to the
ActiveMQ server.
In the above example we're defining an acceptor that uses
[Netty](http://jboss.org/netty) to listen for connections at port
[Netty](http://netty.io/) to listen for connections at port
`5446`.
The `acceptor` element contains a sub-element `factory-class`, this
@ -160,7 +160,7 @@ etc
## Configuring the Netty transport
Out of the box, ActiveMQ currently uses
[Netty](http://www.jboss.org/netty/), a high performance low level
[Netty](http://netty.io/), a high performance low level
network library.
Our Netty transport can be configured in several different ways; to use

View File

@ -2,8 +2,7 @@
ActiveMQ is designed as set of simple Plain Old Java Objects (POJOs).
This means ActiveMQ can be instantiated and run in any dependency
injection framework such as JBoss Microcontainer, Spring or Google
Guice. It also means that if you have an application that could use
injection framework such as Spring or Google Guice. It also means that if you have an application that could use
messaging functionality internally, then it can *directly instantiate*
ActiveMQ clients and servers in its own application code to perform that
functionality. We call this *embedding* ActiveMQ.
@ -189,45 +188,7 @@ embedded with JMS.
## Dependency Frameworks
You may also choose to use a dependency injection framework such as
JBoss Micro Container or Spring Framework. See ? for more details on
Spring and ActiveMQ, but here's how you would do things with the JBoss
Micro Container.
The Spring Framework. See [Spring Integration](spring-integration.md) for more details on
Spring and ActiveMQ.
ActiveMQ standalone uses JBoss Micro Container as the injection
framework. `ActiveMQBootstrapServer` and `activemq-beans.xml` which are
part of the ActiveMQ distribution provide a very complete implementation
of what's needed to bootstrap the server using JBoss Micro Container.
When using JBoss Micro Container, you need to provide an XML file
declaring the `ActiveMQServer` and `Configuration` object, you can also
inject a security manager and a MBean server if you want, but those are
optional.
A very basic XML Bean declaration for the JBoss Micro Container would
be:
<?xml version="1.0" encoding="UTF-8"?>
<deployment xmlns="urn:jboss:bean-deployer:2.0">
<!-- The core configuration -->
<bean name="Configuration"
class="org.apache.activemq.core.config.impl.FileConfiguration">
</bean>
<!-- The core server -->
<bean name="ActiveMQServer"
class="org.apache.activemq.core.server.impl.ActiveMQServerImpl">
<constructor>
<parameter>
<inject bean="Configuration"/>
</parameter>
</constructor>
</bean>
</deployment>
`ActiveMQBootstrapServer` provides an easy encapsulation of JBoss Micro
Container.
``` java
ActiveMQBootstrapServer bootStrap = new ActiveMQBootstrapServer(new String[] {"activemq-beans.xml"});
bootStrap.run();
```
ActiveMQ standalone uses [Airline](https://github.com/airlift/airline) to bootstrap.

View File

@ -761,66 +761,3 @@ Embedded
The `embedded` example shows how to embed the ActiveMQ server within
your own code.
Java EE Examples
================
Most of the Java EE examples can be run the following way. Simply
navigate into the appropriate example directory and type `mvn verify`.
This will use Arquillian to run the Application Server and deploy the
application. Note that you must have WildFly installed and the
JBOSS\_HOME environment variable set. Please refer to the examples
documentation for further instructions.
> **Note**
>
> When running the Java EE examples you may see warning messages in the
> WildFly log about incompatible client and server versions. This is
> normal if a newer version of the ActiveMQ project is being used with a
> version of WildFly that ships an older version of ActiveMQ. These
> examples should still complete without any functional errors.
EJB/JMS Transaction
-------------------
An example that shows using an EJB and JMS together within a
transaction.
Resource Adapter Configuration
------------------------------
This example demonstrates how to configure several properties on the
ActiveMQ JCA resource adaptor.
Resource Adapter Remote Server Configuration
--------------------------------------------
This example demonstrates how to configure the ActiveMQ resource adapter
to talk to a remote ActiveMQ server
JMS Bridge
----------
An example demonstrating the use of the ActiveMQ JMS bridge.
MDB (Message Driven Bean)
-------------------------
A simple set of examples of message driven beans, including failover
examples.
Servlet Transport
-----------------
An example of how to use the ActiveMQ servlet transport.
Servlet SSL Transport
---------------------
An example of how to use the ActiveMQ servlet transport over SSL.
XA Recovery
-----------
An example of how XA recovery works within the JBoss Application server
using ActiveMQ.

View File

@ -866,10 +866,7 @@ need to set an `ExceptionListener` class on the JMS connection. The
`ExceptionListener` will be called by ActiveMQ in the event that
connection failure is detected. In your `ExceptionListener`, you would
close your old JMS connections, potentially look up new connection
factory instances from JNDI and creating new connections. In this case
you may well be using
[HA-JNDI](http://www.jboss.org/community/wiki/JBossHAJNDIImpl) to ensure
that the new connection factory is looked up from a different server.
factory instances from JNDI and creating new connections.
For a working example of application-level failover, please see ?.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

View File

@ -82,9 +82,3 @@ The following is a typical `logging.properties for a client`
formatter.PATTERN=org.jboss.logmanager.formatters.PatternFormatter
formatter.PATTERN.properties=pattern
formatter.PATTERN.pattern=%d{HH:mm:ss,SSS} %-5p [%c] %s%E%n
## Logging With The JBoss Application Server
When ActiveMQ is deployed within the JBoss Application Server version
7.x or above then it will still use JBoss Logging, refer to the AS7
documentation on how to configure AS7 logging.

View File

@ -536,23 +536,8 @@ domain can be configured for each individual ActiveMQ server by setting
#### MBeanServer configuration
When ActiveMQ is run in standalone, it uses the Java Virtual Machine's
`Platform MBeanServer` to register its MBeans. This is configured in
JBoss Microcontainer Beans file (see ?):
<!-- MBeanServer -->
<bean name="MBeanServer" class="javax.management.MBeanServer">
<constructor factoryClass="java.lang.management.ManagementFactory"
factoryMethod="getPlatformMBeanServer" />
</bean>
When it is integrated in JBoss AS 5+, it uses the Application Server's
own MBean Server so that it can be managed using AS 5's jmx-console:
<!-- MBeanServer -->
<bean name="MBeanServer" class="javax.management.MBeanServer">
<constructor factoryClass="org.jboss.mx.util.MBeanServerLocator"
factoryMethod="locateJBoss" />
</bean>
`Platform MBeanServer` to register its MBeans. By default [Jolokia](http://www.jolokia.org/)
is also deployed to allow access to the mbean server via rest.
### Example
@ -995,81 +980,3 @@ messageCounter.getMessageCountDelta());
See ? for an example which shows how to use message counters to retrieve
information on a JMS `Queue`.
## Administering ActiveMQ Resources Using The JBoss AS Admin Console
Its possible to create and configure ActiveMQ resources via the admin
console within the JBoss Application Server.
The Admin Console will allow you to create destinations (JMS Topics and
Queues) and JMS Connection Factories.
Once logged in to the admin console you will see a JMS Manager item in
the left hand tree. All ActiveMQ resources will be configured via this.
This will have a child items for JMS Queues, Topics and Connection
Factories, clicking on each node will reveal which resources are
currently available. The following sections explain how to create and
configure each resource in turn.
### JMS Queues
To create a new JMS Queue click on the JMS Queues item to reveal the
available queues. On the right hand panel you will see an add a new
resource button, click on this and then choose the default(JMS Queue)
template and click continue. The important things to fill in here are
the name of the queue and the JNDI name of the queue. The JNDI name is
what you will use to look up the queue in JNDI from your client. For
most queues this will be the only info you will need to provide as
sensible defaults are provided for the others. You will also see a
security roles section near the bottom. If you do not provide any roles
for this queue then the servers default security configuration will be
used, after you have created the queue these will be shown in the
configuration. All configuration values, except the name and JNDI name,
can be changed via the configuration tab after clicking on the queue in
the admin console. The following section explains these in more detail
After highlighting the configuration you will see the following screen
![ActiveMQ console1.png](images/console1.png)
The name and JNDI name can't be changed, if you want to change these
recreate the queue with the appropriate settings. The rest of the
configuration options, apart from security roles, relate to address
settings for a particular address. The default address settings are
picked up from the servers configuration, if you change any of these
settings or create a queue via the console a new Address Settings entry
will be added. For a full explanation on Address Settings see [Configuring Queues Via Address Settings](queue-attributes.md)
To delete a queue simply click on the delete button beside the queue
name in the main JMS Queues screen. This will also delete any address
settings or security settings previously created for the queues address
The last part of the configuration options are security roles. If non
are provided on creation then the servers default security settings will
be shown. If these are changed or updated then new security settings are
created for the address of this queue. For more information on security
setting see [Security](security.md)
It is also possible via the metrics tab to view statistics for this
queue. This will show statistics such as message count, consumer count
etc.
Operations can be performed on a queue via the control tab. This will
allow you to start and stop the queue, list,move,expire and delete
messages from the queue and other useful operations. To invoke an
operation click on the button for the operation you want, this will take
you to a screen where you can parameters for the operation can be set.
Once set clicking the ok button will invoke the operation, results
appear at the bottom of the screen.
### JMS Topics
Creating and configuring JMS Topics is almost identical to creating
queues. The only difference is that the configuration will be applied to
the queue representing a subscription.
### JMS Connection Factories
The format for creating connection factories is the same as for JMS
Queues and topics apart from the configuration being different. For as
list of all the connection factory settings see the configuration index

View File

@ -7,10 +7,7 @@ directory layout and what all the files are and what they do.
For the remainder of this chapter when we talk about the ActiveMQ server
we mean the ActiveMQ standalone server, in its default configuration
with a JMS Service and JNDI service enabled.
When running embedded in JBoss Application Server the layout may be
slightly different but by-and-large will be the same.
with a JMS Service enabled.
## Starting and Stopping the standalone server