On Oct 3, 2007, at 8:57 AM, Eugene Kuleshov wrote:

>
>   I've committed additional improvements for Terracotta plugin for  
> Maven
> to support Cargo for running web application containers. I will update
> plugin wiki page later today or tomorrow, but those who are interested
> can look at \tc-maven-plugin\examples\tc-maven-webapp to get a sneak
> peak. There are still issues related to CDV-444 and CDV-435, so you  
> may
> not be able to run this stuff without some additional tweaking until
> those issues are resolved.
>
>   It is now possible to add Cargo configuration inside <process>  
> element
> that tells tc:run goal how to start processes with DSO enabled.  
> There is
> a working example for Tomcat, but I haven't figured out how to run
> clustered Jetty this way. I will send a separate email about that.
>
>   The following example will download Tomcat 5.5, install it locally,
> and start 2 nodes configured with Terracotta. Also when it is used  
> from
> project that has war packaging it will also automatically deploy that
> war to those containers and it all done from simple "mvn tc:run"
>
>           <plugin>
>             <groupId>org.terracotta.maven.plugins</groupId>
>             <artifactId>tc-maven-plugin</artifactId>
>             <version>0.0.5-SNAPSHOT</version>
>             <configuration>
>               <processes>
>                 <process nodeName="cargo" count="2">
>                   <container>
>                     <containerId>tomcat5x</containerId>
>                     <zipUrlInstaller>
>
> <url>http://www.apache.org/dist/tomcat/tomcat-5/v5.5.25/bin/apache- 
> tomcat-5.5.25.zip</url>
>                       <installDir>${user.home}/cargo/tomcat5x</ 
> installDir>
>                     </zipUrlInstaller>
>                   </container>
>                 </process>
>               </processes>
>             </configuration>
>           </plugin>
>
>   Note that in this case clustered tomcats will keep running and to  
> stop
> them you could use "mvn tc:terminate".
>
>   tc-maven-webapp also have an example how above configuration can be
> placed into a profile, so you could quickly flip app server from the
> command line "mvn -Ptomcat5x tc:run"
>
>   There is also example how to start clustered containers for running
> integration test (see WebappTest there). Basically you can use the
> following configuration (assuming that actual processes are configured
> in a separate profiles, see tc-maven-webapp/pom.xml) and then run
> integration test using "mvn verify" command:
>
>       <plugin>
>         <groupId>org.terracotta.maven.plugins</groupId>
>         <artifactId>tc-maven-plugin</artifactId>
>         <version>0.0.5-SNAPSHOT</version>
>         <executions>
>           <execution>
>             <id>run-integration</id>
>             <phase>pre-integration-test</phase>
>             <goals>
>               <goal>run-integration</goal>
>             </goals>
>           </execution>
>           <execution>
>             <id>terminate-integration</id>
>             <phase>post-integration-test</phase>
>             <goals>
>               <goal>terminate-integration</goal>
>             </goals>
>           </execution>
>         </executions>
>       </plugin>
>
>   run-integration and terminate-integration goals are basically the  
> same
> as tc:run and tc:terminate except that they are using special life  
> cycle
> for starting/stopping DSO server. Maybe it would be better to do
> something like that instead:
>
>           <execution>
>             <id>run-integration</id>
>             <phase>pre-integration-test</phase>
>             <goals>
>               <goal>bootjar</goal>
>               <goal>start</goal>
>               <goal>run-bare</goal>
>             </goals>
>           </execution>
>           <execution>
>             <id>terminate-integration</id>
>             <phase>post-integration-test</phase>
>             <goals>
>               <goal>terminate-bare</goal>
>               <goal>stop</goal>
>             </goals>
>           </execution>
>
>   in this case run-bare and terminate-bare won't do anything about
> starting and stopping DSO server.

We might have to deal with this stuff at the test driver layer. Maybe  
do cleanup when the driver thinks
a test has timed out or when a test is about to start verify that all  
old stuff is gone?

So do a stop server before kicking off a test.
Then start the test and a max timeout
In case of a timeout clean up.

>
>   There is one thing to keep in mind. Maven terminates build after any
> failed build phase, i.e. post-integration-test phase won't be executed
> if integration-test phase failed. So, if DSO server will be brought  
> down
> only if integration test passed. I haven't figured out yet how to
> workaround this.
>
>   regards,
>   Eugene
>
>
> _______________________________________________
> tc-dev mailing list
> [email protected]
> http://lists.terracotta.org/mailman/listinfo/tc-dev

_______________________________________________
tc-dev mailing list
[email protected]
http://lists.terracotta.org/mailman/listinfo/tc-dev

Reply via email to