Re: deploying and executing a jar file

"Frank Wilson" <[email protected]> Wed, 21 Apr 2010 16:20:12 +0100
Newsgroups gmane.comp.java.smartfrog.user
Message-ID <[email protected]>
Hi Steve. Thanks for your reply.

> Try this variation for your MySystem component. 
> 
> MySystem extends Compound {
>
>
>	PasswordProvider extends InlinePassword {
>		password "password";
>	}
>		
>	UploadAndRun extends Sequence {
>
>	  upload extends ScpBulkUpload {
>		remoteDir helloworldhttpPath;
>		dir "target/";
>		passwordProvider LAZY PARENT:PARENT:PasswordProvider;
>		pattern "helloworldhttp.jar";
>		host "falcon";
>		username "root";
>		sfShouldTerminate true;
>	  }
>
>	  falconHelloworld extends helloworldhttp {
>		sfProcessHost "falcon";
>		jardir helloworldhttpPath;
>   	  }
>	}
>	
> }

I eventually ended up with something like this, my main mistake was to try
and 
run the "upload" (with sfShouldTerminate = false) and the "falconHelloworld"

tasks in a Compound object. This meant that sometimes the jar would be "run"
before it was uploaded!
(Or "mysteriously" terminate if sfShouldTerminate = true for "upload"!) 

When I tried using a Sequence I ran into another pitfall when I tried to 
put the "PasswordProvider" at the beginning. This will (if I remember
correctly) block the sequence 
because the PasswordProvider does not "terminate". The moral is of course to

understand the concept of lifecycles and the lifecycles of individual
component types! :) 

I have managed to deploy some of the software we work on and I have even got
one of my colleagues to 
also use Smartfrog! We managed to implement a little more configurability
this morning using the
information on passwords and properties you provided.

We are starting to like Smartfrog quite a bit! :)

Frank Wilson






------------------------------------------------------------------------------