Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

You will need to have Maven 2.0.4 or higher installed in order to run this command. This packages up the SU and places the build artifact in the target directory.

JBI SU Requirements

The only requirement of a JBI SU is that it contain a JBI deployment descriptor located in META-INF/jbi.xml. As mentioned above, the Maven archetypes for SUs create a pom.xml file that includes configuration and use of the Maven JBI plugin. This is a plugin that automatically generates the META-INF/jbi.xml file based on other information in the pom.xml file. Below is the hierarchy of the contents of the SU archive that is created when running the Maven install goal as noted above:

Panel

$ jar tvf ./target/my-consumer-su-1.0-SNAPSHOT.jar
0 Wed Mar 28 20:19:52 MDT 2007 META-INF/
126 Wed Mar 28 20:19:50 MDT 2007 META-INF/MANIFEST.MF
292 Wed Mar 28 20:19:50 MDT 2007 META-INF/jbi.xml
1281 Wed Mar 28 20:19:40 MDT 2007 xbean.xml
0 Wed Mar 28 20:19:52 MDT 2007 META-INF/maven/
0 Wed Mar 28 20:19:52 MDT 2007 META-INF/maven/com.mycompany/
0 Wed Mar 28 20:19:52 MDT 2007 META-INF/maven/com.mycompany/my-consumer-su/
2613 Wed Mar 28 17:30:46 MDT 2007 META-INF/maven/com.mycompany/my-consumer-su/pom.xml
119 Wed Mar 28 20:19:50 MDT 2007 META-INF/maven/com.mycompany/my-consumer-su/pom.properties

Notice that this SU archive contains a META-INF/jbi.xml file. This was created by the Maven JBI plugin. Below is the pom.xml file for the project above:

Panel

$ cat ./target/my-consumer-su-1.0-SNAPSHOT-installer/META-INF/jbi.xml
<?xml version="1.0" encoding="UTF-8"?>
<jbi xmlns="http://java.sun.com/xml/ns/jbi" version="1.0">
<services binding-component="false" xmlns:replaceMe="http://servicemix.apache.org/replaceMe">
<consumes service-name="replaceMe:withYourService" endpoint-name="soap"/>
</services>
</jbi>

This file is a deployment descriptor for the JBI container when the SU is deployed.

Deployment

Once the SU is properly packaged, it must be wrapped in a JBI service assembly (SA) as before it can be deployed to the JBI container. JBI SAs are described in What is a JBI SA and how do I create one?.