Creating the http handler SU
{scrollbar}
Now, we are going to INLINEcreate the http handler bean SU
to process the data sent by http-consumer-su.
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 servicemix-bean-service-unit archetype, which is used for creating a bean service unit project. The groupId for this archetype is org.apache.servicemix.tooling.
From our tutorial project directory, where we already have the parent pom.xml, we run this command to create a service unit project named http-handler-su:
mvn archetype:create \
-DarchetypeGroupId=org.apache.servicemix.tooling \
-DarchetypeArtifactId=servicemix-bean-service-unit \
-DgroupId=org.apache.servicemix.examples \
-DartifactId=http-handler-su
Maven executes the archetype and reports BUILD SUCCESSFUL when it's done.
[INFO] Scanning for projects...
[INFO] Reactor build order:
[INFO] Simple HTTP Upload example
[INFO] Http Uploader :: HTTP Consumer SU
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] ----------------------------------------------------------------------------
[INFO] Building Simple HTTP Upload example
[INFO] task-segment: [archetype:create] (aggregator-style)
[INFO] ----------------------------------------------------------------------------
...
[INFO] ********************* End of debug info from resources from generated POM ***********************
[INFO] Archetype created in dir: /home/lhe/example/http-handler-su
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 seconds
[INFO] Finished at: Wed Nov 28 13:21:37 CET 2007
[INFO] Final Memory: 8M/78M
[INFO] ------------------------------------------------------------------------
What is being generated?
First of all, the archetype creates the project directory, containing:
- a pom.xml file for building the service unit project
- a directory src/main/resources containing a template xbean.xml file for configuring the service unit
- a directory src/main/java containing a java class template
Because we started Maven's archetype:create from the directory containing our parent pom.xml, Maven has also added a module to the parent pom.xml
xml
...
<modules>
<module>http-consumer-su</module>
<module>http-handler-su</module>
</modules>
...
Now, we will have to configure the service unit to provide the services we want.
Further reading
{scrollbar}