When you have defined your Service Units you need to package them up into a Service Assembly. A Service Assembly is basically a collection of Service Units (which are basically ZIP archives containing resources to go to a component (either BC/SE)) and a jbi.xml that tells the JBI container the names of the components that you wish to deploy each of the Service Units to.

The Maven tooling provides some basic steps to allow you to build the Service Assemblies. First you must change your pom.xml in your SA project to package as a *jbi-service-assembly*.

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.apache.servicemix</groupId>
  <artifactId>MySimpleServiceAssembly</artifactId>
  <packaging>jbi-service-assembly</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>A service assembly</name>
  ...
</project>

In order to embed your Service Units you need to simply refer to them as dependencies. During the creation of this Service Assembly the tooling is actually intelligent enough to go and find the Service Unit to determine the component that it is based on.

<dependencies>
    <dependency>
       <groupId>org.apache.servicemix</groupId>
       <artifactId>MyHttpServiceUnit</artifactId>
       <version>3.0-incubating-SNAPSHOT</version>
    </dependency>
</dependencies>

Once you have configured these steps you can run mvn install and you should find the ZIP for the Service Assembly is created.

  • No labels