On this page, we are going to create our second SU module in our project .
Using a Maven archetype to create the service unit project
ServiceMix provides several Maven archetypes to help you create your projects more rapidly and reliably. We start off by using the cxf-se archetype, which is used for creating a servicemix-cxf-se service unit project.
From SMX_HOME/bin directory, we run this command to create a service unit project named :
in MS Windows:
smx-arch su cxf-se
in GNU\Linux:
./smx-arch su cxf-se
Maven executes the archetype and reports BUILD SUCCESSFUL when it's done. (For more information run smx-arch help)
c:\java\apache-servicemix-3.2.1\bin>smx-arch su cxf-se [INFO] Scanning for projects... ... [INFO] OldArchetype created in dir: c:\java\apache-servicemix-3.2.1\bin\my-cxf-s e-su [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESSFUL [INFO] ------------------------------------------------------------------------ [INFO] Total time: 2 seconds [INFO] Finished at: Wed Jul 30 08:52:24 CEST 2008 [INFO] Final Memory: 8M/14M [INFO] ------------------------------------------------------------------------
Add this SU project to directory of our project
We copy directory my-cxf-se-su to directory of our project.(where is parent's pom.xml)
Then we add this to parent's pom.xml to element project.
<modules> <module>my-cxf-se-su</module> </modules>
Finally, parent's pom.xml looks like this:
<?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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.apache.servicemix</groupId> <artifactId>myExamples</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging> <name>ServiceMix :: CXF WSDL example</name> <url>http://servicemix.org</url> <modules> <module>my-cxf-se-su</module> </modules> </project>
What is being generated?
First of all, the archetype creates the project directory my-cxf-se-su, containing:
- a pom.xml file for building the service unit project
- a directory src/main/resources, in which we will create our xbean.xml file for configuring the service unit
- a directory src/main/java, in which we will create com/mycompany/ExampleService.java for implementing our service.
Now, we will have to configure the service unit to provide the services we want.