You can subscribe to this list here.
2004 |
Jan
|
Feb
(26) |
Mar
(61) |
Apr
(31) |
May
(31) |
Jun
(88) |
Jul
(44) |
Aug
(42) |
Sep
(7) |
Oct
(61) |
Nov
(32) |
Dec
(23) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(23) |
Feb
(25) |
Mar
(23) |
Apr
(29) |
May
(15) |
Jun
(13) |
Jul
(15) |
Aug
(12) |
Sep
(33) |
Oct
(50) |
Nov
(36) |
Dec
(4) |
2006 |
Jan
(12) |
Feb
(8) |
Mar
(20) |
Apr
(15) |
May
(7) |
Jun
(20) |
Jul
(21) |
Aug
(8) |
Sep
(28) |
Oct
(66) |
Nov
(9) |
Dec
(3) |
2007 |
Jan
(4) |
Feb
(8) |
Mar
(19) |
Apr
|
May
|
Jun
(10) |
Jul
(10) |
Aug
(6) |
Sep
(1) |
Oct
(2) |
Nov
|
Dec
(17) |
2008 |
Jan
(3) |
Feb
(4) |
Mar
(1) |
Apr
|
May
(1) |
Jun
|
Jul
(2) |
Aug
(7) |
Sep
(3) |
Oct
|
Nov
(3) |
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
|
From: Denis W. <ddw...@gm...> - 2013-11-06 12:17:40
|
Hi, I went through your tutorial at http://www.hpl.hp.com/research/smartfrog/releasedocs/smartfrogdoc/SmartFrogTutorial.html with the intension of realizing what your tool does and what not. I have three questions. - How your tool is different from Puppet, Chef like tools? Regarding the DynamicWebServer example, I went through http://sourceforge.net/p/smartfrog/svn/HEAD/tree/trunk/core/smartfrog/src/org/smartfrog/examples/dynamicwebserver/apache/ to realize how SmartFrog describe the configuration of an Apache Web server component and how SmartFrog implement operations like sfDeploy and sfStart. - Based on my understanding, SmartFrog uses both .sf and .java file to describe a configuration of a component. What is the intention of having .sf and a .java file?, Why can't we use a single .java file to describe an component? - Also I could not find the concrete deployment workflow implementation of the Web server (as specified in http://www.hpl.hp.com/research/smartfrog/releasedocs/smartfrogdoc/sfDynamicWebServerExample.html#How+it+works) in here ( http://sourceforge.net/p/smartfrog/svn/HEAD/tree/trunk/core/smartfrog/src/org/smartfrog/examples/dynamicwebserver/apache/ApacheImpl.java#l77) is it implemented in any other place? On Wed, Nov 6, 2013 at 7:30 PM, Denis Weerasiri <ddw...@gm...>wrote: > Hi, > I went through your page at http://www.hpl.hp.com/research/smartfrog/ but > could not find a tutorial which explains how to implement an application > description. Can please you point me to any tutorial if there's any. > > > -- > Thanks, > Denis > ---------------------------------------------------------- > *Denis Weerasiri* > > <http://wso2.com/> <http://wso2.com/>*site: **https://sites.google.com/site/ddweerasiri/ > <https://sites.google.com/site/ddweerasiri/>* > -- Thanks, Denis ---------------------------------------------------------- *Denis Weerasiri* <http://wso2.com/> <http://wso2.com/>*site: * *https://sites.google.com/site/ddweerasiri/*<https://sites.google.com/site/ddweerasiri/> |
From: Denis W. <ddw...@gm...> - 2013-11-06 08:30:57
|
Hi, I went through your page at http://www.hpl.hp.com/research/smartfrog/ but could not find a tutorial which explains how to implement an application description. Can please you point me to any tutorial if there's any. -- Thanks, Denis ---------------------------------------------------------- *Denis Weerasiri* <http://wso2.com/> <http://wso2.com/>*site: * *https://sites.google.com/site/ddweerasiri/*<https://sites.google.com/site/ddweerasiri/> *blog: **http://ddweerasiri.blogspot.com* <http://ddweerasiri.blogspot.com/> * twitter: **http://twitter.com/ddweerasiri*<http://twitter.com/ddweerasiri> *linked-in: **http://lk.linkedin.com/in/ddweerasiri*<http://lk.linkedin.com/in/ddweerasiri> |
From: Chris P. <pac...@gm...> - 2013-05-24 11:04:55
|
Hi list. I'm trying to deploy sf plugin to eclipse. Until now, I have deployed in Eclipse and i can see the New Project -> Smartfrog. But all the Classes of SF can not be resolved. Any hint how can tell Eclipse where is the Classes of Smartfrog? I'm using Ubuntu 13.04 and i have $SFHOME=/home/chris/smartfrog-core/smartfrog/dist $SFUSERHOME=/home/chris/smartfrog-core/smartfrog/src $ECLIPSE_HOME=/usr/share/eclipse Thanks, Chris |
From: Steve L. <ste...@hp...> - 2008-11-26 16:54:47
|
Ittay Dror (Freiman) wrote: > Hi, > > I've started to look into smartfrog and ran accross the > third_generation_build_process document. I'd like to suggest that you > look into Buildr (http://incubator.apache.org/buildr). It is a Java > build tool written in Ruby and using Ruby for the build files. The > benefits is that the build file is in a real language, allowing greater > flexability, that all data structures are accessible (you can query a > project directly for its attributes without mucking with properties), > that has great support for building multiple modules, that it embraces > Maven's repository idioms and that it has a bridge to Ant for whatever > task you want. > > Ittay Hi, Yes, Buildr is interesting and it is something I ought to spend time looking at. The other thing to look at -strangely enough- are source RPM and .deb packages, which look like things to install, but really they are the source (and an optional patch list) which then get automatically compiled on the target machines. You can bring up an entire OS image from the source tree, which is almost the ultimate deployment. That doesn't mean that these package are nice to work with -they are very painful to test- but that for C/C++ open source projects its ideal: you give people the source they need, the installer compiles things in sync with your platform and every other library. As we move away from any compile phase, and purely into languages that are compiled just before execution, I think you can go further and focus entirely on having an automated test cycle -you save things and you flip over to the web browser showing you the test results and coverage... -Steve |
From: Ittay D. (Freiman) <itt...@gm...> - 2008-11-26 09:25:12
|
Hi, I've started to look into smartfrog and ran accross the third_generation_build_process document. I'd like to suggest that you look into Buildr (http://incubator.apache.org/buildr). It is a Java build tool written in Ruby and using Ruby for the build files. The benefits is that the build file is in a real language, allowing greater flexability, that all data structures are accessible (you can query a project directly for its attributes without mucking with properties), that has great support for building multiple modules, that it embraces Maven's repository idioms and that it has a bridge to Ant for whatever task you want. Ittay |
From: Johannes K. <joh...@kl...> - 2008-11-06 17:12:07
|
Hi all, I am very impressed of the idea and concept of smartfrog. However, after reading lots of documentation I didn't get a clue how to extend smartfrog to our own needs. What if I have a WebSphere Application Server and I want to do the configuration management with smartfrog? As I understand I have to write my own smartfrog component. I also understand that with the smartfrogs declarative language I define how a component should be configured and then it changes the configuration the way that it should be. If a component is already configured this way it does nothing. Okay in theory, but somehow I have to program this compare and configure and I have to provide websphere scripts or a websphere API do configure websphere, isn't it? Did I miss something or how do I implement a extension for WebSphere? regards, Johannes |
From: Steve L. <ste...@hp...> - 2008-09-15 13:13:29
|
Everyone, I'm going to do a new release this week, 3.12.042, with the jira issue associated with it up http://jira.smartfrog.org/jira/browse/SFOS-976 the last release before the OSGi support goes into trunk. Before it comes out, I want to get some recent changes to SmartFrog under control 1. the eclipse constraints code and dependencies. The initial goal here will be to let everything but constraints work in a distribution even if you dont have the relevant constraint JARs/native libs, neither of which will be included in the release 2. the changed jar signing design, http://jira.smartfrog.org/jira/browse/SFOS-879 This is tricky. We're moving from having a separate signedLib of signed artifacts, to having everything signed in the lib/ dir, and a redistributed tar file containing a custom build.xml that can be used to cut your own RPMs, after signing the JARs yourself. There are some problems with RPM upgrades here in removing the signedLib dir. ----------------------- Hewlett-Packard Limited Registered Office: Cain Road, Bracknell, Berks RG12 1HN Registered No: 690597 England |
From: Steve L. <ste...@hp...> - 2008-09-03 13:21:55
|
Steve Loughran wrote: > see that. No commits on Friday. Either go home early, leave code > un-checked-in, or break someone else's codebase instead. Speaking of > which, I am now a committer on apache hadoop. > not friday, thursday from 0400 GMT (that's 0500 UK summer, time, early morning in india, late wednesday evening from anyone in the US. Check stuff in now or hold off until Friday. |
From: Steve L. <ste...@hp...> - 2008-09-03 12:52:54
|
see that. No commits on Friday. Either go home early, leave code un-checked-in, or break someone else's codebase instead. Speaking of which, I am now a committer on apache hadoop. -------- Original Message -------- Subject: SourceForge.net Subversion service downtime scheduled 2008-09-04 Date: Tue, 2 Sep 2008 20:49:59 UT From: SourceForge.net Team <no...@so...> To: ste...@hp... On 2008-09-04 at 04:00 UTC, Subversion service write operations will be offline for no more than 24 hours. During this time, Subversion write operations (such as commit) will fail with an error. Read operations (checkout, ViewVC, etc.) will succeed as normal. This downtime is being used to migrate data on to new storage hardware and conduct performance testing. We are taking this downtime approach (leaving service online, with write operations failing) to minimize the functional impact to users. Questions or concerns regarding this downtime may be directed to SourceForge.net staff by submitting a Support Request at https://sourceforge.net/projects/alexandria/support/ Thank you, Jacob Moorman Director of Operations, SourceForge.net |
From: Goldsack, P. <pat...@hp...> - 2008-08-06 17:38:25
|
Absolutely... glad it helped. Patrick -----Original Message----- From: sma...@li... [mailto:sma...@li...] On Behalf Of Richard Achmatowicz Sent: 06 August 2008 18:28 Cc: sma...@li... Subject: Re: [Smartfrog-developer] Question on LAZY Patrick Thank you for the detailed clarification on the use of LAZY. This helped a lot. By 'structured data' I assume that you mean the ComponentDescriptionImpl which can be used for deploying the component dynamically when no deployed instance is otherwise available? By 'link', I assume you mean a reference to an existing deployed component instance (e.g. RMI stub) or existing attribute value? Richard Goldsack, Patrick wrote: > Richard, > > Much of the confusion comes from our mistake in using the same keyword for two purposes, this is a design decision that we regret and are trying to change - we have introduced an alternative keyword and are encouraging people to use the new form and are changing our examples and documentation. > > The two uses are as follows: > > LAZY references > And > LAZY components (we now prefer to use the DATA keyword). > > A reference is used to indicate how the value of an attribute is to be found and is normally resolved during language processing (resolution), the LAZY keyword defers resolution to runtime after deployment. One frequent use of this is to obtain RMI references of components that have been deployed as this is only obtainable after deployment, but other uses may be to pick up runtime attributes such as environment variables or maybe finding data or objects through naming services. > > In the case of a LAZY (DATA) component, the component is not deployed, but its description is left as structured data to be obtained in the sfResolve call. > > The use of the keywords are identified by whether "extends" occurs. Without an extends, it is a lazy link, with an extends it is a lazy component. > > X LAZY y; // lazy reference > Z extends LAZY v; // lazy component > > > looking at the two cases - the hello world is an example of LAZY reference. > > > sfConfig extends Compound { > g extends Generator { > messages ["hello"] ; > printer LAZY ATTRIB p ; > } > p extends Printer { > name "myPrinter" ; > } > } > > In this case we get a compound with two child components: g and p. The reference printer links to the component p. Since it is LAZY, and refers to a component, the result of an sfResolve call on the printer attribute is the RMI object reference of the deployed component p. > > If the printer attribute had not been LAZY, then we would have had roughly the following structure after language processing as printer becomes a copy of p. > > sfConfig extends { > ... // attributes from Compound > g extends { > ... // attributes from Generator > messages ["hello"] ; > printer extends { > ... // attributes from Printer > name "myPrinter" ; > }; > } > p extends { > ... // attributes from Printer > name "myPrinter" ; > } > } > > Since g is a Prim (as I recall), and not a Compound, the printer attribute would not become a child component. So when sfResolve is used after deployment to access the printer attribute, the structured data would be returned rather than the RMI reference of p. > > Now the LAZY (DATA) component is used to make sure that some structured data in a Compound is not deployed as a child component. > > sfConfig extends Compound { > x extends Prim {...} > y extends Prim {...} > z extends DATA Prim {...} > } > > In this case a compound will be deployed with two child components (x and y) and one structured data attribute z. The DATA keyword (previously LAZY) makes sure that the structures remain as data and are not turned to components during deployment. > > So looking at your first example (Note I have turned PrimImpl into Prim - the template is called Prim, the parent class for Java is called PrimImpl) > > X extends Prim {...} > Y extends Prim {...} > Z extends Prim {...} > > c extends CompoundImpl { > sfClass "myCImpl" ; > x extends X ; > y extends Y ; > z extends DATA Z ; > } > > The first question to ask is where the sfConfig attribute is! > > If we rewrite to > > X extends Prim {...} > Y extends Prim {...} > Z extends Prim {...} > > sfConfig extends CompoundImpl { > sfClass "myCImpl" ; > x extends X ; > y extends Y ; > z extends DATA Z ; > } > > You will end up with two components x, y. z will not be deployed but be a copy of the definition of Z. > > I hope this has helped, if more clarification do please ask as we are collecting the kinds of questions that are asked and the answers we generate for a FAQ. > > Patrick > > > -----Original Message----- > From: sma...@li... [mailto:sma...@li...] On Behalf Of Richard Achmatowicz > Sent: 05 August 2008 15:54 > To: sma...@li... > Subject: [Smartfrog-developer] Question on LAZY > > Hello > > I'm not quite clear on the use of LAZY in SF component descriptions. > > 1. My understanding was that using the LAZY keyword with a sub-component > causes that sub-component to be parsed but not deployed. > e.g. > X extends PrimImpl {...} > Y extends PrimImpl {...} > Z extends PrimImpl {...} > > c extends CompoundImpl { > sfClass "myCImpl" ; > x extends X ; > y extends Y ; > z extends LAZY Z ; > } > Again, from what I understand so far (possibly incorrect), x and y will > be parsed, deployed and their lifecycles synchronized, whereas z will > be parsed but not deployed. In order for it to be deployed, myCImpl > needs to retrieve the ComponentDescriptionImpl for z and use > sfCreateNewChild to deploy an instance of z. This instance will have > a lifecycle, but that lifecycle will not be synchronized with the > lifecycles of x and y. (c.f. SmartFrog tutorial, section 10, Dynamic > Deployment). > > 2. Given this, I was having a look through the HelloWorld example where > a Generator component contains a Printer component as a LAZY subcomponent: > Generator extends Prim { > sfClass ""GeneratorImpl" ; > frequency 10 ; > messages ["a", "b"] ; > // printer LAZY ... ; > } > > The GeneratorImpl class accepts a Printer object instance which is > obtained by a call to sfResolve: > Printer printer = (Printer) sfResolve(printerRef) ; > > In looking at the GeneratorImpl implementation, given that it accepts a > LAZY component, I was expecting to find some code in which the > ComponentDescriptionImpl was retrieved and a child component allocated, > as in the dynamic deployment example. However, I didn't find such code. > Now i'm wondering why, given that a LAZY component is parsed but not > deployed. > > I suppose my questions are: > (i) why is the dynamic deployment pattern not used in the HelloWorld case > (ii) who is deploying the Printer component > (iii) what is the recommended manner in which to deal with components > which include LAZY subcomponents > > Richard > > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Smartfrog-developer mailing list > Sma...@li... > https://lists.sourceforge.net/lists/listinfo/smartfrog-developer > ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Smartfrog-developer mailing list Sma...@li... https://lists.sourceforge.net/lists/listinfo/smartfrog-developer |
From: Richard A. <rac...@re...> - 2008-08-06 17:27:54
|
Patrick Thank you for the detailed clarification on the use of LAZY. This helped a lot. By 'structured data' I assume that you mean the ComponentDescriptionImpl which can be used for deploying the component dynamically when no deployed instance is otherwise available? By 'link', I assume you mean a reference to an existing deployed component instance (e.g. RMI stub) or existing attribute value? Richard Goldsack, Patrick wrote: > Richard, > > Much of the confusion comes from our mistake in using the same keyword for two purposes, this is a design decision that we regret and are trying to change - we have introduced an alternative keyword and are encouraging people to use the new form and are changing our examples and documentation. > > The two uses are as follows: > > LAZY references > And > LAZY components (we now prefer to use the DATA keyword). > > A reference is used to indicate how the value of an attribute is to be found and is normally resolved during language processing (resolution), the LAZY keyword defers resolution to runtime after deployment. One frequent use of this is to obtain RMI references of components that have been deployed as this is only obtainable after deployment, but other uses may be to pick up runtime attributes such as environment variables or maybe finding data or objects through naming services. > > In the case of a LAZY (DATA) component, the component is not deployed, but its description is left as structured data to be obtained in the sfResolve call. > > The use of the keywords are identified by whether "extends" occurs. Without an extends, it is a lazy link, with an extends it is a lazy component. > > X LAZY y; // lazy reference > Z extends LAZY v; // lazy component > > > looking at the two cases - the hello world is an example of LAZY reference. > > > sfConfig extends Compound { > g extends Generator { > messages ["hello"] ; > printer LAZY ATTRIB p ; > } > p extends Printer { > name "myPrinter" ; > } > } > > In this case we get a compound with two child components: g and p. The reference printer links to the component p. Since it is LAZY, and refers to a component, the result of an sfResolve call on the printer attribute is the RMI object reference of the deployed component p. > > If the printer attribute had not been LAZY, then we would have had roughly the following structure after language processing as printer becomes a copy of p. > > sfConfig extends { > ... // attributes from Compound > g extends { > ... // attributes from Generator > messages ["hello"] ; > printer extends { > ... // attributes from Printer > name "myPrinter" ; > }; > } > p extends { > ... // attributes from Printer > name "myPrinter" ; > } > } > > Since g is a Prim (as I recall), and not a Compound, the printer attribute would not become a child component. So when sfResolve is used after deployment to access the printer attribute, the structured data would be returned rather than the RMI reference of p. > > Now the LAZY (DATA) component is used to make sure that some structured data in a Compound is not deployed as a child component. > > sfConfig extends Compound { > x extends Prim {...} > y extends Prim {...} > z extends DATA Prim {...} > } > > In this case a compound will be deployed with two child components (x and y) and one structured data attribute z. The DATA keyword (previously LAZY) makes sure that the structures remain as data and are not turned to components during deployment. > > So looking at your first example (Note I have turned PrimImpl into Prim - the template is called Prim, the parent class for Java is called PrimImpl) > > X extends Prim {...} > Y extends Prim {...} > Z extends Prim {...} > > c extends CompoundImpl { > sfClass "myCImpl" ; > x extends X ; > y extends Y ; > z extends DATA Z ; > } > > The first question to ask is where the sfConfig attribute is! > > If we rewrite to > > X extends Prim {...} > Y extends Prim {...} > Z extends Prim {...} > > sfConfig extends CompoundImpl { > sfClass "myCImpl" ; > x extends X ; > y extends Y ; > z extends DATA Z ; > } > > You will end up with two components x, y. z will not be deployed but be a copy of the definition of Z. > > I hope this has helped, if more clarification do please ask as we are collecting the kinds of questions that are asked and the answers we generate for a FAQ. > > Patrick > > > -----Original Message----- > From: sma...@li... [mailto:sma...@li...] On Behalf Of Richard Achmatowicz > Sent: 05 August 2008 15:54 > To: sma...@li... > Subject: [Smartfrog-developer] Question on LAZY > > Hello > > I'm not quite clear on the use of LAZY in SF component descriptions. > > 1. My understanding was that using the LAZY keyword with a sub-component > causes that sub-component to be parsed but not deployed. > e.g. > X extends PrimImpl {...} > Y extends PrimImpl {...} > Z extends PrimImpl {...} > > c extends CompoundImpl { > sfClass "myCImpl" ; > x extends X ; > y extends Y ; > z extends LAZY Z ; > } > Again, from what I understand so far (possibly incorrect), x and y will > be parsed, deployed and their lifecycles synchronized, whereas z will > be parsed but not deployed. In order for it to be deployed, myCImpl > needs to retrieve the ComponentDescriptionImpl for z and use > sfCreateNewChild to deploy an instance of z. This instance will have > a lifecycle, but that lifecycle will not be synchronized with the > lifecycles of x and y. (c.f. SmartFrog tutorial, section 10, Dynamic > Deployment). > > 2. Given this, I was having a look through the HelloWorld example where > a Generator component contains a Printer component as a LAZY subcomponent: > Generator extends Prim { > sfClass ""GeneratorImpl" ; > frequency 10 ; > messages ["a", "b"] ; > // printer LAZY ... ; > } > > The GeneratorImpl class accepts a Printer object instance which is > obtained by a call to sfResolve: > Printer printer = (Printer) sfResolve(printerRef) ; > > In looking at the GeneratorImpl implementation, given that it accepts a > LAZY component, I was expecting to find some code in which the > ComponentDescriptionImpl was retrieved and a child component allocated, > as in the dynamic deployment example. However, I didn't find such code. > Now i'm wondering why, given that a LAZY component is parsed but not > deployed. > > I suppose my questions are: > (i) why is the dynamic deployment pattern not used in the HelloWorld case > (ii) who is deploying the Printer component > (iii) what is the recommended manner in which to deal with components > which include LAZY subcomponents > > Richard > > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Smartfrog-developer mailing list > Sma...@li... > https://lists.sourceforge.net/lists/listinfo/smartfrog-developer > |
From: Richard A. <rac...@re...> - 2008-08-06 17:09:44
|
Hello A question on the use of events in the SF workflow. Suppose I have a configuration of components which looks like this: c1 extends Parallel { p1 extends ... {...} } c2 extends Parallel { p2 extends ... {...} p3 extends ... {...} } } sfConfig extends c1 ; Here are some of the things I would like to do with events: (i) send an event from p1 to p3 only (ii) send an event from p1 to all other leaf components {p2, p3} (iii) send an event from p1 to all components {c1, c2, p2, p3} I know I can send an event from a component using a sub-component EventSend. I know I can handle an event using a subcomponent OnEvent. For example, the following code allows me to send an event from p1 to p3 (I added in a delay before sending to that the OnEvent components have a chance to start): c1 extends Parallel { p1 extends Sequence { // set up a delay to allow event handler to initialise delay extends DoNothing { time 2000 ; } // send an event to p3 sender extends EventSend { sendTo: fred LAZY ATTRIB c2:p3 ; event "apache" ; } } c2 extends Parallel { p2 extends OnEvent { singleEvent false ; // event handlers otherwise extends LAZY DoNothing { time 1000 ; message "hello from p2:otherwise" ; } } p3 extends OnEvent { singleEvent false ; // event handlers apache extends LAZY DoNothing { time 1000 ; message "hello from Apache" ; } otherwise extends LAZY DoNothing { time 1000 ; message "hello from p3:otherwise" ; } } } } sfConfig extends c1 ; One thing i'm not clear on is the use of registerWith. It appears that even if I don't make use of registerWith in this example, the events manage to reach their destinations (specified with sentTo). I also tried to send an event to p2 and p3 by sending it to c2, but that didn't work. Are there ways to make use of registerWith in order to implement the use cases (ii) and (iii)? Richard |
From: Goldsack, P. <pat...@hp...> - 2008-08-05 19:03:46
|
Richard, Much of the confusion comes from our mistake in using the same keyword for two purposes, this is a design decision that we regret and are trying to change - we have introduced an alternative keyword and are encouraging people to use the new form and are changing our examples and documentation. The two uses are as follows: LAZY references And LAZY components (we now prefer to use the DATA keyword). A reference is used to indicate how the value of an attribute is to be found and is normally resolved during language processing (resolution), the LAZY keyword defers resolution to runtime after deployment. One frequent use of this is to obtain RMI references of components that have been deployed as this is only obtainable after deployment, but other uses may be to pick up runtime attributes such as environment variables or maybe finding data or objects through naming services. In the case of a LAZY (DATA) component, the component is not deployed, but its description is left as structured data to be obtained in the sfResolve call. The use of the keywords are identified by whether "extends" occurs. Without an extends, it is a lazy link, with an extends it is a lazy component. X LAZY y; // lazy reference Z extends LAZY v; // lazy component looking at the two cases - the hello world is an example of LAZY reference. sfConfig extends Compound { g extends Generator { messages ["hello"] ; printer LAZY ATTRIB p ; } p extends Printer { name "myPrinter" ; } } In this case we get a compound with two child components: g and p. The reference printer links to the component p. Since it is LAZY, and refers to a component, the result of an sfResolve call on the printer attribute is the RMI object reference of the deployed component p. If the printer attribute had not been LAZY, then we would have had roughly the following structure after language processing as printer becomes a copy of p. sfConfig extends { ... // attributes from Compound g extends { ... // attributes from Generator messages ["hello"] ; printer extends { ... // attributes from Printer name "myPrinter" ; }; } p extends { ... // attributes from Printer name "myPrinter" ; } } Since g is a Prim (as I recall), and not a Compound, the printer attribute would not become a child component. So when sfResolve is used after deployment to access the printer attribute, the structured data would be returned rather than the RMI reference of p. Now the LAZY (DATA) component is used to make sure that some structured data in a Compound is not deployed as a child component. sfConfig extends Compound { x extends Prim {...} y extends Prim {...} z extends DATA Prim {...} } In this case a compound will be deployed with two child components (x and y) and one structured data attribute z. The DATA keyword (previously LAZY) makes sure that the structures remain as data and are not turned to components during deployment. So looking at your first example (Note I have turned PrimImpl into Prim - the template is called Prim, the parent class for Java is called PrimImpl) X extends Prim {...} Y extends Prim {...} Z extends Prim {...} c extends CompoundImpl { sfClass "myCImpl" ; x extends X ; y extends Y ; z extends DATA Z ; } The first question to ask is where the sfConfig attribute is! If we rewrite to X extends Prim {...} Y extends Prim {...} Z extends Prim {...} sfConfig extends CompoundImpl { sfClass "myCImpl" ; x extends X ; y extends Y ; z extends DATA Z ; } You will end up with two components x, y. z will not be deployed but be a copy of the definition of Z. I hope this has helped, if more clarification do please ask as we are collecting the kinds of questions that are asked and the answers we generate for a FAQ. Patrick -----Original Message----- From: sma...@li... [mailto:sma...@li...] On Behalf Of Richard Achmatowicz Sent: 05 August 2008 15:54 To: sma...@li... Subject: [Smartfrog-developer] Question on LAZY Hello I'm not quite clear on the use of LAZY in SF component descriptions. 1. My understanding was that using the LAZY keyword with a sub-component causes that sub-component to be parsed but not deployed. e.g. X extends PrimImpl {...} Y extends PrimImpl {...} Z extends PrimImpl {...} c extends CompoundImpl { sfClass "myCImpl" ; x extends X ; y extends Y ; z extends LAZY Z ; } Again, from what I understand so far (possibly incorrect), x and y will be parsed, deployed and their lifecycles synchronized, whereas z will be parsed but not deployed. In order for it to be deployed, myCImpl needs to retrieve the ComponentDescriptionImpl for z and use sfCreateNewChild to deploy an instance of z. This instance will have a lifecycle, but that lifecycle will not be synchronized with the lifecycles of x and y. (c.f. SmartFrog tutorial, section 10, Dynamic Deployment). 2. Given this, I was having a look through the HelloWorld example where a Generator component contains a Printer component as a LAZY subcomponent: Generator extends Prim { sfClass ""GeneratorImpl" ; frequency 10 ; messages ["a", "b"] ; // printer LAZY ... ; } The GeneratorImpl class accepts a Printer object instance which is obtained by a call to sfResolve: Printer printer = (Printer) sfResolve(printerRef) ; In looking at the GeneratorImpl implementation, given that it accepts a LAZY component, I was expecting to find some code in which the ComponentDescriptionImpl was retrieved and a child component allocated, as in the dynamic deployment example. However, I didn't find such code. Now i'm wondering why, given that a LAZY component is parsed but not deployed. I suppose my questions are: (i) why is the dynamic deployment pattern not used in the HelloWorld case (ii) who is deploying the Printer component (iii) what is the recommended manner in which to deal with components which include LAZY subcomponents Richard ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Smartfrog-developer mailing list Sma...@li... https://lists.sourceforge.net/lists/listinfo/smartfrog-developer |
From: Richard A. <rac...@re...> - 2008-08-05 17:58:52
|
OK. How about I try to answer my own question. Here is the helloworld example: sfConfig extends Compound { g extends Generator { messages ["hello"] ; printer LAZY ATTRIB p ; } p extends Printer { name "myPrinter" ; } } Although the printer subcomponent of g is declared as LAZY, it also has a value assigned to it, via the ATTRIB p expression. This refers to an instance of component Printer *which has been allocated* in the same compound configuration. So when GeneratorImpl starts up, it can use the statement Printer printer = (Printer) sfResolve(printerRef) ; to obtain an RMI stub to that existing Printer instance, and so there is no need to dynamically deploy an instance. I suppose dynamic deployment only applies if we need to deploy a component which has not been deployed in any other part of the smart frog configuration. Richard Richard Achmatowicz wrote: > Hello > > I'm not quite clear on the use of LAZY in SF component descriptions. > > 1. My understanding was that using the LAZY keyword with a sub-component > causes that sub-component to be parsed but not deployed. > e.g. > X extends PrimImpl {...} > Y extends PrimImpl {...} > Z extends PrimImpl {...} > > c extends CompoundImpl { > sfClass "myCImpl" ; > x extends X ; > y extends Y ; > z extends LAZY Z ; > } > Again, from what I understand so far (possibly incorrect), x and y will > be parsed, deployed and their lifecycles synchronized, whereas z will > be parsed but not deployed. In order for it to be deployed, myCImpl > needs to retrieve the ComponentDescriptionImpl for z and use > sfCreateNewChild to deploy an instance of z. This instance will have > a lifecycle, but that lifecycle will not be synchronized with the > lifecycles of x and y. (c.f. SmartFrog tutorial, section 10, Dynamic > Deployment). > > 2. Given this, I was having a look through the HelloWorld example where > a Generator component contains a Printer component as a LAZY subcomponent: > Generator extends Prim { > sfClass ""GeneratorImpl" ; > frequency 10 ; > messages ["a", "b"] ; > // printer LAZY ... ; > } > > The GeneratorImpl class accepts a Printer object instance which is > obtained by a call to sfResolve: > Printer printer = (Printer) sfResolve(printerRef) ; > > In looking at the GeneratorImpl implementation, given that it accepts a > LAZY component, I was expecting to find some code in which the > ComponentDescriptionImpl was retrieved and a child component allocated, > as in the dynamic deployment example. However, I didn't find such code. > Now i'm wondering why, given that a LAZY component is parsed but not > deployed. > > I suppose my questions are: > (i) why is the dynamic deployment pattern not used in the HelloWorld case > (ii) who is deploying the Printer component > (iii) what is the recommended manner in which to deal with components > which include LAZY subcomponents > > Richard > > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Smartfrog-developer mailing list > Sma...@li... > https://lists.sourceforge.net/lists/listinfo/smartfrog-developer > |
From: Richard A. <rac...@re...> - 2008-08-05 14:53:49
|
Hello I'm not quite clear on the use of LAZY in SF component descriptions. 1. My understanding was that using the LAZY keyword with a sub-component causes that sub-component to be parsed but not deployed. e.g. X extends PrimImpl {...} Y extends PrimImpl {...} Z extends PrimImpl {...} c extends CompoundImpl { sfClass "myCImpl" ; x extends X ; y extends Y ; z extends LAZY Z ; } Again, from what I understand so far (possibly incorrect), x and y will be parsed, deployed and their lifecycles synchronized, whereas z will be parsed but not deployed. In order for it to be deployed, myCImpl needs to retrieve the ComponentDescriptionImpl for z and use sfCreateNewChild to deploy an instance of z. This instance will have a lifecycle, but that lifecycle will not be synchronized with the lifecycles of x and y. (c.f. SmartFrog tutorial, section 10, Dynamic Deployment). 2. Given this, I was having a look through the HelloWorld example where a Generator component contains a Printer component as a LAZY subcomponent: Generator extends Prim { sfClass ""GeneratorImpl" ; frequency 10 ; messages ["a", "b"] ; // printer LAZY ... ; } The GeneratorImpl class accepts a Printer object instance which is obtained by a call to sfResolve: Printer printer = (Printer) sfResolve(printerRef) ; In looking at the GeneratorImpl implementation, given that it accepts a LAZY component, I was expecting to find some code in which the ComponentDescriptionImpl was retrieved and a child component allocated, as in the dynamic deployment example. However, I didn't find such code. Now i'm wondering why, given that a LAZY component is parsed but not deployed. I suppose my questions are: (i) why is the dynamic deployment pattern not used in the HelloWorld case (ii) who is deploying the Printer component (iii) what is the recommended manner in which to deal with components which include LAZY subcomponents Richard |
From: Goldsack, P. <pat...@hp...> - 2008-07-14 14:50:47
|
Hello, For the last year or so we have stopped supporting Java 1.4.2 and earlier versions of Java. We test and support on java 1.5 and up. I suspect that the problem you are getting is related to this. I apologise if this is a problem for you, but some of the features of 1.5 were necessary. If the documentation is incorrect to this effect, please let me know where that is the case. If you need any other help, please do not hesitate to contact us. Regards, Patrick From: sma...@li... [mailto:sma...@li...] On Behalf Of Nicoleta Sergi Sent: 10 July 2008 08:55 To: sma...@li... Subject: [Smartfrog-developer] Help : Problem with SFGui Hi, I've installed SmartFrog from http://sourceforge.net/projects/smartfrog and I don't have the editor SFGui under <SFHOME>\bin\ directory. I also haven't the executable \bin\GuiCFG.bat. I have installed jdk 1.4.2.8<http://1.4.2.8/> and Ant. If I try to launch the sfDaemon I obtain something like this: C:\Program Files\smartfrog\bin>sfDaemon Exception in thread "main" java.lang.UnsupportedClassVersionError: org/smartfrog /SFSystem (Unsupported major.minor version 49.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) I want to use SmartFrog to deploy an application over several HP-UX servers. For the moment I try to test the adaptability of SmartFrog at my context. Could you tell me what I did wrong or where do I find SFGui ? The attached file shows my installation tree directory. Thanks for help Nicoleta |
From: Steve L. <ste...@hp...> - 2008-05-06 13:42:34
|
Julio moved us over to ivy 2.0.0 last week; some of the adverse consequences of this have only just surfaced -ivy doesnt like you redefining the tasks in a different classloader (always a risk of a memory leak there) -ivy gets very upset if you reload a configuration more than once The effect was to (a) stop you running two targets across all projects, such as in the core/ dir, going ant clean clean (b) cause problems if you had external builds that also had ivy files, and which the core/build ivy-managed runs picked up. I've fixed these by not reloading ivy if present, and skipping reloading the settings if Ivy is present. We are still likely to break if there are external projects in external/ with ivy.xml files, as they need the same changes. There are also some other changes that are less critical -the namespace for antlibs that you should use has changed -the ivy:configure task is now deprecated, replaced with <ivy:settings> -the names of some of the elements in the ivy configuration file has changed. I've applied all the changes I can, don't be afraid to complain if things break -steve -- ----------------------- Hewlett-Packard Limited Registered Office: Cain Road, Bracknell, Berks RG12 1HN Registered No: 690597 England |
From: Steve L. <ste...@hp...> - 2008-03-07 10:09:08
|
Two little announcements on the SourceForge site: 2008-03-06 14:21:20 - Project CVS Service, Project Shell Service, Project Subversion (SVN) Service ) As of 2:20PM Pacific time, project shell, CVS, and Subversion services will be unavailable for system maintenance. ( 2008-03-06 14:23:47 - SourceForge.net Web Site ) In support of improved security, all SourceForge.net user passwords have been expired and must be changed upon next login. CVS, Subversion and Shell users will need to login to the site to change their password before they will be able to access these services. I'm going to assume that these events are related; someone needed to lock down the system after a security incident, and they don't know what passwords have been acquired. We need to assume the worst. 1. Follow the instructions; change the password. 2. If you have been logging in to shell.sf.net and then using ssh to connect to another site, assume your password has been grabbed. Change it. 3. If you have used the same password(s) anywhere else (a very bad practise) change them too. -Steve -- ----------------------- Hewlett-Packard Limited Registered Office: Cain Road, Bracknell, Berks RG12 1HN Registered No: 690597 England |
From: <DGe...@wi...> - 2008-02-26 19:17:51
|
Steve, We are using RedHat 3.x/4.x/5.x as OS. I will try both approaches with and without using the jboss4.sf description file. Playing with the different SF components will give me more opportunities to taste the capabilities of SmartFrog and create ideas about other areas of our environment where SF could be used. I will follow up with questions and/or requests for help probably. thanks, Dimitar Steve Loughran <ste...@hp...> Sent by: sma...@li... 02/25/2008 09:56 AM To DGe...@wi... cc sma...@li... Subject Re: [Smartfrog-developer] Using smart-frog to automate management of JBoss DGe...@wi... wrote: > HI Steve, > > Sorry for this late follow up. Other work interfered. > > I used the time to read SF documentation. There s lots of documentation > and I am still going through it. I am trying to understand how to combine > different components to accomplish usual administrative tasks with the > application servers. > > To make things simpler I would try to use some of the infrastructure that > is already in place. There is a bash script can reliably stop, start and > restart JBoss and Apache servers in predefined sequence. My first goal > would be to integrate this script with SF. I have noticed that SF provides > ShellScript and SSH under core and optional services. The ShellScript > service could be used to run the bash control script and SSH to transfer > the new application file (EAR or WAR) to all of the targeted hosts. I > would also like to test SmartFrog installer component. It could help us > push SF to new nodes from a central location. which OS are you targeting ? Windows, Linux, Unix? We have some RPMs that are up to use in production, though I need provide a way for a specific farm to use their own security keys in the RPMs. > > Initially I would like to do the following thing > 1) Control JBoss and apache using SF and our control bash script. It would > be nice if the SF component could report back to the server about the > status of JBoss. > > 2) Implement deploy procedure. > - The admin should signal SF nodes that they should start the > deployment > - Each node downloads the EAR/WAR file from a central repository. > We must use SFTP/SCP for this task. FTP service is not enabled for > security reasons. > - The integrity of the EAR file is checked (jar -tf foo.ear) > - JBoss/Apache stopped using the bash script > - New EAR file deployed > - JBoss/Apache started using the bash script > > In parallel we could work with Cargo to replicate all the features that > the bash script provides. I have the feeling that would take some time to > complete. If I understood you correctly you need to finish the > integration of Cargo with SF first. > > And one more thing. I believe that the jboss4.sf declaration is tied to > the use of Cargo, right? The way I've done JBoss work in the past is to use this jboss4.sf /org/smartfrog/services/www/servers/jboss4.sf its under components/www/src; it uses the Java component to start the JVM (taking away the need for jboss.bat or .sh) and then uses our DeployByCopy component to copy WAR/EAR files on deploy, delete them on undeploy. Thinking of it, an SSHDeployByCopy would be nice, something to scp the file on startup, and to issue an sshexec "rm" on undepoy. Regarding system health, the RunJava component doesnt do anything; it just terminates itself if the program it is executing finishes. I normally use the LivenessPage component which checks a specific web page for returning an HTTP status code in range, as this is the best way to tell that a web page is live. > > Please let me know if everything I said make sense. If, yes, I will start > implementing #1 and #2. I might need some help from you to complete them. > I will work with you on using and testing a configuration that > incorporates Cargo. I dont think we need cargo. That said, I have marked as fixed the 'cargo is broken' defetcs http://jira.smartfrog.org/jira/browse/SFOS-152 http://jira.smartfrog.org/jira/browse/SFOS-138 As I committed a lot of test changes, I'm assuming they were fixed. -steve ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Smartfrog-developer mailing list Sma...@li... https://lists.sourceforge.net/lists/listinfo/smartfrog-developer |
From: Steve L. <ste...@hp...> - 2008-02-25 14:58:19
|
DGe...@wi... wrote: > HI Steve, > > Sorry for this late follow up. Other work interfered. > > I used the time to read SF documentation. There s lots of documentation > and I am still going through it. I am trying to understand how to combine > different components to accomplish usual administrative tasks with the > application servers. > > To make things simpler I would try to use some of the infrastructure that > is already in place. There is a bash script can reliably stop, start and > restart JBoss and Apache servers in predefined sequence. My first goal > would be to integrate this script with SF. I have noticed that SF provides > ShellScript and SSH under core and optional services. The ShellScript > service could be used to run the bash control script and SSH to transfer > the new application file (EAR or WAR) to all of the targeted hosts. I > would also like to test SmartFrog installer component. It could help us > push SF to new nodes from a central location. which OS are you targeting ? Windows, Linux, Unix? We have some RPMs that are up to use in production, though I need provide a way for a specific farm to use their own security keys in the RPMs. > > Initially I would like to do the following thing > 1) Control JBoss and apache using SF and our control bash script. It would > be nice if the SF component could report back to the server about the > status of JBoss. > > 2) Implement deploy procedure. > - The admin should signal SF nodes that they should start the > deployment > - Each node downloads the EAR/WAR file from a central repository. > We must use SFTP/SCP for this task. FTP service is not enabled for > security reasons. > - The integrity of the EAR file is checked (jar -tf foo.ear) > - JBoss/Apache stopped using the bash script > - New EAR file deployed > - JBoss/Apache started using the bash script > > In parallel we could work with Cargo to replicate all the features that > the bash script provides. I have the feeling that would take some time to > complete. If I understood you correctly you need to finish the > integration of Cargo with SF first. > > And one more thing. I believe that the jboss4.sf declaration is tied to > the use of Cargo, right? The way I've done JBoss work in the past is to use this jboss4.sf /org/smartfrog/services/www/servers/jboss4.sf its under components/www/src; it uses the Java component to start the JVM (taking away the need for jboss.bat or .sh) and then uses our DeployByCopy component to copy WAR/EAR files on deploy, delete them on undeploy. Thinking of it, an SSHDeployByCopy would be nice, something to scp the file on startup, and to issue an sshexec "rm" on undepoy. Regarding system health, the RunJava component doesnt do anything; it just terminates itself if the program it is executing finishes. I normally use the LivenessPage component which checks a specific web page for returning an HTTP status code in range, as this is the best way to tell that a web page is live. > > Please let me know if everything I said make sense. If, yes, I will start > implementing #1 and #2. I might need some help from you to complete them. > I will work with you on using and testing a configuration that > incorporates Cargo. I dont think we need cargo. That said, I have marked as fixed the 'cargo is broken' defetcs http://jira.smartfrog.org/jira/browse/SFOS-152 http://jira.smartfrog.org/jira/browse/SFOS-138 As I committed a lot of test changes, I'm assuming they were fixed. -steve |
From: <DGe...@wi...> - 2008-02-22 16:44:45
|
HI Steve, Sorry for this late follow up. Other work interfered. I used the time to read SF documentation. There s lots of documentation and I am still going through it. I am trying to understand how to combine different components to accomplish usual administrative tasks with the application servers. To make things simpler I would try to use some of the infrastructure that is already in place. There is a bash script can reliably stop, start and restart JBoss and Apache servers in predefined sequence. My first goal would be to integrate this script with SF. I have noticed that SF provides ShellScript and SSH under core and optional services. The ShellScript service could be used to run the bash control script and SSH to transfer the new application file (EAR or WAR) to all of the targeted hosts. I would also like to test SmartFrog installer component. It could help us push SF to new nodes from a central location. Initially I would like to do the following thing 1) Control JBoss and apache using SF and our control bash script. It would be nice if the SF component could report back to the server about the status of JBoss. 2) Implement deploy procedure. - The admin should signal SF nodes that they should start the deployment - Each node downloads the EAR/WAR file from a central repository. We must use SFTP/SCP for this task. FTP service is not enabled for security reasons. - The integrity of the EAR file is checked (jar -tf foo.ear) - JBoss/Apache stopped using the bash script - New EAR file deployed - JBoss/Apache started using the bash script In parallel we could work with Cargo to replicate all the features that the bash script provides. I have the feeling that would take some time to complete. If I understood you correctly you need to finish the integration of Cargo with SF first. And one more thing. I believe that the jboss4.sf declaration is tied to the use of Cargo, right? Please let me know if everything I said make sense. If, yes, I will start implementing #1 and #2. I might need some help from you to complete them. I will work with you on using and testing a configuration that incorporates Cargo. Thanks, Dimitar Georgievski ---------------------------------------- Senior Unix Admin Electronic Support Services John Wiley & Sons, Inc. Tel: 201.748.5867 Cell: 917.295.1462 email: dge...@wi... ---------------------------------------- Steve Loughran <ste...@hp...> Sent by: sma...@li... 01/09/2008 09:46 AM To DGe...@wi... cc sma...@li... Subject Re: [Smartfrog-developer] Using smart-frog to automate management of JBoss DGe...@wi... wrote: > Hi, > > I am new to the list and SmartFrog. I would like to find out if anyone has > used SmartFrog to automate deployments and configuration management of > JBoss servers. Our company in increasingly using them for hosting of > large volume Web applications. We reached the point when the automation of > their administration is needed. > > I've already read the documentation and was pleased with the capabilities > of SmartFrog. Our concerns are related in great part to reliability, > scalability and performance penalties (CPU mainly) caused by introduction > of SmartFrog on a production host. It would be nice to hear expereinces > from other users. One things are running, there's minimal CPU overhead. The only load on running systems is liveness, where a thread walks down the tree checking that everything is alive, according to their sfPing() methods. Components that do heavier work here (such as issue SQL commands or GET urls) can put load on the system. To manage this you can control the frequency of liveness checks. Memory footprint is a function of how many components are deployed...you can get away with the SmartFrog JVM being relatively small, and starting JBoss in its own process. > Since SmartFrog is a framework we would need to invest significant effort > in building and testing the components required to support our > requirements. There is already a declaration to start up JBoss, extending the server-neutral deploy-by-copy www server, that handles deployment of things underneath just by copying the JAR files to a target directory. Here's the URL to the descriptor http://smartfrog.svn.sourceforge.net/viewvc/smartfrog/trunk/core/components/www/src/org/smartfrog/services/www/servers/jboss4.sf?view=markup To actually start JBoss, we just set up the Java component with the right arguments, and add the JDK's tools.jar to the classpath, which is needed to compile JSP pages. I've also played with using Cargo under SmartFrog to manage the start/stop; Cargo is the tool from codehaus that can start/stop lots of different application servers: http://cargo.codehaus.org/ As I recall, Cargo 0.8 was breaking with an NPE, and when I moved up to cargo 0.9. all our tests broke ( http://jira.smartfrog.org/jira/browse/SFOS-138 ). I haven't been doing any work on cargo since may/june. Beyond that, there is JMX configuration. We do have a jmx component bundle, sf-jmx, that uses MX4J; we've been pondering moving to Java 5 JMX instead, which would make for a lighter distribution. The JMX integration is two way: SF components become JMX configurable; JMX MBeans can be set under SmartFrog. We've not looked at starting JBoss this way -yet. I'd recommend you start with the jboss4.sf template, which ships within the sf-www component, then put enough pressure on me to bring the Cargo component up to cargo 0.9 and get the tests working again. Once we have those tests stable we can turn them on in the continuous integration servers, which stops any regressions creeping in to the SmartFrog side of the codebase. Any tests you can contribute here would be beneficial -currently we create a test WAR that we deploy in jetty, tomcat and jboss -I don't test EAR files, or the JBoss-specific SAR files. It would be good to create some of these and something that deploys anything else that is JBoss-specific. As you're interested in JBoss support, I can put more some time into it, especially if you are willing to help with testing what I'm doing. What platform are you likely to run underneath -windows/unix? and which JVM? >I am curious if anyone has tried to build a GUI that would > simplify the automation tasks. We have an Eclipse plugin, and a NetBeans component was contributed -I've been working on the latter recently but I havent cut a release of it yet. These are both essentially text editor modes with some ways of running SmartFrog. -Steve ----------------------- Hewlett-Packard Limited Registered Office: Cain Road, Bracknell, Berks RG12 1HN Registered No: 690597 England ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace _______________________________________________ Smartfrog-developer mailing list Sma...@li... https://lists.sourceforge.net/lists/listinfo/smartfrog-developer |
From: Guijarro, J. <jul...@hp...> - 2008-02-20 10:29:34
|
Hi everyone, Yesterday I updated JavaCC from version 3.2 to version 4.0. This change will only affect those of you checking out updates directly from SVN; if this is your case you will need to remove the .java files that JavaCC creates in the directory: /src/org/smartfrog/sfcore/languages/sf/. Once you have removed those files the new JavaCC will recreate a new version and everything should work as before. This change should be transparent for everybody else. Regards, Julio Guijarro. |
From: <DGe...@wi...> - 2008-01-09 16:01:59
|
Hi Steve, In our environment JBoss 4.x is running on - RHEL 3 and 4 - Sun JVM 1.4.2 and 1.5.0. Most of the times JBoss is deployed together with Apache 2.x. Some more complex deployments have also Squid caching servers and Terracotta (http://www.terracotta.org) servers for clustering of Java applications. There are many smaller applications hosted on stand-alone Tomcat 5.x/Apache 2.x servers running on either Solaris 5.9 and RHEL 3/4. We would like to be able to control them too. There is also some number of older WebSphere applications running on Solaris 5.9 and IBM Java 1.4.x. They are not our primary target for our planned automation solution so we'll leave them for later. I'll be glad to help with the testing. If SmartFrog works for us we'll extend it to all our systems and standardize on it. The three most important features we are looking at the beginning in any automation solution are: a) Executing a sequence. Example of a simple one is stop Apache -> restart JBoss -> start Apache b) Task scheduling. Example: Restart all servers for application A in predetermined order at 5 am on Sat morning. If something goes wrong with unattended restart the on-call person needs to be alerted. When we get comfortable with a) and b) we would start implementing and testing deployments of the application.. At the beginning they would be initiated by an administrator but at a later phase we would like to schedule the deployment and do it automatically. At the moment I am still reading the SmartFrog documentation. Please let me do some initial testing and get familiar with the framework and then we can start. I need couple of days. Thanks for the help! Dimitar Georgievski ---------------------------------------- Senior Unix Admin Electronic Support Services John Wiley & Sons, Inc. email: dge...@wi... ---------------------------------------- Steve Loughran <ste...@hp...> 01/09/2008 09:46 AM To DGe...@wi... cc sma...@li... Subject Re: [Smartfrog-developer] Using smart-frog to automate management of JBoss DGe...@wi... wrote: > Hi, > > I am new to the list and SmartFrog. I would like to find out if anyone has > used SmartFrog to automate deployments and configuration management of > JBoss servers. Our company in increasingly using them for hosting of > large volume Web applications. We reached the point when the automation of > their administration is needed. > > I've already read the documentation and was pleased with the capabilities > of SmartFrog. Our concerns are related in great part to reliability, > scalability and performance penalties (CPU mainly) caused by introduction > of SmartFrog on a production host. It would be nice to hear expereinces > from other users. One things are running, there's minimal CPU overhead. The only load on running systems is liveness, where a thread walks down the tree checking that everything is alive, according to their sfPing() methods. Components that do heavier work here (such as issue SQL commands or GET urls) can put load on the system. To manage this you can control the frequency of liveness checks. Memory footprint is a function of how many components are deployed...you can get away with the SmartFrog JVM being relatively small, and starting JBoss in its own process. > Since SmartFrog is a framework we would need to invest significant effort > in building and testing the components required to support our > requirements. There is already a declaration to start up JBoss, extending the server-neutral deploy-by-copy www server, that handles deployment of things underneath just by copying the JAR files to a target directory. Here's the URL to the descriptor http://smartfrog.svn.sourceforge.net/viewvc/smartfrog/trunk/core/components/www/src/org/smartfrog/services/www/servers/jboss4.sf?view=markup To actually start JBoss, we just set up the Java component with the right arguments, and add the JDK's tools.jar to the classpath, which is needed to compile JSP pages. I've also played with using Cargo under SmartFrog to manage the start/stop; Cargo is the tool from codehaus that can start/stop lots of different application servers: http://cargo.codehaus.org/ As I recall, Cargo 0.8 was breaking with an NPE, and when I moved up to cargo 0.9. all our tests broke ( http://jira.smartfrog.org/jira/browse/SFOS-138 ). I haven't been doing any work on cargo since may/june. Beyond that, there is JMX configuration. We do have a jmx component bundle, sf-jmx, that uses MX4J; we've been pondering moving to Java 5 JMX instead, which would make for a lighter distribution. The JMX integration is two way: SF components become JMX configurable; JMX MBeans can be set under SmartFrog. We've not looked at starting JBoss this way -yet. I'd recommend you start with the jboss4.sf template, which ships within the sf-www component, then put enough pressure on me to bring the Cargo component up to cargo 0.9 and get the tests working again. Once we have those tests stable we can turn them on in the continuous integration servers, which stops any regressions creeping in to the SmartFrog side of the codebase. Any tests you can contribute here would be beneficial -currently we create a test WAR that we deploy in jetty, tomcat and jboss -I don't test EAR files, or the JBoss-specific SAR files. It would be good to create some of these and something that deploys anything else that is JBoss-specific. As you're interested in JBoss support, I can put more some time into it, especially if you are willing to help with testing what I'm doing. What platform are you likely to run underneath -windows/unix? and which JVM? >I am curious if anyone has tried to build a GUI that would > simplify the automation tasks. We have an Eclipse plugin, and a NetBeans component was contributed -I've been working on the latter recently but I havent cut a release of it yet. These are both essentially text editor modes with some ways of running SmartFrog. -Steve ----------------------- Hewlett-Packard Limited Registered Office: Cain Road, Bracknell, Berks RG12 1HN Registered No: 690597 England |
From: Steve L. <ste...@hp...> - 2008-01-09 14:49:21
|
DGe...@wi... wrote: > Hi, > > I am new to the list and SmartFrog. I would like to find out if anyone has > used SmartFrog to automate deployments and configuration management of > JBoss servers. Our company in increasingly using them for hosting of > large volume Web applications. We reached the point when the automation of > their administration is needed. > > I've already read the documentation and was pleased with the capabilities > of SmartFrog. Our concerns are related in great part to reliability, > scalability and performance penalties (CPU mainly) caused by introduction > of SmartFrog on a production host. It would be nice to hear expereinces > from other users. One things are running, there's minimal CPU overhead. The only load on running systems is liveness, where a thread walks down the tree checking that everything is alive, according to their sfPing() methods. Components that do heavier work here (such as issue SQL commands or GET urls) can put load on the system. To manage this you can control the frequency of liveness checks. Memory footprint is a function of how many components are deployed...you can get away with the SmartFrog JVM being relatively small, and starting JBoss in its own process. > Since SmartFrog is a framework we would need to invest significant effort > in building and testing the components required to support our > requirements. There is already a declaration to start up JBoss, extending the server-neutral deploy-by-copy www server, that handles deployment of things underneath just by copying the JAR files to a target directory. Here's the URL to the descriptor http://smartfrog.svn.sourceforge.net/viewvc/smartfrog/trunk/core/components/www/src/org/smartfrog/services/www/servers/jboss4.sf?view=markup To actually start JBoss, we just set up the Java component with the right arguments, and add the JDK's tools.jar to the classpath, which is needed to compile JSP pages. I've also played with using Cargo under SmartFrog to manage the start/stop; Cargo is the tool from codehaus that can start/stop lots of different application servers: http://cargo.codehaus.org/ As I recall, Cargo 0.8 was breaking with an NPE, and when I moved up to cargo 0.9. all our tests broke ( http://jira.smartfrog.org/jira/browse/SFOS-138 ). I haven't been doing any work on cargo since may/june. Beyond that, there is JMX configuration. We do have a jmx component bundle, sf-jmx, that uses MX4J; we've been pondering moving to Java 5 JMX instead, which would make for a lighter distribution. The JMX integration is two way: SF components become JMX configurable; JMX MBeans can be set under SmartFrog. We've not looked at starting JBoss this way -yet. I'd recommend you start with the jboss4.sf template, which ships within the sf-www component, then put enough pressure on me to bring the Cargo component up to cargo 0.9 and get the tests working again. Once we have those tests stable we can turn them on in the continuous integration servers, which stops any regressions creeping in to the SmartFrog side of the codebase. Any tests you can contribute here would be beneficial -currently we create a test WAR that we deploy in jetty, tomcat and jboss -I don't test EAR files, or the JBoss-specific SAR files. It would be good to create some of these and something that deploys anything else that is JBoss-specific. As you're interested in JBoss support, I can put more some time into it, especially if you are willing to help with testing what I'm doing. What platform are you likely to run underneath -windows/unix? and which JVM? >I am curious if anyone has tried to build a GUI that would > simplify the automation tasks. We have an Eclipse plugin, and a NetBeans component was contributed -I've been working on the latter recently but I havent cut a release of it yet. These are both essentially text editor modes with some ways of running SmartFrog. -Steve ----------------------- Hewlett-Packard Limited Registered Office: Cain Road, Bracknell, Berks RG12 1HN Registered No: 690597 England |
From: <DGe...@wi...> - 2008-01-07 19:56:51
|
Hi, I am new to the list and SmartFrog. I would like to find out if anyone has used SmartFrog to automate deployments and configuration management of JBoss servers. Our company in increasingly using them for hosting of large volume Web applications. We reached the point when the automation of their administration is needed. I've already read the documentation and was pleased with the capabilities of SmartFrog. Our concerns are related in great part to reliability, scalability and performance penalties (CPU mainly) caused by introduction of SmartFrog on a production host. It would be nice to hear expereinces from other users. Since SmartFrog is a framework we would need to invest significant effort in building and testing the components required to support our requirements. I am curious if anyone has tried to build a GUI that would simplify the automation tasks. Thanks, Dimitar Georgievski ---------------------------------------- Senior Unix Admin Electronic Support Services John Wiley & Sons, Inc. email: dge...@wi... ---------------------------------------- |