
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1028659 13f79535-47bb-0310-9956-ffa450edef68
127 lines
4.9 KiB
Text
127 lines
4.9 KiB
Text
Hello World Erlang Reference Sample
|
|
===================================
|
|
This sample demonstrates an SCA reference that uses a Erlang binding
|
|
|
|
The README in the samples directory (the directory above this) provides
|
|
general instructions about building and running samples. Take a look there
|
|
first.
|
|
|
|
In order to run Erlang samples you need to have Erlang/OTP distribution installed -
|
|
epmd binary is required in your system path. See http://erlang.org for downloads.
|
|
|
|
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-erlang-service 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-erlang-service.jar helloworld.HelloWorldServer
|
|
|
|
and on *nix do
|
|
|
|
java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-helloworld-erlang-service.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-erlang-reference.jar helloworld.HelloWorldErlangClient
|
|
|
|
and on *nix do
|
|
|
|
java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-helloworld-erlang-reference.jar helloworld.HelloWorldErlangClient
|
|
|
|
|
|
Sample Overview
|
|
---------------
|
|
The sample provides a component that has a reference with a Erlang binding.
|
|
The binding refers to Erlang module and communicates with a service
|
|
exposed by the helloworld-service-erlang sample.
|
|
|
|
helloworld-erlang-reference/
|
|
src/
|
|
main/
|
|
java/
|
|
helloworld/
|
|
HelloWorldImpl - HelloWorld service implementation
|
|
HelloWorldService.java - interface description for
|
|
HelloWorldServiceComponent
|
|
HelloWorldServiceComponent.java - component implementation
|
|
HelloWorldErlangClient.java - starts the SCA Runtime and
|
|
deploys the helloworldwserlangclient
|
|
.composite. It then calls the
|
|
HelloWorldServiceComponent
|
|
resources/
|
|
helloworlderlangreference.composite - the SCA assembly for this sample
|
|
helloworlderlangservice.composite - the SCA assembly for the server
|
|
that is used by the JUnit tests
|
|
logging.properties - log4j configuration file
|
|
test/
|
|
java/
|
|
helloworld/
|
|
HelloWorldErlangClientTestCase.java - JUnit test case
|
|
dynaignore/ - internal Java classes for ignoring test
|
|
in case of missing Erlang/OTP distribution
|
|
|
|
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-erlang-service sample. Take a look at the README in that sample
|
|
and you will see you need the following commands
|
|
|
|
cd helloworld-erlang-service
|
|
ant run
|
|
|
|
Once done you can now compile and run this sample using the following commands;
|
|
|
|
cd helloworld-erlang-reference
|
|
ant compile
|
|
ant run
|
|
|
|
You should see the following output from the run target.
|
|
|
|
run:
|
|
[java] 2009-05-26 12:03:54 org.apache.tuscany.sca.node.impl.NodeImpl <init>
|
|
[java] INFO: Creating node: helloworlderlangreference.composite
|
|
[java] 2009-05-26 12:03:55 org.apache.tuscany.sca.node.impl.NodeImpl configureNode
|
|
[java] 2009-05-26 12:03:56 org.apache.tuscany.sca.node.impl.NodeImpl configureNode
|
|
[java] 2009-05-26 12:03:56 org.apache.tuscany.sca.node.impl.NodeImpl start
|
|
[java] INFO: Starting node: helloworlderlangreference.composite
|
|
[java] Hello World
|
|
[java] 2009-05-26 12:03:56 org.apache.tuscany.sca.node.impl.NodeImpl stop
|
|
[java] INFO: Stopping node: helloworlderlangreference.composite
|
|
|
|
BUILD SUCCESSFUL
|
|
|
|
|
|
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-
|
|
erlang-service sample first as the JUnit test does this for you.
|
|
|
|
cd helloworld-erlang-reference
|
|
mvn
|
|
|
|
You should see the following output from the test phase.
|
|
|
|
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.569 sec
|
|
|
|
Results :
|
|
|
|
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
|
|
|
|
|
|
This shows that the Junit test cases have run successfully.
|