Hello World JMS References Sample | |
================================= | |
This sample demonstrates an SCA reference that uses a JMS binding | |
The README in the samples directory (the directory above this) provides | |
general instructions about building and running samples. Take a look there | |
first. | |
If you just want to run it to see what happens you need to run the server first | |
so open a command prompt, navigate to the helloworld-service-jms sample directory | |
and do | |
ant run | |
OR if you don't have ant, on Windows do | |
java -cp ..\..\lib\tuscany-sca-manifest.jar;target\sample-helloworld-service-jms.jar helloworld.HelloWorldServer | |
and on *nix do | |
java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-helloworld-service-jms.jar helloworld.HelloWorldServer | |
Once the server is running open a command prompt, navigate to this sample | |
directory and do: | |
ant run | |
OR if you don't have ant, on Windows do | |
java -cp ..\..\lib\tuscany-sca-manifest.jar;target\sample-helloworld-reference-jms.jar helloworld.HelloWorldJmsClient | |
and on *nix do | |
java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-helloworld-reference-jms.jar helloworld.HelloWorldJmsClient | |
Sample Overview | |
--------------- | |
The sample provides a component that has a reference with a JMS binding. | |
The binding refers to JMS queue and communicates with a service | |
exposed by the helloworld-service-jms sample. | |
helloworld-reference-jms/ | |
src/ | |
main/ | |
java/ | |
helloworld/ | |
HelloWorldService.java - interface description for | |
HelloWorldServiceComponent | |
HelloWorldServiceComponent.java - component implementation | |
HelloWorldJmsClient.java - starts the SCA Runtime and | |
deploys the helloworldwsjmsclient | |
.composite. It then calls the | |
HelloWorldServiceComponent | |
resources/ | |
helloworldjmsclient.composite - the SCA assembly for this sample | |
helloworldjms.composite - the SCA assembly for the server | |
that is used by the JUnit tests | |
logging.properties - log4j configuration file | |
test/ | |
java/ | |
helloworld/ | |
HelloWorldJMSClientTestCase.java - JUnit test case | |
helloworld-reference.png - a pictorial representation of the | |
sample .composite file | |
build.xml - the Ant build file | |
pom.xml - the Maven build file | |
Building And Running The Sample Using Ant | |
----------------------------------------- | |
With the binary distribution the sample can be built and run using Ant. Before | |
you do this start up the service that the reference will talk to. To do this | |
run up the helloworld-service-jms test. Take a look at the README in that sample | |
and you will see you need the following commands | |
cd helloworld-service-jms | |
ant run | |
Once done you can now compile and run this sample using the following commands; | |
cd helloworld-reference-jms | |
ant compile | |
ant run | |
You should see the following output from the run target. | |
run: | |
[java] log4j:WARN No appenders could be found for logger (org.apache.axiom. | |
om.util.StAXUtils). | |
[java] log4j:WARN Please initialize the log4j system properly. | |
[java] Injected helloWorldService | |
[java] Called getGreetings | |
[java] Hello World | |
Building And Running The Sample Using Maven | |
------------------------------------------- | |
With either the binary or source distributions the sample can be built and run | |
using Maven as follows. When using Maven you don't need to run the helloworld- | |
service-jms sample first as the JUnit test does this for you. | |
cd helloworld-reference-jms | |
mvn | |
You should see the following output from the test phase. | |
run: | |
[java] Injected helloWorldService | |
[java] Called getGreetings | |
[java] javax.naming.NameNotFoundException: RequestQueue | |
... | |
[java] Hello World | |
This shows that the Junit test cases have run successfully. |