Hello,

I am trying to build and deploy a custom service engine and its corresponding service unit in ServiceMix 4.3.0-fuse-00-00. To do so, I followed the steps in the HelloWorld SE tutorial.

I succeed in building my helloWorld SE, the corresponding helloWorld SU, a servicemix-http SU to bind with the helloWorld SU and the helloWorld SA to deploy the 2 SUs.

When I deploy the SE and the SA, I can see them appear in the karaf console : [ 219] [Active ] [ ] [ ] [ 60] An Hello World Service Engine (1.0.0)
[ 220] [Active     ] [            ] [       ] [   60] hello-world-sa (0.0.0)

But in fact the SA does not deploy correctly, as shown in the logs :
12:07:42,873 | INFO | use-00-00/deploy | Deployer | cemix.jbi.deployer.impl.Deployer 323 | 93 - org.apache.servicemix.jbi.deployer - 1.3.0.fuse-00-00 | Deploying bundle 'null (hello-world-sa)' as a JBI service assembly 12:07:42,874 | WARN | use-00-00/deploy | Deployer | cemix.jbi.deployer.impl.Deployer 339 | 93 - org.apache.servicemix.jbi.deployer - 1.3.0.fuse-00-00 | Requirements not met for JBI artifact in bundle null (hello-world-sa). Installation pending. org.apache.servicemix.jbi.deployer.impl.PendingException: Component not installed: hello-world-se

It seems to me that the helloWorld SU cannot find the helloWorld SE while it is indeed installed and active. I cannot find any clue to solve this issue. Does it come from the SE ? Does it come from the SU ?
Can anyone help me to solve this ?
Attached are the SE and SU pom.xml files and the SU xbean.xml file.

In addition, I tried installing both SE and SA in the more recent ServiceMix 4.3.0-fuse-01-00 version.
This time, the SE (the exact same SE) never appears in karaf console.

Thanks for any help,
 - emmanuel

--
Ingénieur études et développements
Intrinsec
215, avenue Georges Clemenceau
92000 Nanterre
http://www.intrinsec.com





Emmanuel GUITON

Ingénieur développement Standard : +33 1 41 91 77 77 l Fax : +33 1 41 91 77 78

215, avenue Georges Clemenceau l 92024 NANTERRE
http://infogerance.intrinsec.com/2010/04/informatique-de-lunicef-un-cloud-au-secours-dhaiti.html
http://www.intrinsec.com/


<?xml version="1.0" encoding="UTF-8"?>

<!-- SU -->

<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>com.intrinsec.iop.helloworld.se</groupId>
	<artifactId>hello-world-su</artifactId>
	<packaging>jbi-service-unit</packaging>
	<version>1.0</version>
	<name>An Hello World Project Service Unit</name>
	
	<dependencies>
		<dependency>
			<groupId>com.intrinsec.iop.helloworld.se</groupId>
			<artifactId>hello-world-se</artifactId>
			<version>1.0</version>
		</dependency>
	</dependencies>
	
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.servicemix.tooling</groupId>
                <artifactId>jbi-maven-plugin</artifactId>
                <extensions>true</extensions>
            </plugin>
        </plugins>
    </build>
</project>
<?xml version="1.0" encoding="UTF-8"?>

<!-- SE -->

<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>com.intrinsec.iop.helloworld.se</groupId>
	<artifactId>hello-world-se</artifactId>
	<packaging>jbi-component</packaging>
	<version>1.0</version>
	<name>An Hello World Service Engine</name>
	
	<properties>
		<servicemix.osgi.import>
			!com.intrinsec.iop.helloworld.se*,
			org.apache.servicemix.common,
			org.apache.servicemix.common.osgi,
			org.apache.servicemix.executors.impl,
			org.apache.servicemix.jbi.container*;resolution:=optional,
			org.apache.servicemix.jbi.framework*;resolution:=optional,
			org.apache.xbean.spring.context.v2,
			org.springframework.beans.factory.xml,
			sun.misc;resolution:=optional,
			*
		</servicemix.osgi.import>
		<servicemix.osgi.export>
			com.intrinsec.iop.helloworld.se*;version=1.0
		</servicemix.osgi.export>
		<servicemix.osgi.dynamic.import>
			javax.*,org.w3c.*,org.xml.*
		</servicemix.osgi.dynamic.import>
		<servicemix.osgi.private />
		<servicemix.osgi.bundles>
			org.springframework.core,
			org.springframework.beans,
			org.springframework.context,
		</servicemix.osgi.bundles>
	</properties>
	
	<dependencies>
		<dependency>
			<groupId>org.apache.servicemix</groupId>
			<artifactId>servicemix-shared</artifactId>      
			<version>2010.01</version>
		</dependency>
		<dependency>
			<groupId>org.apache.servicemix</groupId>
			<artifactId>servicemix-core</artifactId>
			<version>3.3.2</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
	
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.servicemix.tooling</groupId>
				<artifactId>jbi-maven-plugin</artifactId>
				<extensions>true</extensions>
				<configuration>
					<type>service-engine</type>
					<component>com.intrinsec.iop.helloworld.se.MyComponent</component>
				</configuration>
			</plugin>
			
			<plugin>
				<groupId>org.apache.xbean</groupId>
				<artifactId>maven-xbean-plugin</artifactId>
				<executions>
					<execution>
						<configuration>
							<namespace>http://com.intrinsec.iop.helloworld.se/1.0</namespace>
						</configuration>
						<goals>
							<goal>mapping</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			
			<plugin>
			     <groupId>org.apache.felix</groupId>
			     <artifactId>maven-bundle-plugin</artifactId>
			     <configuration>
			         <instructions>
			             <Bundle-Name>${project.name}</Bundle-Name>
			             <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
			             <Export-Package>${servicemix.osgi.export}</Export-Package>
			             <Import-Package>${servicemix.osgi.import}</Import-Package>
			             <DynamicImport-Package>${servicemix.osgi.dynamic.import}</DynamicImport-Package>
			             <Private-Package>${servicemix.osgi.private}</Private-Package>
			             <Require-Bundle>${servicemix.osgi.bundles}</Require-Bundle>
			         </instructions>
			         <supportedProjectTypes>
			             <supportedProjectType>jar</supportedProjectType>
			             <supportedProjectType>bundle</supportedProjectType>
			             <supportedProjectType>jbi-component</supportedProjectType>
			             <supportedProjectType>jbi-shared-library</supportedProjectType>
			         </supportedProjectTypes>
			         <unpackBundle>true</unpackBundle>
			     </configuration>
			     <executions>
			         <execution>
			             <id>bundle-manifest</id>
			             <phase>process-classes</phase>
			             <goals>
			                 <goal>manifest</goal>
			             </goals>
			         </execution>
			     </executions>
			</plugin>
			
			<plugin>
			     <groupId>org.apache.maven.plugins</groupId>
			     <artifactId>maven-jar-plugin</artifactId>
			     <configuration>
			         <useDefaultManifestFile>true</useDefaultManifestFile>
			     </configuration>
			</plugin>
		</plugins>
	</build>
</project>

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:hwse="http://com.intrinsec.iop.helloworld.se/1.0";
       xmlns:isc="http://www.intrinsec.com";>
	<hwse:endpoint service="isc:helloWorld" endpoint="helloWorldEndPoint"/>
</beans>

Reply via email to