Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

Code Block
xml
xml
<?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.camel.example</groupId>
	<artifactId>reportincident.web</artifactId>
	<packaging>war</packaging> (1)
	<version>1.0-SNAPSHOT</version>
	<name>Report Incident Web Bundle</name>

	<properties><parent>
		<wicket<groupId>org.version>1apache.3camel.5<example</wicket.version>groupId>
		<jetty.version>6.1.4</jetty.version>
		<felix-version>1.4.3</felix-version>
		<spring-version>2.5.6</spring-    <artifactId>reportincident.parent</artifactId>
	    <version>1.0-SNAPSHOT</version>
	</properties>parent>

	<dependencies>
		<dependency>
			<groupId>org.apache.camel.example</groupId>
			<artifactId>reportincident.service</artifactId>
			<version>1.0-SNAPSHOT</version>
			<scope>provided</scope>
		</dependency>
		
		<!-- SPRING DEPENDENCIES -->
	    <dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>${spring-version}</version>
			<scope>provided</scope>
		</dependency>
	    <dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
			<version>${spring-version}</version>
			<scope>provided</scope>
		</dependency>
		<!-- 
	    <dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${spring-version}</version>
			<scope>provided</scope>
		</dependency>
		 -->
		<!--  WICKET DEPENDENCIES -->
		<dependency>
			<groupId>org.apache.wicket</groupId>
			<artifactId>wicket</artifactId>
			<version>${wicket.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.wicket</groupId>
			<artifactId>wicket-spring-annot<spring</artifactId>
			<version>${wicket.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.wicket</groupId>
			<artifactId>wicket-ioc</artifactId>
			<version>${wicket.version}</version>
			<scope>provided</scope>
		</dependency>
                <dependency>
                        <groupId>org.apache.wicket</groupId>
			<artifactId>wicket-extensions</artifactId>
			<version>${wicket.version}</version>
			<scope>provided</scope>
		</dependency>

		<!-- LOGGING DEPENDENCIES - LOG4J -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
			<version>1.4.2</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.14</version>
			<scope>test</scope>
		</dependency>

		<!--  JUNIT DEPENDENCY FOR TESTING -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.2</version>
			<scope>test</scope>
		</dependency>

		<!--  JETTY DEPENDENCIES FOR TESTING  -->
		<dependency>
			<groupId>org.mortbay.jetty</groupId>
			<artifactId>jetty</artifactId>
			<version>${jetty.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.mortbay.jetty</groupId>
			<artifactId>jetty-util</artifactId>
			<version>${jetty.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.mortbay.jetty</groupId>
			<artifactId>jetty-management</artifactId>
			<version>${jetty.version}</version>
			<scope>provided</scope>
		</dependency>
	</dependencies>
	<build>
		<resources>
			<resource>
				<filtering>false</filtering>
				<directory>src/main/resources</directory>
			</resource>
			<resource>
				<filtering>false</filtering>
				<directory>src/main/java</directory>
				<includes>
					<include>**</include>
				</includes>
				<excludes>
					<exclude>**/*.java</exclude>
				</excludes>
			</resource>
		</resources>
		<testResources>
			<testResource>
				<filtering>false</filtering>
				<directory>src/test/java</directory>
				<includes>
					<include>**</include>
				</includes>
				<excludes>
					<exclude>**/*.java</exclude>
				</excludes>
			</testResource>
		</testResources>
		<plugins>

			<plugin>
				<inherited>true</inherited>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.5</source>
					<target>1.5</target>
					<optimise>true</optimise>
					<debug>true</debug>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.mortbay.jetty</groupId>
				<artifactId>maven-jetty-plugin</artifactId>
			</plugin>


			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.1-alpha-2</version>
				<configuration>
					<archive>
						<!-- add the generated manifest to the war --> (2)
						<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
					</archive>
					<!-- 
					<webResources>
						<resource>
							<directory>src/main/resources/META-INF/spring</directory>
							<targetPath>META-INF/spring</targetPath>
						</resource>
					</webResources>
					 -->
				</configuration>

			</plugin>


			<!-- to generate the MANIFEST-FILE required by the bundle -->
			<plugin>
				<groupId>org.apache.felix</groupId>
				<artifactId>maven-bundle-plugin</artifactId>
				<version>${felix-version}</version>
				<extensions>true</extensions>
				<executions> (3)
					<execution>
						<id>bundle-manifest</id>
						<phase>process-classes</phase>
						<goals>
							<goal>manifest</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<supportedProjectTypes>
						<supportedProjectType>bundle</supportedProjectType> (3)
						<supportedProjectType>war</supportedProjectType>
					</supportedProjectTypes>
					<instructions>
						<Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
						<Bundle-ClassPath>
							.,
							WEB-INF/classes,
						</Bundle-ClassPath>
						<Import-Package>
							javax.servlet;version="[2.5.0, 3.0.0)",
							javax.servlet.http;version="[2.5.0, 3.0.0)",
							javax.servlet.resources;version="[2.5.0, 3.0.0)",
							org.apache.camel.example.reportincident.service,
							org.springframework.web.context;version="[2.5.6, 3.0.0)",
							org.springframework.web.context.support;version="[2.5.6, 3.0.0)",
							org.springframework.osgi.web.context.support,
							org.xml.sax;resolution:=optional,
							org.w3c.dom;resolution:=optional,
							*
						</Import-Package>
						<Private-Package>org.apache.camel.example.reportincident</Private-Package>
						<Export-Package></Export-Package>
						<Webapp-Context>reportincidentweb</Webapp-Context> (4)
						<_failok>true</_failok>
					</instructions>
				</configuration>

			</plugin>
		</plugins>
	</build>
</project>

...

To build the project, you must execute for each project the following maven commands command in the root of the installation directory :

Project name

maven command

reportincident.activemq

mvn clean install

reportincident.camelqueueservice

mvn clean install

reportincident.db

mvn clean install

reportincident.features

mvn clean install

reportincident.model

mvn clean install

reportincident.persistence

mvn clean install

reportincident.routing

mvn clean install -Dtest=false

reportincident.service

mvn clean install -Dtest=false -DfailIfNoTests=false

reportincident.web

mvn clean install

reportincident.webservice

mvn clean install

Note

To recreate the MANIFEST file in Eclipse, you can use the following maven command : org.ops4j:maven-pax-plugin:eclipse

Info

We will try to provide for the next version of this tutorial a parent pom.xml containing the modules to be build (wink)

Code Block

mvn clean install -Dtest=false  -DfailIfNoTests=false

Package

To simplify our deployment procedure, we will use the provisioning mechanism of Apache Servicemix Felix Karaf called 'Feature'. In a feature xml file, we will define the bundles that we will package and their dependencies. The bundles can be linked to a feature and features can be linked together. This file will be packaged in a jar.

...

Code Block
xml
xml
<?xml version="1.0" encoding="UTF-8"?>
<!--
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->
<features>
	
   <feature name="reportincident" version="1.0-SNAPSHOT">
	<bundle>mvn:org.apache.camel.example/reportincident.activemq/1.0-SNAPSHOT</bundle>
	<bundle>mvn:org.apache.camel.example/reportincident.queueservice/1.0-SNAPSHOT</bundle>
	<bundle>mvn:org.apache.camel.example/reportincident.model/1.0-SNAPSHOT</bundle>
	<bundle>mvn:org.apache.camel.example/reportincident.persistence/1.0-SNAPSHOT</bundle>
	<bundle>mvn:org.apache.camel.example/reportincident.service/1.0-SNAPSHOT</bundle>
	<bundle>mvn:org.apache.camel.example/reportincident.webservice/1.0-SNAPSHOT</bundle>
	<bundle>mvn:org.apache.camel.example/reportincident.routing/1.0-SNAPSHOT</bundle>
        <bundle>mvn:org.apache.camel.example/reportincident.web/1.0-SNAPSHOT/war</bundle>
    </feature>
	
    <feature name="transaction" version="1.0.0">
	<bundle>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1</bundle>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-j2ee-connector_1.5_spec/2.0.0</bundle>
        <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.howl/1.0.1-1_1</bundle>
   	<bundle>mvn:org.apache.geronimo.components/geronimo-transaction/2.2-r634076</bundle>
  	<bundle>mvn:org.apache.servicemix.transaction/org.apache.servicemix.transaction/1.0.0</bundle> 
    </feature>

    <feature name="connector" version="4.0.0">
        <feature version="1.0.0">transaction</feature>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-j2ee-connector_1.5_spec/2.0.0</bundle>
        <bundle>mvn:org.apache.geronimo.components/geronimo-connector/2.1.3</bundle>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/1.1.1</bundle>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-servlet_2.5_spec/1.1.2</bundle> 
        <bundle>mvn:org.springframework/spring-tx/2.5.6.SEC01</bundle>
        <bundle>mvn:org.jencks/jencks/2.2</bundle>
    </feature>
		
   <feature name="activemq" version="5.3.0">
        <feature version="4.0.0">connector</feature>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-j2ee-management_1.1_spec/1.0.1</bundle>
        <bundle>mvn:commons-pool/commons-pool/1.4</bundle>
        <bundle>mvn:org.apache.xbean/xbean-spring/3.5</bundle>
        <bundle>mvn:org.apache.activemq/kahadb/5.3.0</bundle>
        <bundle>mvn:org.apache.activemq/activemq-core/5.3.0</bundle>
        <bundle>mvn:org.apache.activemq/activemq-ra/5.3.0</bundle>
        <bundle>mvn:org.apache.activemq/activemq-console/5.3.0</bundle>
        <bundle>mvn:org.apache.activemq/activemq-pool/5.3.0</bundle>
        <!-- <bundle>mvn:org.apache.servicemix.activemq/org.apache.servicemix.activemq.commands/4.0.0</bundle> -->
    </feature>
	
    <feature name="activemq-camel" version="5.3.0">
	        <bundle>mvn:org.apache.activemq/activemq-camel/5.3.0</bundle>
    </feature>
	
    <feature name="spring-web">
        <bundle>mvn:org.springframework/spring-web/2.5.6.SEC01</bundle>
        <bundle>mvn:org.springframework.osgi/spring-osgi-web/1.2.0</bundle> 
    </feature>
   
    <feature name="hibernate">
        <bundle>mvn:org.springframework/spring-orm/2.5.6.SEC01</bundle>
        <bundle>mvn:org.springframework/spring-jdbc/2.5.6.SEC01</bundle>
    	<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.dom4j/1.6.1_2</bundle>
    	<bundle>mvn:org.antlr/com.springsource.antlr/2.7.7</bundle>
    	<bundle>mvn:org.jgroups/com.springsource.org.jgroups/2.5.1</bundle>
    	<bundle>mvn:org.jboss.javassist/com.springsource.javassist/3.3.0.ga</bundle>
    	<bundle>mvn:org.hibernate/com.springsource.org.hibernate/3.3.1.GA</bundle>
    </feature>
    
    <feature name="jdbc-driver">
	<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-dbcp/1.2.2_3</bundle>
    	<bundle>mvn:com.mysql.jdbc/com.springsource.com.mysql.jdbc/5.1.6<8</bundle>
    </feature>
    
    <feature name="wicket" version="1.34.67">
    	<bundle>mvn:org.apache.wicket/wicket/1.34.6<7</bundle>
    	<bundle>mvn:org.apache.wicket/wicket-ioc/1.34.6<7</bundle>
    	<bundle>mvn:org.apache.wicket/wicket-spring/1.34.6<7</bundle>
    	<!-- <bundle>mvn:org.apache.wicket/wicket-spring-annot/1.34.6<7</bundle> -->
    	<bundle>mvn:org.apache.wicket/wicket-extensions/1.34.6<7</bundle>
    </feature>
    
    <feature name="http-reportingincident">
        <config name="org.ops4j.pax.web">
          org.osgi.service.http.port=8080
        </config>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-servlet_2.5_spec/1.1.2</bundle>
        <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jetty-bundle/6.1.14_1</bundle>
        <bundle>mvn:org.ops4j.pax.web/pax-web-api/0.7.1</bundle>
        <bundle>mvn:org.ops4j.pax.web/pax-web-spi/0.7.1</bundle>
        <bundle>mvn:org.ops4j.pax.web/pax-web-runtime/0.7.1</bundle>
        <bundle>mvn:org.ops4j.pax.web/pax-web-jetty/0.7.1</bundle>
        <bundle>mvn:org.ops4j.pax.web/pax-web-extender-war/0.7.1</bundle>
        <bundle>mvn:org.ops4j.pax.web/pax-web-extender-whiteboard/0.7.1</bundle>
    </feature>
     
</features>

To generate the jar file containing the feature xml file, adapt the pom.xml like this :

...


<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.camel.example</groupId>
	<artifactId>reportincident.features</artifactId>
	<packaging>jar</packaging>
	<version>1.0-SNAPSHOT</version>
	<name>Report Incident Project Features</name>

	<build>
		<resources>
			<!-- standard Maven folder -->
			<resource>
				<directory>src/main/resources</directory>
			</resource>
		</resources>

		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<version>2.3</version>
				<executions>
					<execution>
						<phase>copy-resources</phase>
						<goals>
							<goal>resources</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

</project>
 
</features>

To generate the jar file containing the feature xml file, adapt the pom.xml like this :

Code Block
xml
xml

<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.camel.example</groupId>
	<artifactId>reportincident.features</artifactId>
	<packaging>jar</packaging>
	<version>1.0-SNAPSHOT</version>
	<name>Reportincident :: Project Features</name>
	
	<parent>
		<groupId>org.apache.camel.example</groupId>
	    <artifactId>reportincident.parent</artifactId>
	    <version>1.0-SNAPSHOT</version>
	</parent>

	<build>
		<resources>
			<!-- standard Maven folder -->
			<resource>
				<directory>src/main/resources</directory>
			</resource>
		</resources>

		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<version>2.3</version>
				<executions>
					<execution>
						<phase>copy-resources</phase>
						<goals>
							<goal>resources</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

</project>

During the execution of the following maven command :

Code Block

mvn clean install

maven will put the file reportincident.features-1.0-SNAPSHOT-features.xml in the jar and the jar will be installed in your Maven local repository under the directory {{localMavenRepository/org/apache/camel/example/reportincident.features/1.0-SNAPSHOT

Deploy

The deployment process is very simple and two steps will be necessary :

Step 1 : Copy properties files in etc directory

Copy the files containing your properties file org.apache.camel.example.reportincident.datasource.cfg, ... in the etc directory of Apache Felix Karaf and customize them if required

Step 2 : Edit the file org.apache.felix.karaf.features.cfg

To use the feature file created in the previous section, we must adapt the file org.apache.felix.karaf.features.cfg that you find in the etc directory

Replace the current featureRepositories line with the following :

Code Block

featuresRepositories=mvn:org.apache.felix.karaf/apache-felix-karaf/1.4.0/xml/features,mvn:org.apache.camel.karaf/apache-camel/2.2.0/xml/features,jar:mvn:org.apache.camel.example/reportincident.features/1.0-SNAPSHOT!/reportincident.features-1.0-SNAPSHOT-features.xml

This line will be processed by PAX Url who will pickup the reportincident.features-1.0-SNAPSHOT-features.xml file from the jar located in the maven repository localMavenRepo/org.apache.camel.example/reportincident.features/1.0-SNAPSHOT

and

replace the existing line containing the featuresBoot parameter

by

Code Block

featuresBoot=spring,spring-dm,camel,camel-bindy,camel-jms,activemq,activemq-camel,http,war,spring-web,camel-cxf,hibernate,jdbc-driver,wicket,reportincident

By adding these two lines, we will configure our Apache Felix Karaf server to install bundles from features defined in the order appearing at the line of featuresBoot

Note

The deployment order of the bundle is critical in an OSGI environement. This is why for the purposes of this project/tutorial we have organised in consequence. If you plan to change something in the application, be aware of that

Warning

The /etc/system.property file must be modified to define the environment variable servicemix.base used by activemq bundle

Add the following line
servicemix.base=root

Test it

Step 1 : launch application

It is time to launch the karaf server and to test if our application works well. If this is not yet done, download Apache Felix Karaf 1.4.0 server and install it. Launch the server by executing the command in the bin folder:

Code Block

c:\apache-felix-karaf-1.4.0\bin>karaf
Info

If this is the first time that Karaf is started, then you will see that a new data folder is created. This directory will contain subfolders :

  • cache : containing the bundlles deployed
  • log : where the log file is updated by the application

Step 2 : Check osgi list

When the following prompt appears on the screen :

Code Block

c:\apache-felix-karaf-1.0.0\bin>karaf
        __ __                  ____
       / //_/____ __________ _/ __/
      / ,<  / __ `/ ___/ __ `/ /_
     / /| |/ /_/ / /  / /_/ / __/
    /_/ |_|\__,_/_/   \__,_/_/

  Apache Felix Karaf (1.4.0)

Hit '<tab>' for a list of available commands
and '[cmd] --help' for help on a specific command.

karaf@root>

execute the command :

Code Block

karaf@root:/> osgi:list
Tip

During the first launch of Karaf, it will install all the bundles defined in the features (one by one) in the order defined. 134 bundles must be deployed, so be patient because it can take time depending of your internet connection, cpu, processor of your machine.

but after a few minutes, you must see the following list

Code Block

karaf@root> osgi:list
START LEVEL 100
   ID   State         Blueprint      Spring    Level  Name
[   0] [Active     ] [

During the execution of the maven command :

Code Block

mvn clean install

maven will put the file reportincident.features-1.0-SNAPSHOT-features.xml in the jar and the jar will be installed in your Maven local repository under the directory {{localMavenRepository/org/apache/camel/example/reportincident.features/1.0-SNAPSHOT

Deploy

The deployment process is very simple and two steps will be necessary :

Step 1 : Copy properties files in etc directory

Copy the files containing your properties file org.apache.camel.example.reportincident.datasource.cfg, ... in the etc directory of ServiceMix and customize them if required

Step 2 : Edit the file org.apache.servicemix.features.cfg

To use the feature file created in the previous section, we must adapt the file org.apache.servicemix.features.cfg that you find in the etc directory

Replace the current featureRepositories line with the following :

Code Block

featuresRepositories=mvn:org.apache.felix.karaf/apache-felix-karaf/1.0.0/xml/features,mvn:org.apache.camel.karaf/features/2.1-SNAPSHOT/xml/features,jar:mvn:org.apache.camel.example/reportincident.features/1.0-SNAPSHOT!/reportincident.features-1.0-SNAPSHOT-features.xml

This line will be processed by PAX Url who will pickup the reportincident.features-1.0-SNAPSHOT-features.xml file from the jar located in the maven repository localMavenRepo/org.apache.camel.example/reportincident.features/1.0-SNAPSHOT

and

replace the existing line containing the featuresBoot parameter

by

Code Block

featuresBoot=spring,spring-dm,camel,camel-bindy,camel-jms,activemq,activemq-camel,http-reportingincident,spring-web,camel-cxf,hibernate,jdbc-driver,wicket,reportincident

By adding these two lines, we will configure our Apache Felix Karaf server to install bundles from features defined in the order appearing at the line of featuresBoot

Note

The deployment order of the bundle is critical in an OSGI environement. This is why for the purposes of this project/tutorial we have organised in consequence. If you plan to change something in the application, be aware of that

Note

The /etc/startup.property file must be modified to define the environment variable servicemix.base used by activemq bundle

Add the following line
servicemix.base=root

Test it

Step 1 : launch application

It is time to launch the servicemix server and to test if our application works well. If this is not yet done, download Apache Felix Karaf 1.0.0 server and install it. Launch the server by executing the command in the bin folder:

Code Block

c:\apache-felix-karaf-1.0.0\bin>karaf
Info

If this is the first time that Servicemix is started, then you will see that a new data folder is created. This directory will contain subfolders :

  • cache : containing the bundlles deployed
  • log : where the servicemix.log is updated by the application

Step 2 : Check osgi list

When the following prompt appears on the screen :

Code Block

c:\apache-felix-karaf-1.0.0\bin>karaf
        __ __             ] [    ____
   ] [   / //_/____ __________ _/ __/
      / ,<  / __ `/ ___/ __ `/ /_
 0] System Bundle (2.0.4)
[   1] [Active     ] [          / /| |/ /_/ / /] [    / /_/ / __/
] [   /_/ |_|\__,_/_/   \__,_/_/

  Apache Felix Karaf 5] OPS4J Pax Url - mvn: (1.01.0)

Hit '<tab>' for a list of available commands
and '[cmd] --help' for help on a specific command.

karaf@root>

execute the command :

Code Block

karaf@root:/> osgi:list
Tip

During the first launch of Karaf, it will install all the bundles defined in the features (one by one) in the order defined. 134 bundles must be deployed, so be patient because it can take time depending of your internet connection, cpu, processor of your machine.

but after a few minutes, you must see the following list

karaf@root> features:list State
7)
[ 139] [Active     ] [      
Version
      ] 
Name [uninstalled
[       ] 
[   60] Wicket Extensions 
0
(1.
0.0] hibernate karaf@root> features:install hibernate

If a problem occurs with a bundle, you can by example recompile the code, regenerate the jar and update the bundle using the command

Code Block

karaf@root> osgi:list
START LEVEL 100
   ID   State   2)
[   2] [Active     ] [            ] [       ] [    5] OPS4J Pax Url - wrap: (1.1.2)
[   3] [Active     ] [            ] [      Blueprint ] [    Spring8] OPS4J Pax Logging Level- API Name(1.4)
[   04] [Active     ] [            ] [       ] [    08] System Bundle OPS4J Pax Logging - Service (21.0.04)
[   15] [Active     ] [Created     ] [       ] [   30    ] [   10] Apache Felix KarafConfiguration ::Admin ShellService Various Commands (1.02.04)
[   26] [Active     ] [            ] [       ] [   3010] Apache MINAFelix Preferences CoreService (21.0.0.M64)
[   37] [Active     ] [Created            ] [       ] [   3011] Apache Felix Karaf :: Shell PackageAdmin Commands (1File Install (2.0.08)
[   48] [Active     ] [Created     ] [       ] [   3020] Apache FelixGeronimo Karaf :: JAAS Modules Blueprint Bundle (1.0.0)
[   59] [Active     ] [Created     ] [       ] [   30] Apache Felix Karaf :: JAASFeatures ConfigManagement (1.04.0)
[   610] [Active     ] [Created     ] [       ] [   30] Apache Felix Karaf :: BlueprintSpring Deployer (1.04.0)
[   711] [Active     ] [Created     ] [       ] [   30] Apache Felix Karaf :: ShellFeatures AdminDeployer (1.04.0)
[   812] [Active     ] [Created     ] [       ] [   30] Apache Felix Karaf :: Shell LogVarious Commands (1.04.0)
[   913] [Active     ] [Created            ] [       ] [   30] Apache FelixMina KarafSSHD :: Features CommandCore (10.03.0)
[  1014] [Active     ] [Created     ] [       ] [   30] Apache Felix Karaf :: Shell SSHDevelopment Commands (1.04.0)
[  1115] [Active     ] [Created     ] [       ] [       ] [   30] Apache MinaFelix SSHDKaraf :: Features Core (01.24.0)
[  1216] [Active     ] [   Created         ] [       ] [   30] Apache Felix GogoKaraf :: Shell RuntimeConfigAdmin Commands (01.24.0)
[  1317] [Active     ] [Created     ] [       ] [   30] Apache Felix Karaf :: FeaturesShell PackageAdmin CoreCommands (1.04.0)
[  1418] [Active     ] [Created     ] [       ] [   30] Apache Felix Karaf :: Blueprint ManagementDeployer (1.04.0)
[  1519] [Active     ] [Created     ] [       ] [   30] Apache Felix Karaf ]:: [JAAS   30] org.osgi.impl.bundle.jmx (4.2.0.200907080519Modules (1.4.0)
[  1620] [Active     ] [Created     ] [       ] [   30] Apache Felix Karaf :: ShellAdmin ConsoleManagement (1.04.0)
[  1721] [Active     ] [Created     ] [       ] [   30] Apache Felix Karaf :: Shell OSGi Commands (1.04.0)
[  1822] [Active     ] [Created     ] [       ] [   30] Apache Felix Karaf :: FeaturesJAAS ManagementConfig (1.04.0)
[  1923] [Active     ] [Created     ] [       ] [   30] Apache Felix Karaf :: Spring Deployer (1.0.0)
[  20] [Active     30] org.osgi.impl.bundle.jmx (4.2.0.200907080519)
[  24] [Active     ] [Created     ] [       ] [   30] Apache Felix Karaf :: Features DeployerCommand (1.04.0)
[  2125] [Active     ] [Created            ] [       ] [   30] Apache Felix KarafGogo :: Shell ConfigAdmin CommandsRuntime (10.02.02)
[  2226] [Active     ] [            ] [       ] [   1030] Apache FelixMINA FileCore Install (2.0.0.RC1)
[  2327] [Active     ] [     Created       ] [       ] [   1030] Apache Felix Prefrences ServiceKaraf :: Shell Console (1.4.0.2)
[  2428] [Active     ] [Created            ] [       ] [   1030] Apache Felix Karaf Configuration:: Admin ServiceCore (1.24.40)
[  2529] [Active     ] [Created            ] [       ] [    830] OPS4JApache PaxFelix LoggingKaraf -:: APIManagement (1.4.0)
[  2630] [Active     ] [Created            ] ] [       ] [   30] 8]Apache OPS4JFelix PaxKaraf Logging:: -Admin ServiceCommand (1.4.0)
[  2731] [Active     ] [Created            ] [       ] [    530] OPS4JApache PaxFelix UrlKaraf - mvn:: (1.0.0)
[  28] [Active     ] [            ] [       ] [    5] OPS4J Pax Url - wrap: (1.0Shell Log Commands (1.4.0)
[  2932] [Active     ] [Created     ] [       ] [   2030] Apache Geronimo Blueprint BundleFelix Karaf :: Shell SSH (1.04.0)
[  3033] [Active     ] [            ] [       ] [   60] Apache ServiceMix Bundles: aopalliance-1.0 (1.0.0.3)
[  3134] [Active     ] [            ] [       ] [   60] Spring Core (2.5.6.SEC01)
[  3235] [Active     ] [            ] [       ] [   60] Spring Beans (2.5.6.SEC01)
[  3336] [Active     ] [            ] [       ] [   60] Spring AOP (2.5.6.SEC01)
[  3437] [Active     ] [            ] [       ] [   60] Spring Context (2.5.6.SEC01)
[  3538] [Active     ] [            ] [       ] [   60] Spring Context Support (2.5.6.SEC01)
[  3639] [Active     ] [            ] [       ] [   60] Apache ServiceMix BundlesSpecs :: cglib-2.1_3ACTIVATION API 1.4 (21.14.0.3_4)
[  3740] [Active     ] [            ] [       ] [   60] spring-osgi-io Apache ServiceMix Specs :: JAXB API 2.1 (1.24.0)
[  3841] [Active     ] [            ] [       ] [   60] spring-osgi-core Apache ServiceMix Specs :: STAX API 1.0 (1.24.0)
[  3942] [Active     ] [            ] [       ] [   60] spring-osgi-extender (1.2.0Apache ServiceMix Bundles: jaxb-impl-2.1.12 (2.1.12.1)
[  4043] [Active     ] [            ] [       ] [   60] spring-osgi-annotationCommons Management (1.2.0)
[  4144] [Active     ] [Failure            ] [       ] [   60] Apache Felix Karaf :: Spring Deployer (1.1.0.SNAPSHOTcamel-core (2.2.0)
[  4245] [Active     ] [            ] [       ] [   60] ApacheSpring ServiceMix Specs :: ACTIVATION API 1.4 (1.4.0.SNAPSHOTTransaction (2.5.6.SEC01)
[  4346] [Active     ] [            ] [       ] [   60] Apache ServiceMix Specs :: JAXB API 2.1geronimo-jta_1.1_spec (1.41.0.SNAPSHOT1)
[  4447] [Active     ] [            ] [       ] [   60] ApacheCommons ServiceMix Specs :: STAX API 1.0 (1.4.0.SNAPSHOTPool (1.5.4)
[  4548] [Active     ] [            ] [       ] [   60] Apache ServiceMix Bundles: jaxb-impl-2.1.12 (2.1.12geronimo-jms_1.1_spec (1.1.1)
[  4649] [Active     ] [            ] [       ] [   60] CommonsSpring ManagementJMS (1.02.5.6.SEC01)
[  4750] [Active     ] [            ] [       ] [   60] camel-corejms (2.12.0.SNAPSHOT)
[  4851] [Active     ] [            ] [       ] [   60] geronimo-jtaservlet_12.15_spec (1.1.12)
[  4952] [Active     ] [            ] [       ] [   60] Apache SpringServiceMix Transaction (2.5.6.SEC01)Bundles: jetty-6.1.22 (6.1.22.1)
[  5053] [Active     ] [            ] [       ] [   60] OPS4J Pax Web camel-spring-osgi API (20.17.0.SNAPSHOT2)
[  5154] [Active     ] [            ] [       ] [   60] camel-bindyOPS4J Pax Web - Service SPI (20.17.0.SNAPSHOT2)
[  5255] [Active     ] [            ] [       ] [   60] ApacheOPS4J Pax CommonsWeb Pool- BundleRuntime (10.7.42)
[  5356] [Active     ] [            ] [       ] [   60] geronimo-jms_1.1_spec (1.1.1OPS4J Pax Web - Jetty (0.7.2)
[  5457] [Active     ] [            ] [       ] [   60] Spring JMScamel-bindy (2.52.6.SEC010)
[  5558] [Active     ] [            ] [       ] [   60] activemq-camel-jms (25.13.0.SNAPSHOT)
[  5659] [Active     ] [            ] [Started] [      60] [Reportincident :: ActiveMQ 60] geronimo-j2ee-connector_1.5_spec (2Queuing Engine (1.0.0.SNAPSHOT)
[  5760] [Active     ] [            ] [Started] [      60] [Reportincident :: Camel 60]Queuing Apache ServiceMix Bundles: howl-Service (1.0.1-1 (1.0.1.1_1SNAPSHOT)
[  5861] [Active     ] [            ] [       ] [   60] GeronimoReportincident TxManager :: TransactionModel Bundle (21.20.0.r634076SNAPSHOT)
[  5962] [Active     ] [            ] [       Started] [   60] Reportincident Apache:: ServiceMixPersistence TransactionBundle (1.0.0.SNAPSHOT)
[  6063] [Active     ] [            ] [       Started] [   60] GeronimoReportincident TxManager :: ConnectorService Bundle (21.0.10.3SNAPSHOT)
[  6164] [Active     ] [            ] [       ] [   60] geronimo-servlet_2.5_spec Reportincident :: Webservice Bundle (1.10.0.2SNAPSHOT)
[  6265] [Active     ] [            ] [Started] [      60] [Reportincident :: Routing 60]Bundle Jencks (2.2(1.0.0.SNAPSHOT)
[  6366] [Active     ] [            ] [       ] [   60] geronimo-j2ee-management_1.1_specReportincident :: Web Bundle (1.0.10.SNAPSHOT)
[  6467] [Active     ] [            ] [       ] [   60] xbean-spring (3.5 Apache ServiceMix Bundles: commons-dbcp-1.2.2 (1.2.2.3)
[  6568] [Active     ] [            ] [       ] [   60] kahadb MySQL AB's JDBC Driver for MySQL (5.31.06)
[  6669] [Active     ] [            ] [       ] [   60] activemq-core (5.3.0Apache ServiceMix Bundles: cglib-2.1_3 (2.1.0.3_4)
[  6770] [Active     ] [            ] [       ] [   60] activemqspring-osgi-raio (51.32.0)
[  6871] [Active     ] [            ] [       ] [   60] activemqspring-osgi-consolecore (51.32.0)
[  6972] [Active     ] [            ] [       ] [   60] activemqspring-osgi-poolextender (51.32.0)
[  7073] [Active     ] [            ] [       ] [   60] activemqspring-osgi-camelannotation (51.32.0)
[  7174] [Active     ] [Created            ] [       ] [   60] Apache ServiceMixFelix Karaf Bundles:: jetty-6.1.14 Spring Deployer (6.1.142.10)
[  7275] [Active     ] [            ] [       ] [   60] OPS4J Pax Web - API (0.7.1camel-spring-osgi (2.2.0)
[  7376] [Active     ] [            ] [       ] [   60] OPS4JSpring Pax Web - Service SPI (0.7.1(2.5.6.SEC01)
[  7477] [Active     ] [            ] [       ] [   60] OPS4J Pax Web - Runtime (0.7.1spring-osgi-web (1.2.0)
[  7578] [Active     ] [            ] [       ] [   60] OPS4JApache PaxServiceMix WebBundles: - Jettyjetty-6.1.14 (06.1.714.1)
[  7679] [Active     ] [            ] [       ] [   60] OPS4J Pax Web - ExtenderAPI - WAR (0.7.1)
[  7780] [Active     ] [            ] [       ] [   60] OPS4J Pax Web - ExtenderService - WhiteboardSPI (0.7.1)
[  7881] [Active     ] [            ] [       ] [   60] SpringOPS4J Pax Web - Runtime (20.57.6.SEC011)
[  7982] [Active     ] [            ] [       ] [   60] spring-osgi-webOPS4J Pax Web - Jetty (10.27.01)
[  8083] [Active     ] [            ] [       ] [   60] Apache ServiceMix Bundles: asm-2.2.3 (2.2.3.3)
[  8184] [Active     ] [            ] [       ] [   60] Apache ServiceMix Bundles: jetty-6.1.1419 (6.1.1419.2)
[  8285] [Active     ] [            ] [       ] [   60] Apache ServiceMix Bundles: commons-codec-1.3 (1.3.0.2)
[  8386] [Active     ] [            ] [       ] [   60] Apache ServiceMix Bundles: jdom-1.1 (1.1.0.2)
[  8487] [Active     ] [            ] [       ] [   60] jettison (1.12)
[  8588] [Active     ] [            ] [       ] [   60] Apache ServiceMix Bundles: ant-1.7.0 (1.7.0.3)
[  8689] [Active     ] [            ] [       ] [   60] Apache ServiceMix Bundles: bcel-5.2 (5.2.0.2)
[  8790] [Active     ] [            ] [       ] [   60] Apache ServiceMix Bundles: xalan-2.7.1 (2.7.1.2)
[  8891] [Active     ] [            ] [       ] [   60] Apache ServiceMix Bundles: xercesImpl-2.9.1 (2.9.1.3)
[  8992] [Active     ] [            ] [       ] [   60] Apache ServiceMix Bundles: xmlbeans-2.4.0 (2.4.0.23)
[  9093] [Active     ] [            ] [       ] [   60] Apache ServiceMix Bundles: xmlsec-1.4.3 (1.4.3.2)
[  9194] [Active     ] [            ] [       ] [   60] Apache ServiceMix Bundles: xmlresolver-1.2 (1.2.0.2)
[  9295] [Active     ] [            ] [       ] [   60] ApacheWoodstox ServiceMix Bundles: woodstox-3.2.8XML-processor (4.0.7)
[  96] [Active     ] [            ] [       ] [   60] Stax2 API (3.20.8.1)
[  9397] [Active     ] [            ] [       ] [   60] XmlSchema (1.4.5)
[  9498] [Active     ] [            ] [       ] [   60] Commons Lang (2.4)
[  9599] [Active     ] [            ] [       ] [   60] Commons Collections (3.2.1)
[  96100] [Active     ] [            ] [       ] [   60] Apache ServiceMix Bundles: antlr-2.7.7 (2.7.7.2)
[  97101] [Active     ] [            ] [       ] [   60] Apache ServiceMix Bundles: oro-2.0.8 (2.0.8.3)
[  98102] [Active     ] [            ] [       ] [   60] Apache ServiceMix Bundles: velocity-1.6.2 (1.6.2.3)
[  99103] [Active     ] [            ] [       ] [   60] Axiom API (1.2.8)
[ 100104] [Active     ] [            ] [       ] [   60] Axiom API (1.2.8)
[ 101105] [Active     ] [            ] [       ] [   60] Apache ServiceMix Bundles: mail-1.4.1 (1.4.1.2)
[ 102106] [Active     ] [            ] [       ] [   60] Apache ServiceMix Bundles: neethi-2.0.4 (2.0.4.12)
[ 103107] [Active     ] [            ] [       ] [   60] Apache ServiceMix Bundles: abdera-0.4.0-incubating (0.4.0.incubating_3)
[ 104108] [Active     ] [            ] [       ] [   60] geronimo-jaxws_2.1_spec (1.0)
[ 105109] [Active     ] [            ] [       ] [   60] geronimo-annotation_1.0_spec (1.1.1)
[ 106110] [Active     ] [            ] [       ] [   60] Apache ServiceMix Specs :: SAAJ API 1.3 (1.4.0.SNAPSHOT)
[ 107111] [Active     ] [            ] [       ] [   60] Apache ServiceMix Bundles: wsdl4j-1.6.2 (1.6.2.2)
[ 108112] [Active     ] [            ] [       ] [   60] Apache ServiceMix Specs :: JSR311 API 1.0 (1.34.0)
[ 109113] [Active     ] [            ] [       ] [   60] geronimo-ws-metadata_2.0_spec (1.1.2)
[ 110114] [Active     ] [            ] [Started] [   60] Apache CXF Bundle Jar (2.2.46)
[ 111115] [Active     ] [            ] [       ] [   60] Apache ServiceMix Bundles: commons-io-1.3.2 (1.3.2.3)
[ 112116] [Active     ] [            ] [       ] [   60] camel-cxf (2.12.0.SNAPSHOT)
[ 113117] [Active     ] [            ] [       ] [   60] Spring ORM geronimo-j2ee-connector_1.5_spec (2.50.6.SEC010)
[ 114118] [Active     ] [            ] [       ] [   60] Spring JDBC (2.5.6.SEC01 Apache ServiceMix Bundles: howl-1.0.1-1 (1.0.1.1_1)
[ 115119] [Active     ] [            ] [       ] [   60] ApacheGeronimo ServiceMixTxManager Bundles:: dom4j-1.6.1Transaction (12.62.10.2r634076)
[ 116120] [Active     ] [            ] [       Started] [   60] Apache ANTLRServiceMix Transaction (21.70.70)
[ 117121] [Active     ] [            ] [       ] [   60] JGroups Toolkit Geronimo TxManager :: Connector (2.51.13)
[ 118122] [Active     ] [            ] [       ] [   60] Javassist Java Programming Assistant (3.3.0.gaJencks (2.2)
[ 119123] [Active     ] [            ] [       ] [   60] JBoss Hibernate Object-Relational Mapper (3.3.1.GAgeronimo-j2ee-management_1.1_spec (1.0.1)
[ 120124] [Active     ] [            ] [       ] [   60] Apache ServiceMixCommons Bundles: commons-dbcp-1.2.2Pool Bundle (1.2.2.34)
[ 121125] [Active     ] [            ] [       ] [   60] MySQL AB's JDBC Driver for MySQLxbean-spring (3.5.1.6)
[ 122126] [Active     ] [            ] [       ] [   60] Wicketkahadb (15.3.60)
[ 123127] [Active     ] [            ] [       ] [   60] Wicket IoC common code (1activemq-core (5.3.60)
[ 124128] [Active     ] [            ] [       ] [   60] Wicket Spring Integration (1activemq-ra (5.3.60)
[ 125129] [Active     ] [            ] [       ] [   60] Wicket Spring Integration through Annotations (1activemq-console (5.3.60)
[ 126130] [Active     ] [            ] [       ] [   60] Wicketactivemq-pool Extensions (15.3.60)
[ 127131] [Active     ] [            ] [Started       ] [   60] ActiveMQOPS4J Pax QueuingWeb engine (1.- Jsp Support (0.07.SNAPSHOT2)
[ 128132] [Active     ] [            ] [Started       ] [   60] Camel Queuing Service (1.0.0.SNAPSHOT OPS4J Pax Web - Extender - WAR (0.7.2)
[ 129133] [Active     ] [            ] [       ] [   60] Report Incident Model Bundle (1.0.0.SNAPSHOT OPS4J Pax Web - Extender - Whiteboard (0.7.2)
[ 130134] [Active     ] [            ] [Failed       ] [   60] Report Incident Persistence BundleOPS4J Pax Url - war:, war-i: (1.01.0.SNAPSHOT2)
[ 131135] [Active     ] [Created     ] [      ] [Waiting] [   60] Report Incident Service BundleApache Felix Karaf :: WAR Deployer (1.04.0.SNAPSHOT)
[ 132136] [Active     ] [            ] [       ] [   60] Report Incident Webservice Bundle Wicket (1.04.0.SNAPSHOT7)
[ 133137] [Active     ] [            ] [Waiting       ] [   60] ReportWicket IncidentIoC Routingcommon Bundlecode (1.04.0.SNAPSHOT7)
[ 134138] [Active     ] [            ] [       ] [   60] ReportWicket IncidentSpring Web BundleIntegration (1.04.0.SNAPSHOT)
Warning
Code Block

If errors happen during installation of the bundles, the list could be not completed. In this is the case, the feature provisioning system has stopped the installation. You have to check the log file of servicemix and depending of the error reported, correction made, the installation can be relaunched in the menu 'feature' using the command :

Code Block
Code Block

karaf@root> osgi:update xxx

where xxx corresponds to the bundle to be updated

The features list can also be very helpfull to see which features has been installed


karaf@root> features:list
State4.7)
[ 140] [Active     ] [           Version ] [       ] Name[   60] Spring ORM (2.5.6.SEC01)
[ 141] [Active     ] [       Repository
[installed  ] [2.1-SNAPSHOT  ] camel[       ] [   60] Spring JDBC (2.5.6.SEC01)
[ 142] [Active    repo-0
[installed  ] [2.1-SNAPSHOT  ] camel-core         ] [     repo-0
[installed  ] [2.1-SNAPSHOT   60] camel-spring-osgi    Apache ServiceMix Bundles: dom4j-1.6.1 (1.6.1.2)
[ 143] [Active     repo-0
[uninstalled] [2.1-SNAPSHOT       ] camel-spring    ] [       ] repo-0
[uninstalled] [2.1-SNAPSHOT  ] camel-osgi[   60] ANTLR (2.7.7)
[ 144] [Active     ] [         repo-0
[uninstalled] [2.1-SNAPSHOT  ] camel-test[       ] [   60] JGroups   repo-0
[uninstalled] [2.1-SNAPSHOTToolkit (2.5.1)
[ 145] [Active     ] camel-cxf[            ] [    repo-0
[uninstalled] [2.1-SNAPSHOT  ] camel-cache[   60] Javassist Java Programming        repo-0
[uninstalled] [2.1-SNAPSHOT  ] camel-castor     Assistant (3.3.0.ga)
[ 146] [Active        repo-0
[uninstalled] [2.1-SNAPSHOT  ] camel-http               repo-0
[uninstalled] [2.1-SNAPSHOT  ] camel-mina      ] [   60] JBoss Hibernate Object-Relational  repo-0
[uninstalled] [2.1-SNAPSHOT  ] camel-jetty              repo-0
[uninstalled] [2.1-SNAPSHOT  ] camel-servlet            repo-0
[installed  ] [2.1-SNAPSHOT  ] camel-jmsMapper (3.3.1.GA)
Warning

If errors happen during installation of the bundles, the list could be not completed. In this is the case, the feature provisioning system has stopped the installation. You have to check the log file of karaf and depending of the error reported, correction made, the installation can be relaunched in the menu 'feature' using the command :

Code Block

karaf@root> features:list
  State          Version       
repo-0
Name
[uninstalled]  [
2.1-SNAPSHOT
 
]
 
camel-amqp
    0.0.0] hibernate

karaf@root> features:install hibernate

If a problem occurs with a bundle, you can by example recompile the code, regenerate the jar and update the bundle using the command

Code Block

karaf@root> osgi:update xxx

where xxx corresponds to the bundle to be updated

The features list can also be very helpfull to see which features has been installed

Code Block

karaf@root> features:list

State       repo-0
[uninstalled] [2.1-SNAPSHOT  ] camel-atom  Version        Name                     repo-0Repository
[uninstalledinstalled  ] [2.2.1-SNAPSHOT0       ] camel-bam                    repo-0
[installed  ] [2.2.1-SNAPSHOT0       ] camel-bindycore               repo-0
[uninstalledinstalled  ] [2.2.1-SNAPSHOT0  ] camel-cometd    ] camel-spring-osgi        repo-0
[uninstalled] [2.2.1-SNAPSHOT0       ] camel-csvspring                repo-0
[uninstalled] [2.1-SNAPSHOT2.0       ] camel-flatpackosgi               repo-0
[uninstalled] [2.1-SNAPSHOT2.0       ] camel-freemarkertest               repo-0
[uninstalledinstalled  ] [2.1-SNAPSHOT2.0       ] camel-ftpcxf                repo-0
[uninstalled] [2.2.1-SNAPSHOT0       ] camel-guicecache              repo-0
[uninstalled] [2.2.1-SNAPSHOT0       ] camel-groovycastor             repo-0
[uninstalled] [2.1-SNAPSHOT2.0       ] camel-hl7dozer                repo-0
[uninstalled] [2.1-SNAPSHOT2.0       ] camel-ibatishttp               repo-0
[uninstalled] [2.2.1-SNAPSHOT0       ] camel-irc mina               repo-0
[uninstalled] [2.1-SNAPSHOT2.0       ] camel-jaxbjetty               repo-0
[uninstalled] [2.2.1-SNAPSHOT0   ] camel-jcr   ] camel-servlet            repo-0
[uninstalledinstalled  ] [2.1-SNAPSHOT2.0       ] camel-jingjms                repo-0
[uninstalled] [2.1-SNAPSHOT2.0       ] camel-jdbcamqp               repo-0
[uninstalled] [2.1-SNAPSHOT2.0       ] camel-josqlatom               repo-0
[uninstalled] [2.1-SNAPSHOT2.0       ] camel-jpabam                repo-0
[uninstalledinstalled  ] [2.1-SNAPSHOT2.0       ] camel-jxpathbindy              repo-0
[uninstalled] [2.1-SNAPSHOT2.0       ] camel-juelcometd               repo-0
[uninstalled] [2.2.1-SNAPSHOT0       ] camel-ldapcsv                repo-0
[uninstalled] [2.2.1-SNAPSHOT0  ] camel-mail    ] camel-flatpack           repo-0
[uninstalled] [2.1-SNAPSHOT2.0  ] camel-msv     ]  camel-freemarker         repo-0
[uninstalled] [2.1-SNAPSHOT2.0       ] camel-mvelftp                repo-0
[uninstalled] [2.2.1-SNAPSHOT0       ] camel-ognlguice               repo-0
[uninstalled] [2.1-SNAPSHOT2.0       ] camel-printergroovy             repo-0
[uninstalled] [2.1-SNAPSHOT2.0       ] camel-quartzhl7                repo-0
[uninstalled] [2.1-SNAPSHOT2.0       ] camel-restletibatis             repo-0
[uninstalled] [2.1-SNAPSHOT2.0       ] camel-rmiirc                repo-0
[uninstalled] [2.2.1-SNAPSHOT0       ] camel-rssjaxb                repo-0
[uninstalled] [2.1-SNAPSHOT2.0       ] camel-saxonjcr                repo-0
[uninstalled] [2.1-SNAPSHOT2.0       ] camel-scalajing               repo-0
[uninstalled] [2.2.1-SNAPSHOT0       ] camel-scriptjdbc               repo-0
[uninstalled] [2.1-SNAPSHOT2.0       ] camel-snmp josql              repo-0
[uninstalled] [2.1-SNAPSHOT  ] camel-spring-integration repo-0
[uninstalled] [2.1-SNAPSHOT  ] camel-spring-javaconfig  repo-0
[uninstalled] [2.1-SNAPSHOT2.0       ] camel-sqljpa                repo-0
[uninstalled] [2.2.1-SNAPSHOT0       ] camel-streamjxpath             repo-0
[uninstalled] [2.1-SNAPSHOT2.0  ] camel-string-template    repo-0
[uninstalled] [2.1-SNAPSHOTcamel-juel  ] camel-tagsoup            repo-0
[uninstalled] [2.1-SNAPSHOT2.0       ] camel-velocityldap               repo-0
[uninstalled] [2.1-SNAPSHOT2.0       ] camel-xmlbeansmail               repo-0
[uninstalled] [2.2.1-SNAPSHOT0       ] camel-xmlsecuritymsv                repo-0
[uninstalled] [2.1-SNAPSHOT2.0       ] camel-xmppmvel               repo-0
[uninstalled] [2.1-SNAPSHOT2.0       ] camel-xstreamognl               repo-0
[installed  uninstalled] [2.52.6.SEC010   ] spring   ] camel-printer               karaf-1.0.0
[installed  repo-0
[uninstalled] [12.2.0         ] springcamel-dmprotobuf                karaf-1.0.repo-0
[uninstalled] [12.02.0         ] wrappercamel-quartz                  karaf-1.0.0repo-0
[uninstalled] [12.02.0         ] obrcamel-restlet                      karaf-1.0.0repo-0
[uninstalled] [12.02.0         ] httpcamel-rmi                     karaf-1.0.repo-0
[uninstalled] [12.02.0       ] camel-rss ] webconsole               karaf-1.0.repo-0
[uninstalled] [12.02.0         ] sshcamel-saxon                      karaf-1.0.0repo-0
[uninstalled] [12.02.0         ] managementcamel-scala               karaf-1.0.repo-0
[installed  uninstalled] [2.52.6.SEC010   ] spring   ] camel-script               karaf-1.1.0-SNAPSHOT
[installed  repo-0
[uninstalled] [12.2.0         ] springcamel-dmsmpp                karaf-1.1.0-SNAPSHOTrepo-0
[uninstalled] [12.12.0-SNAPSHOT] wrapper       ] camel-snmp               karafrepo-1.1.0-SNAPSHOT
[uninstalled] [12.12.0-SNAPSHOT] obr      ] camel-spring-integration    repo-0
[uninstalled] [2.2.0       ] camel-sql           karaf-1.1.0-SNAPSHOT     repo-0
[uninstalled] [12.12.0-SNAPSHOT] http      ] camel-stream              karaf-1.1.0-SNAPSHOTrepo-0
[uninstalled] [12.12.0-SNAPSHOT] webconsole       ] camel-string-template       karaf-1.1.0-SNAPSHOTrepo-0
[uninstalled] [12.12.0-SNAPSHOT] ssh      ] camel-tagsoup               karaf-1.1.0-SNAPSHOTrepo-0
[uninstalled] [12.12.0-SNAPSHOT] management       ] camel-velocity           karafrepo-1.1.0-SNAPSHOT
[uninstalled] [12.2.0-SNAPSHOT       ] reportincidentcamel-xmlbeans           repo-0
[installed  uninstalled] [12.02.0         ] transactioncamel-xmlsecurity              reporepo-0
[installed  uninstalled] [42.02.0         ] connectorcamel-xmpp                repo-0
[installed  uninstalled] [52.32.0         ] activemqcamel-xstream                 repo-0
[installed  ] [2.5.36.0SEC01 ] spring       ] activemq-camel           repokaraf-1.4.0
[uninstalledinstalled  ] [01.02.0         ] spring-webdm                repokaraf-1.4.0
[uninstalled] [01.04.0       ] wrapper ] hibernate                repokaraf-1.4.0
[uninstalled] [01.04.0       ] obr       ] jdbc-driver              repokaraf-1.4.0
[uninstalledinstalled  ] [1.34.60       ] http ] wicket                   repokaraf-1.4.0
[uninstalledinstalled  ] [01.04.0       ] war ] http-reportingincident   repo-0

...

                     karaf-1.4.0
[uninstalled] [1.4.0       ] webconsole               karaf-1.4.0
[installed  ] [1.4.0       ] ssh                      karaf-1.4.0
[installed  ] [1.4.0       ] management               karaf-1.4.0
[installed  ] [1.0-SNAPSHOT] reportincident           repo-0
[installed  ] [1.0.0       ] transaction              repo-0
[installed  ] [4.0.0       ] connector                repo-0
[installed  ] [5.3.0       ] activemq                 repo-0
[installed  ] [5.3.0       ] activemq-camel           repo-0
[installed  ] [0.0.0       ] spring-web               repo-0
[installed  ] [0.0.0       ] hibernate                repo-0
[installed  ] [0.0.0       ] jdbc-driver              repo-0
[installed  ] [1.4.7       ] wicket                   repo-0
[uninstalled] [0.0.0       ] http-reportingincident   repo-0

Step 3 : Incident file

To test the Camel routing, we have to produce an incident file report and put it in the file defined in the from uri of your inittial route. Create a file containing csv lines :

Code Block

001,29-04-2009,Claus,Ibsen,incident camel-001,this is a report incident for camel-001,cibsen@gmail.com,+111 10 20 300
002,29-04-2009,Charles,Moulliard,incident smx-002,this is a report incident for smx-002,cmoulliard@gmail.com,+222 10 20 300
003,28-04-2009,Guillaume,Nodet,incident camel-123,this is a report incident for camel-123,gnodet@gmail.com,+333 10 20 300
004,25-04-2009,Gert,Vanthienen,incident camel-454,this is a report incident for camel-454,gvanthienen@gmail.com,+444 10 20 300
005,24-04-2009,James,Anstey,incident smx-023,this is a report incident for smx-023,janstey@gmail.com,+555 10 20 300
007,01-04-2009,Willem,Jiang,incident smx-456,this is a report incident for smx-456,wjiang@gmail.com,+666 10 20 300
008,27-04-2009,Matt,Raibble,incident appfuse-123,this is a report incident for appfuse-123,mraibble@gmail.com,+777 10 20 300
009,12-04-2009,Jean-Baptiste,Onofré,incident smx3-088,this is a report incident for smx3-088,cjbonofre@gmail.com,+888 10 20 300
010,17-04-2009,Hadrian,Zbarcea,incident camel-005,this is a report incident for camel-005,hzbarcea@gmail.com,+999 10 20 300

Save your file and copy it in the folder

Check the log of SMX and you must see something like this

log_file_servicemix.txt

Next, open the web page of your application : http://localhost:8080/reportincidentweb/

Image Added

Step 4 : Call a webservice

You can use the tool Soapui to call the web service of the application.

Use the following url from Soapui, to generate the client interface to communicate with the web service : http://localhost:8080/cxf/camel-example/incident?wsdl.

Call the web service with the request : http://localhost:8080/cxf/camel-example/incident
and the following SOAP message request by example :

Code Block
xml
xml

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rep="http://reportincident.example.camel.apache.org">
   <soapenv:Header/>
   <soapenv:Body>
      <rep:inputReportIncident>
         <incidentId>000</incidentId>
         <incidentDate>29-04-2009</incidentDate>
         <givenName>Charles</givenName>
         <familyName>Moulliard</familyName>
         <summary>This is an web service report incident</summary>
         <details>This is an web service report incident,This is an web service report incident.</details>
         <email>cmoulliard@gmail.com</email>
         <phone>+222 10 20 30 40</phone>
      </rep:inputReportIncident>
   </soapenv:Body>
</soapenv:Envelope>

Check the Karaf log :

log_file_servicemix2.txt

and web screen result : http://localhost:8080/reportincidentweb/

Image Added

Conclusion

Well, this tutorial was a little bit long but we have tried to provide you all the required information to design a real application using Apache Camel, Felix Karaf, OSGI, CXF and Apache Wicket frameworks. We hope that we have reached the goals defined in the introduction and will continue to improve its content based on Apache frameworks evolution. A part which is not covered but we plan to add it in the future concerns the testing/debugging of the application and transactional aspects.

#Resources

  • Attachments
    patterns.*part2.zip