I wanted this to be a SOA blog, but in my free time i do some other stuff.
I had been working for some time with the terracotta server. My idea was to share JAVA objects between several virtual machines.
The thing i want to share was simply some maven instructions to start, stop and create the boot-jar (i have lots of problem trying to use their maven plugin)
I just copy all the pom.xml. The only remark about this pom, is that i needed to run the terracotta server in linux and Windows, so i had to create a profile to distinguish between the two enviroments. (There are some OS specific properties)
** The inputs, are the terracotta home, and the config file for the project. I configure a node inside the config file called "MasterNode".
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>testproject.groupId</groupId>
<artifactId>TestProject</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>TestProject</name>
<profiles>
<profile>
<id>Windows</id>
<activation>
<os>
<family>Windows</family>
</os>
</activation>
<properties>
<scritp.ext>bat</scritp.ext>
<tc.home>D:\terracotta-3.7.7</tc.home>
<tc.conf.file>${basedir}\src\main\resources\Terracotta\tc-config_win.xml</tc.conf.file>
</properties>
</profile>
<profile>
<id>unix</id>
<activation>
<os>
<family>unix</family>
</os>
</activation>
<properties>
<scritp.ext>sh</scritp.ext>
<tc.home>/Users/user/terracotta-3.7.7</tc.home>
<tc.conf.file>${basedir}/src/main/resources/Terracotta/tc-config_unix.xml</tc.conf.file>
</properties>
</profile>
<profile>
<id>tc-start</id>
<build>
<plugins>
<plugin>
<artifactId>exec-maven-plugin</artifactId>
<groupId>org.codehaus.mojo</groupId>
<version>1.3.2</version>
<executions>
<execution>
<id>tc-start</id>
<phase>test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>${tc.home}${file.separator}bin${file.separator}start-tc-server.${scritp.ext}</executable>
<arguments>
<argument>-n</argument>
<argument>MasterNode</argument>
<argument>-f</argument>
<argument>${tc.conf.file}</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>tc-stop</id>
<build>
<plugins>
<plugin>
<artifactId>exec-maven-plugin</artifactId>
<groupId>org.codehaus.mojo</groupId>
<version>1.3.2</version>
<executions>
<execution>
<id>tc-stop</id>
<phase>test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>${tc.home}${file.separator}bin${file.separator}stop-tc-server.${scritp.ext}</executable>
<arguments>
<argument>-n</argument>
<argument>MasterNode</argument>
<argument>-f</argument>
<argument>${tc.conf.file}</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>tc-boot-jar</id>
<build>
<plugins>
<plugin>
<artifactId>exec-maven-plugin</artifactId>
<groupId>org.codehaus.mojo</groupId>
<version>1.3.2</version>
<executions>
<execution>
<id>tc-boot-jar</id>
<phase>test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>${tc.home}${file.separator}platform${file.separator}bin${file.separator}make-boot-jar.${scritp.ext}</executable>
<arguments>
<argument>-f</argument>
<argument>${tc.conf.file}</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>