![antelder](/assets/img/avatar_default.png)
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1069273 13f79535-47bb-0310-9956-ffa450edef68
73 lines
2.5 KiB
Text
73 lines
2.5 KiB
Text
Callback JMS Sample
|
|
===================
|
|
This sample demonstrates SCA callbacks over the JMS binding. It implements the example
|
|
described in the INFOQ article:
|
|
|
|
"Can I call you back about that?" Building Asynchronous Services using Service Component Architecture
|
|
See: http://www.infoq.com/articles/async-sca
|
|
|
|
It implements a service for placing an order for some widgets, where the service is asynchronous
|
|
and the client is informed of progress via a callback interface.
|
|
|
|
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 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-callbacks-jms.jar callbacks.CallbacksTestCase
|
|
|
|
and on *nix do
|
|
|
|
java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-callbacks-jms.jar callbacks.CallbacksTestCase
|
|
|
|
Sample Overview
|
|
---------------
|
|
|
|
The only changes over the sample code described in the INFOQ article are to add the @Remotable annotation
|
|
to the service and callback interfaces, add the @Oneway annotation to the placeOrder and placeOrderResponse
|
|
methods, and the composite XML is changed to use <binding.jms> instead of <binding.ws>.
|
|
|
|
|
|
Building And Running The Sample Using Ant
|
|
-----------------------------------------
|
|
With the binary distribution the sample can be built and run using Ant as
|
|
follows
|
|
|
|
cd callbacks-jms
|
|
ant compile
|
|
ant run
|
|
|
|
You should see the following output from the run target.
|
|
|
|
run:
|
|
[java] client placing order: callbacks.OrderRequest@c72243
|
|
[java] service received order: callbacks.OrderRequest@1f94884
|
|
[java] client callback received order response: callbacks.OrderResponse@14ab51b
|
|
|
|
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.
|
|
|
|
cd callbacks-jms
|
|
mvn
|
|
|
|
You should see the following output from the test phase.
|
|
|
|
-------------------------------------------------------
|
|
T E S T S
|
|
-------------------------------------------------------
|
|
Running callbacks.CallbacksTestCase
|
|
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.272 sec
|
|
|
|
Results :
|
|
|
|
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
|
|
|
|
This shows that the Junit test cases have run successfully.
|