$Revision: 5409 $
This example deploys in a cluster a stateless session bean that can then send and receive messages from a queue. This is a very simple example that demonstrates using JBoss Messaging in a clustered environment. The client uses HA-JNDI to look up the session bean. It then invokes the session bean to send a message to a test queue and afterwards consumes the same message.
This example relies on having access to a running JBoss Messaging cluster. The JBoss Messaging cluster must be installed and started according to the "JBoss Messaging Clustered Installation" chapter from the release documentation. However, the example will automatically deploy its own queue, unless a queue with the same name is already deployed.
This example also relies on having access to jboss-messaging-client.jar archive that comes with the release bundle. If you run this example from an unzipped installation bundle, the example run script is correctly configured to find the client jar. Otherwise, you must modify example's build.xml accordingly.
1. Set up the JBOSS_HOME environment variable to point to the JBoss instance you deployed JBoss Messaging into. For example, if you deployed JBoss Messaging in C:\jboss-4.2.0.GA\server\messaging-node0\deploy, then your JBOSS_HOME value should be C:\jboss-4.2.0.GA.
2. Go to the example's home directory
cd ...\examples\stateless
3. Run the example:
ant
The output of a successful run should be similar to:
$ ant Buildfile: build.xml identify: [echo] ########################################################################### [echo] # Running the STATELESS CLUSTERED SESSION BEAN example # [echo] ########################################################################### [echo] The queue: testFarmQueue [echo] The client jar: ../../../output/lib/jboss-messaging-client.jar sanity-check: init: [mkdir] Created dir: C:\java\messaging\docs\examples\stateless-clustered\output\classes\META-INF [mkdir] Created dir: C:\java\messaging\docs\examples\stateless-clustered\output\lib compile: [javac] Compiling 4 source files to C:\java\messaging\docs\examples\stateless-clustered\output\classes [javac] Note: C:\java\messaging\docs\examples\stateless-clustered\src\org\jboss\example\jms\statelessclustered\bean\StatelessClusteredSessionExampleBean.java uses unchecked or unsafe operations. [javac] Note: Recompile with -Xlint:unchecked for details. jar: [copy] Copying 2 files to C:\java\messaging\docs\examples\stateless-clustered\output\classes\META-INF [jar] Building jar: C:\java\messaging\docs\examples\stateless-clustered\output\lib\stateless-clustered-example.jar deploy: [copy] Copying 1 file to C:\jboss-4.2.0.GA\server\messaging-node0\farm [copy] Copying 1 file to C:\jboss-4.2.0.GA\server\messaging-node0\farm sleep: [echo] Sleeping for 15 seconds ... run: send-and-receive: [java] The Hello! message was successfully sent to the /queue/testFarmQueue queue [java] Queue browse result: 1 [java] blocking to receive message from queue /queue/testFarmQueue ... [java] Message Hello! received [java] [java] ##################### [java] ### SUCCESS! ### [java] ##################### undeploy: [delete] Deleting: C:\jboss-4.2.0.GA\server\messaging-node0\farm\stateless-clustered-example.jar [delete] Deleting: C:\jboss-4.2.0.GA\server\messaging-node0\farm\destinations-farm-service.xml BUILD SUCCESSFUL Total time: 19 seconds
You probably didn't install JBoss Messaging correctly. A fresh JBoss Messaging installation requires changes in the security configuration of the JBoss instance, specifically a properly configured "messaging" security domain. Follow the instructions from the "Installation" paragraph of the release documentation.