Hi,
I had a look at it myself.  I now understand that  I can set the url in
'workspace.xml'  - RTFM . How do I package/deploy contribution as a jar
file. Or should I leave this to you by submitting a JIRA?

Cheers,
Malte

On Sat, Jul 26, 2008 at 12:17 AM, Simon Laws <[EMAIL PROTECTED]>wrote:

>
>
> On Fri, Jul 25, 2008 at 2:59 PM, Simon Laws <[EMAIL PROTECTED]>
> wrote:
>
>>
>>
>> On Fri, Jul 25, 2008 at 6:33 AM, Malte Marquarding <
>> [EMAIL PROTECTED]> wrote:
>>
>>> Also, why doesn't it look it up in the jar? I edited the ant script to
>>> include the path and remove the src directory, but that didn't help.
>>>
>>> Cheers,
>>> Malte.
>>>
>>> On Fri, Jul 25, 2008 at 2:49 PM, Malte Marquarding <
>>> [EMAIL PROTECTED]> wrote:
>>>
>>>> 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
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>> Hi Malte
>>
>> This sounds like a bug to me. Can you raise a JIRA for it (
>> http://issues.apache.org/jira/browse/TUSCANY) and lets see if we can get
>> it fixed.
>>
>> Thanks
>>
>> Simon
>>
>
>
> Hi Malte
>
> A bit more information. I've just been trying this and I do see the problem
> you see when running across machines. The strange file read exception you
> are seeing occurs because the domain is trying to provide the remote node
> (NodeB) with a file system based contribution. When you run the node the
> configuration URL (http://9.20.188.196:9990/node-config/NodeB) is used to
> ask the domain for two things.
>
> 1 - the composite that is configured by the domain to represent the correct
> domain configuration. The actual result here is that all the service and
> reference URIs are filled in based on where each node is to be deployed
> using information from the node.composite files.
> 2 - the contributions that are required to provide the artifacts needed to
> run the composite at this node
>
> This sample has been written to work directly from the file system so that
> it's straightforward to edit and recompile. However this does  cause the
> problem that you are seeing as the domain cannot provide a file system based
> contribution out to the remote node. What we need to do to make this work
> across nodes is package each nodes contribution as a jar.
>
> So please go ahead and raise a JIRA and I'll look at it as it seems natural
> to want to try the calculator distributed in a distributed environment.
>
> Regards
>
> Simon
>
>

Reply via email to