The helloworld-jms
quickstart demonstrates the use of external JMS clients with {productName}.
The helloworld-jms
quickstart demonstrates the use of external JMS clients with {productNameFull}.
It contains the following:
-
A message producer that sends messages to a JMS destination deployed to a {productName} server.
-
A message consumer that receives message from a JMS destination deployed to a {productName} server.
You configure the JMS test
queue by running JBoss CLI commands. For your convenience, this quickstart batches the commands into a configure-jms.cli
script provided in the root directory of this quickstart.
-
Before you begin, make sure you do the following:
-
Back up the {productName} standalone server configuration as described above.
-
Start the {productName} server with the standalone full profile as described above.
-
-
Review the
configure-jms.cli
file in the root of this quickstart directory. This script adds thetest
queue to themessaging
subsystem in the server configuration file. -
Open a new terminal, navigate to the root directory of this quickstart, and run the following command, replacing {jbossHomeName} with the path to your server:
$ {jbossHomeName}/bin/jboss-cli.sh --connect --file=configure-jms.cli
NoteFor Windows, use the {jbossHomeName}\bin\jboss-cli.bat
script. -
You should see the following result when you run the script:
The batch executed successfully
-
Stop the {productName} server.
After stopping the server, open the {jbossHomeName}/standalone/configuration/standalone-full.xml
file and review the changes.
The following testQueue
jms-queue was configured in the default server configuration of the messaging-activemq
subsystem.
<jms-queue name="testQueue" entries="queue/test java:jboss/exported/jms/queue/test"/>
-
Start the {productName} server with the standalone full profile as described above.
-
Open a terminal and navigate to the root of the helloworld-jms quickstart directory:
$ cd PATH_TO_QUICKSTARTS/helloworld-jms
-
Type the following command to compile and execute the quickstart:
$ mvn clean compile exec:java
Note
|
If you execute this command multiple times, you may see the following warning and exception, followed by a stacktrace. This is caused by a bug in Artemis that has been fixed, but not yet released. For details, see https://issues.apache.org/jira/browse/ARTEMIS-158. You can ignore this warning._
|
If the Maven command is successful, with the default configuration you will see output similar to this:
timestamp org.jboss.as.quickstarts.jms.HelloWorldJMSClient main
INFO: Attempting to acquire connection factory "jms/RemoteConnectionFactory"
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
timestamp org.jboss.as.quickstarts.jms.HelloWorldJMSClient main
INFO: Found connection factory "jms/RemoteConnectionFactory" in JNDI
timestamp org.jboss.as.quickstarts.jms.HelloWorldJMSClient main
INFO: Attempting to acquire destination "jms/queue/test"
timestamp org.jboss.as.quickstarts.jms.HelloWorldJMSClient main
INFO: Found destination "jms/queue/test" in JNDI
timestamp org.jboss.as.quickstarts.jms.HelloWorldJMSClient main
INFO: Sending 1 messages with content: Hello, World!
timestamp org.jboss.as.quickstarts.jms.HelloWorldJMSClient main
INFO: Received message with content Hello, World!
The example provides for a certain amount of customization for the mvn:exec
plug-in using the system properties.
Property |
Default value |
Description |
username |
quickstartUser |
This |
password |
quickstartPwd1! |
This |
connection.factory |
jms/RemoteConnectionFactory |
The name of the JMS |
destination |
jms/queue/test |
The name of the JMS |
message.count |
1 |
The number of JMS messages you want to produce and consume. |
message.content |
"Hello, World!" |
The content of the JMS |
java.naming.provider.url |
"localhost" |
This property allows configuration of the JNDI directory used to look up the JMS destination. This is useful when the client resides on another host. |
This script removes the test
queue from the messaging
subsystem in the server configuration. You should see the following result when you run the script.
The batch executed successfully
../shared-doc/restore-standalone-server-configuration-manual.adoc ../shared-doc/run-the-quickstart-in-jboss-developer-studio.adoc
This quickstart consists of multiple projects, so it deploys and runs differently in {JBDSProductName} than the other quickstarts.
-
Make sure you add the authorized application user as described above.
-
Configure and start the {productName} server in {JBDSProductName}:
-
Define a server runtime environment that uses the
standalone-full.xml
configuration file. -
Start the server defined in the previous step.
-
-
Outside of {JBDSProductName}, configure the JMS
test
queue by running the JBoss CLI commands as described above under Configure the Server. -
In {JBDSProductName}, right-click on the {artifactId} project and choose Run As → Java Application. In the Select Java Application window, choose HellowWorldJMSClient - org.jboss.as.quickstarts.jms and click OK. The client output displays in the Console window. The output messages appear in the Console window.
-
Make sure you restore the {productName} server configuration when you have completed testing this quickstart.