![antelder](/assets/img/avatar_default.png)
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1069273 13f79535-47bb-0310-9956-ffa450edef68
97 lines
3.6 KiB
Text
97 lines
3.6 KiB
Text
Notification Implementation Sample
|
|
===============================
|
|
|
|
This sample illustrates the use of <implementation.notification/>
|
|
|
|
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, use following command:
|
|
|
|
java -cp ..\..\lib\tuscany-sca-manifest.jar;target\sample-implementation-notification.jar notification.TrafficAdvisoryClient
|
|
|
|
on *nix, use following command:
|
|
|
|
java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-implementation-notification.jar notification.TrafficAdvisoryClient
|
|
|
|
OR you can also use Maven to test:
|
|
|
|
mvn test
|
|
|
|
Sample Overview
|
|
---------------
|
|
|
|
This sample consists of a single composite that contains a notification component,
|
|
a producer component and two consumer components. Take a look at the composite file
|
|
or the .svg file which shows the composite file in pictorial form. The notification
|
|
component has an <implementation.notification/> that refers to the component type
|
|
that defines the TrafficAdvisory java interface. This interface indicates the
|
|
makeup of the messages being sent and received and is also implemented by the
|
|
consumer components.
|
|
|
|
Sample directory structure:
|
|
|
|
implementation-notification/
|
|
src/
|
|
main/
|
|
java/
|
|
notification/
|
|
TestCaseProducer.java - interface for the producer component
|
|
TrafficAdvisory.java - interface for the notification and consumer components
|
|
TrafficAdvisoryConsumer.java - implementation for the consumer components
|
|
TrafficAdvisoryProducer.java - implementation for the producer component
|
|
test/
|
|
java/
|
|
notification/
|
|
TrafficAdvisoryTestCase.java - JUnit test case
|
|
resources/
|
|
TrafficAdvisoryNotification.componentType - the component type referred to by
|
|
<implementation.notification/>
|
|
TrafficAdvisoryNotification.composite - the main composite including producer,
|
|
notification component, and consumers
|
|
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 as
|
|
follows
|
|
|
|
cd implementation-notification
|
|
ant compile
|
|
ant run
|
|
|
|
You should see the following output from the run target.
|
|
|
|
run:
|
|
[java] Consumer [Consumer1] received report: Nothing to report today
|
|
[java] Consumer [Consumer2] received report: Nothing to report today
|
|
|
|
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 implementation-notification
|
|
mvn
|
|
|
|
You should see the following output from the test phase.
|
|
|
|
-------------------------------------------------------
|
|
T E S T S
|
|
-------------------------------------------------------
|
|
Running notification.TrafficAdvisoryTestCase
|
|
Consumer [Consumer1] received report: Nothing to report today
|
|
Consumer [Consumer2] received report: Nothing to report today
|
|
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.742 sec
|
|
|
|
Results :
|
|
|
|
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
|
|
|
|
This shows that the Junit test cases have run successfully.
|