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. |