Hi,
I made some progress. The problem is that the 'nodeB' composite file is
looked up with an absolute path of server1 location of the file on server2.
I hope you know what I mean. I found this by moving both server1 and server2
code into '/tmp' - the same location.
Now the example runs happily.
Shouldn't the file  look up be relative. This seems to be a bug.

Cheers,
Malte.


On Fri, Jul 25, 2008 at 10:10 AM, Malte Marquarding <
[EMAIL PROTECTED]> wrote:

> Hi Simon,
> that's exactly what I did the very first time I tried this (before asking
> for help). I do get the same exception with respect ro FileNotFound on
>  Host1 (server running domain).
>
> This is what the domain log says
>
> [java] Jul 25, 2008 10:03:53 AM
> org.apache.tuscany.sca.workspace.admin.impl.CompositeImageCollectionImpl
> doGet
>      [java] INFO: get NodeB
>      [java] Jul 25, 2008 10:03:53 AM
> org.apache.tuscany.sca.workspace.admin.impl.DeployedCompositeCollectionImpl
> getAll
>      [java] INFO: getAll
>      [java] Jul 25, 2008 10:03:53 AM
> org.apache.tuscany.sca.workspace.admin.impl.DeployableCompositeCollectionImpl
> get
>      [java] INFO: get composite:
> http://tuscany.apache.org/cloud;http://sample/cloud;NodeA
>      [java] Jul 25, 2008 10:03:53 AM
> org.apache.tuscany.sca.workspace.admin.impl.ContributionCollectionImpl get
>      [java] INFO: get http://tuscany.apache.org/cloud
>      [java] Jul 25, 2008 10:03:53 AM
> org.apache.tuscany.sca.workspace.admin.impl.DeployableCompositeCollectionImpl
> get
>      [java] INFO: get composite:
> http://tuscany.apache.org/cloud;http://sample/cloud;NodeB
>      [java] Jul 25, 2008 10:03:53 AM
> org.apache.tuscany.sca.workspace.admin.impl.ContributionCollectionImpl get
>      [java] INFO: get http://tuscany.apache.org/cloud
>      [java] Jul 25, 2008 10:03:53 AM
> org.apache.tuscany.sca.workspace.admin.impl.DeployableCompositeCollectionImpl
> get
>      [java] INFO: get composite:
> http://tuscany.apache.org/cloud;http://sample/cloud;NodeC
>      [java] Jul 25, 2008 10:03:53 AM
> org.apache.tuscany.sca.workspace.admin.impl.ContributionCollectionImpl get
>      [java] INFO: get http://tuscany.apache.org/cloud
>      [java] Jul 25, 2008 10:03:53 AM
> org.apache.tuscany.sca.binding.atom.provider.AtomBindingListenerServlet
> doGet
>      [java] INFO: >>> FeedEndPointServlet /composite-image/
>      [java] Jul 25, 2008 10:03:53 AM
> org.apache.tuscany.sca.workspace.admin.impl.CompositeImageCollectionImpl
> query
>      [java] INFO: query composite=composite:nodeB;http://sample
> ;CalculatorB
>      [java] Jul 25, 2008 10:03:53 AM
> org.apache.tuscany.sca.workspace.admin.impl.ContributionCollectionImpl query
>      [java] INFO: query alldependencies=nodeB
>
>
> Cheers,
> Malte
>
>
> On Fri, Jul 25, 2008 at 2:14 AM, Simon Laws <[EMAIL PROTECTED]>
> wrote:
>
>>
>>
>> On Tue, Jul 22, 2008 at 12:53 AM, Malte Marquarding <
>> [EMAIL PROTECTED]> wrote:
>>
>>> Hi Simon,
>>> I did the following
>>>
>>> Host 1:
>>> ant runDomain
>>>
>>> Host 2:
>>> I modified in my case the NodeB launcher to run in the remote location. I
>>> get an exception because it can find the artefacts
>>>
>>> ant runDomain
>>> ant runNodeB
>>>
>>>      [java] INFO: Loading contribution:
>>> file:/Users/me/java/tuscany-sca-1.2.1-incubating/samples/calculator-distributed/./src/main/resources/nodeB/
>>>      [java] 22/07/2008 09:21:53
>>> org.apache.tuscany.sca.node.launcher.NodeLauncherUtil node
>>>      [java] SEVERE: SCA Node could not be created
>>>      [java] java.lang.reflect.InvocationTargetException
>>>      [java] at
>>> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>>>      [java] at
>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>>>      [java] at
>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>>>      [java] at
>>> java.lang.reflect.Constructor.newInstance(Constructor.java:494)
>>>      [java] at
>>> org.apache.tuscany.sca.node.launcher.NodeLauncherUtil.node(NodeLauncherUtil.java:297)
>>>      [java] at
>>> org.apache.tuscany.sca.node.launcher.NodeLauncher.createNode(NodeLauncher.java:60)
>>>      [java] at
>>> org.apache.tuscany.sca.node.launcher.NodeLauncher.main(NodeLauncher.java:109)
>>>      [java] at
>>> node.LaunchCalculatorNodeB.main(LaunchCalculatorNodeB.java:26)
>>>      [java] Caused by: org.osoa.sca.ServiceRuntimeException:
>>> java.io.FileNotFoundException:
>>> /Users/me/java/tuscany-sca-1.2.1-incubating/samples/calculator-distributed/./src/main/resources/nodeB
>>> (No such file or directory)
>>>
>>> This directory is present on the remote domain (host 1)
>>>
>>> ls
>>> /Users/me/java/tuscany-sca-1.2.1-incubating/samples/calculator-distributed/./src/main/resources/nodeB
>>> 8 Calculator.composite 0 META-INF/
>>>
>>> What else  am I missing?
>>>
>>> Cheers,
>>> Malte.
>>>
>>> On Mon, Jul 21, 2008 at 9:20 PM, Simon Laws <[EMAIL PROTECTED]>
>>> wrote:
>>>
>>>>
>>>>
>>>> On Mon, Jul 21, 2008 at 9:40 AM, Malte Marquarding <
>>>> [EMAIL PROTECTED]> wrote:
>>>>
>>>>> Hi,
>>>>> Thanks that works.
>>>>>
>>>>> Does that mean you are running two domains? This is exactly what I
>>>>> stumbled over. I remote domain manger would certainly be good.
>>>>>
>>>>> Cheers,
>>>>> Malte
>>>>>
>>>>>
>>>>> On Mon, Jul 21, 2008 at 3:06 PM, Luciano Resende <[EMAIL PROTECTED]>
>>>>> wrote:
>>>>>
>>>>>> The calculator-distributed already runs in multiple VM. Let me
>>>>>> describe the steps I had to do in order to run the sample in two
>>>>>> different machines.
>>>>>>
>>>>>> In one of the machine, I ran NodeB and NodeC by doing the following :
>>>>>>
>>>>>> ant runDomain
>>>>>> ant runNodeB
>>>>>> ant runNodeC
>>>>>>
>>>>>> In the other machine, I ran NodeA that would connect to the remote
>>>>>> nodes (nodeB and NodeC). I have to modify the node composites, to
>>>>>> properly identify the remote uri for the nodes as follow :
>>>>>>
>>>>>>   <component name="NodeB">
>>>>>>        <t:implementation.node uri="nodeB" composite="s:CalculatorB"/>
>>>>>>        <service name="Node">
>>>>>>            <binding.sca uri="http://tuscany1.domain.com:8200"/>
>>>>>>        </service>
>>>>>>    </component>
>>>>>>
>>>>>>     <component name="NodeC">
>>>>>>                <t:implementation.node uri="nodeC"
>>>>>> composite="s:CalculatorC"/>
>>>>>>                <service name="Node">
>>>>>>                        <binding.sca uri="
>>>>>> http://tuscany1.domain.com:8300"/>
>>>>>>                </service>
>>>>>>        </component>
>>>>>>
>>>>>> Then I ran nodeA :
>>>>>>
>>>>>> ant runDomain
>>>>>> ant runNodeA
>>>>>>
>>>>>>
>>>>>> The only thing I'm not sure is how I would tell the node to connect to
>>>>>> a remote domain manager, that would simplify the steps to run nodeA.
>>>>>>
>>>>>>
>>>>>> On Sun, Jul 20, 2008 at 6:41 PM, Malte Marquarding
>>>>>> <[EMAIL PROTECTED]> wrote:
>>>>>> > Hi,
>>>>>> > any takers? I tried the API docs, but they are outdated - JIRA
>>>>>> submitted and
>>>>>> > trying to build from source.
>>>>>> > Cheers,
>>>>>> > Malte
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Luciano Resende
>>>>>> Apache Tuscany Committer
>>>>>> http://people.apache.org/~lresende<http://people.apache.org/%7Elresende>
>>>>>> http://lresende.blogspot.com/
>>>>>>
>>>>>
>>>>>
>>>> Hi
>>>>
>>>> In the case of samples/calculator-distributed the node launchers are
>>>> hard coded to talk to the domain at "http://localhost:9990";. If you
>>>> look in each of the node launcher classes you will see lines like...
>>>>
>>>>  NodeLauncher.main(new String[] {"
>>>> http://localhost:9990/node-config/NodeC"});
>>>>
>>>> To run the domain in a remote location change the localhost here to the
>>>> host where the domain is running or write some launcher code that takes 
>>>> this
>>>> URL as a parameter.
>>>>
>>>> The launcher for nodeA is slightly different from the launchers for B
>>>> and C in that it goes on to make the test calls but in all these cases it
>>>> wouldn't be hard to change to accept the domain configuration URL as a
>>>> command line argument. If you decide to give this a go make a patch and we
>>>> can update the sample.
>>>>
>>>> Regards
>>>>
>>>> Simon
>>>>
>>>>
>>  Hi Malte
>>
>> Sorry this is such a late reply. I just didn't notice this come through.
>> You may have got past this now but anyhow....
>>
>> You don't need to do "ant runDomain" on Host2.
>>
>> Your changes to the NodeB launcher should point it at the domain running
>> on Host1. Hence you don't need the domain running on Host2. Just the NodeB
>> runs on Host2.
>>
>> Regards
>>
>> Simon
>>
>
>

Reply via email to