You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Wilson Freitas <wi...@gmail.com> on 2008/01/04 17:01:12 UTC

JMS SU deployment

Hi,

I found some posts about this problem, but all of them are related to LW
containers and this is not my case.

I am trying to deploy a simple SA that contains 2 SU's. One of them
contains a cxf-bc component and the other one contains a jms component. The
deployment of cxf-bc SU works fine, but the JMS deployment crashes.

When I run mvn install jbi:projectDeploy I get the following error:

==============================================================
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
[INFO] Unable to deploy project, Error accessing ServiceMix administration
<?xml version="1.0" encoding="UTF-8"?>
<jbi-task xmlns="http://java.sun.com/xml/ns/jbi/management-message"
version="1.0">
<jbi-task-result>
<frmwk-task-result>
<frmwk-task-result-details>
<task-result-details>
<task-id>deploy</task-id>
<task-result>FAILED</task-result>
<message-type>ERROR</message-type>
</task-result-details>
</frmwk-task-result-details>
</frmwk-task-result>
<component-task-result xmlns="
http://java.sun.com/xml/ns/jbi/management-message">
        <component-name>servicemix-cxf-bc</component-name>
        <component-task-result-details>
                <task-result-details>
                        <task-id>deploy</task-id>
                        <task-result>SUCCESS</task-result>
                </task-result-details>
        </component-task-result-details>
</component-task-result>
<component-task-result xmlns="
http://java.sun.com/xml/ns/jbi/management-message">
        <component-name>servicemix-bean</component-name>
        <component-task-result-details>
                <task-result-details>
                        <task-id>deploy</task-id>
                        <task-result>FAILED</task-result>
                        <message-type>ERROR</message-type>
                        <task-status-msg>
<msg-loc-info>
<loc-token/>
<loc-message>Could not deploy xbean service unit</loc-message>
</msg-loc-info>
</task-status-msg>
                        <exception-info>
                                <nesting-level>1</nesting-level>
                                <msg-loc-info>
                                        <loc-token/>
                                        <loc-message>
org.springframework.beans.factory.BeanDefinitionStoreException: Unrecognized
xbean namespace mapping:
http://servicemix.apache.org/jms/1.0</loc-message<http://servicemix.apache.org/jms/1.0%3C/loc-message>
>
 ==============================================================

Some posts in this list suggests to copy the servicemix-jms-3.2.1.jar into
the <servicemix_home>/lib so I did it. Now I have the following error when
starting servicemix:

 ==============================================================
ERROR - InstallerMBeanImpl             - Class not found:
org.apache.servicemix.jms.JmsBootstrap
java.lang.NoClassDefFoundError:
org/apache/servicemix/common/DefaultComponent
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        at java.security.SecureClassLoader.defineClass(
SecureClassLoader.java:124)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at org.codehaus.classworlds.RealmClassLoader.loadClassDirect(
RealmClassLoader.java:195)
        at org.codehaus.classworlds.DefaultClassRealm.loadClassDirect(
DefaultClassRealm.java:412)
        at org.codehaus.classworlds.DefaultClassRealm.loadClass(
DefaultClassRealm.java:376)
==============================================================

My environment:

ServiceMix ESB: 3.2.1

JDK:
java version "1.5.0_11"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03)
Java HotSpot(TM) Client VM (build 1.5.0_11-b03, mixed mode)

OS: Windows XP Professional

SU xbean.xml:

=============================================

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

<beans

xmlns:jms="http://servicemix.apache.org/jms/1.0"

xmlns:pedido="http://www.tc.com/pedido/">

<jms:endpoint

service="pedidos:PedidoFilaProvider"

endpoint="PedidoFilaProvider"

role="provider"

destinationStyle="queue"

jmsProviderDestinationName="queue/pedidoFila"

connectionFactory="#connectionFactory"

interfaceName="pedidos:PedidoFila"

/>

<bean

id="connectionFactory"

class="org.apache.activemq.ActiveMQConnectionFactory">

<property

name="brokerURL"

value="tcp://localhost:61616"

/>

</bean>

</beans>

=============================================

SU pom.xml:
=============================================

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

<parent>

<artifactId>parent</artifactId>

<groupId>com.tc.recarga.eis</groupId>

<version>1.0-SNAPSHOT</version>

</parent>

<modelVersion>4.0.0</modelVersion>

<groupId>com.tc.recarga.eis</groupId>

<artifactId>pedido-jms</artifactId>

<packaging>jbi-service-unit</packaging>

<name>A custom project</name>

<version>1.0-SNAPSHOT</version>

<url>http://www.myorganization.org</url>

<build>

<resources>

<resource>

<directory>src/main/resources</directory>

<includes>

<include>**/*</include>

</includes>

</resource>

</resources>

<plugins>

<plugin>

<groupId>org.apache.servicemix.tooling</groupId>

<artifactId>jbi-maven-plugin</artifactId>

<version>${servicemix-version}</version>

<extensions>true</extensions>

</plugin>

</plugins>

</build>

<repositories>

<repository>

<releases />

<snapshots>

<enabled>false</enabled>

</snapshots>

<id>apache</id>

<name>Apache Repository</name>

<url>http://people.apache.org/repo/m2-ibiblio-rsync-repository</url>

</repository>

<repository>

<releases>

<enabled>false</enabled>

</releases>

<snapshots />

<id>apache.snapshots</id>

<name>Apache Snapshots Repository</name>

<url>http://people.apache.org/repo/m2-snapshot-repository</url>

</repository>

</repositories>

<pluginRepositories>

<pluginRepository>

<releases />

<snapshots>

<enabled>false</enabled>

</snapshots>

<id>apache</id>

<name>Apache Repository</name>

<url>http://people.apache.org/repo/m2-ibiblio-rsync-repository</url>

</pluginRepository>

<pluginRepository>

<releases>

<enabled>false</enabled>

</releases>

<snapshots />

<id>apache.snapshots</id>

<name>Apache Snapshots Repository</name>

<url>http://people.apache.org/repo/m2-snapshot-repository</url>

</pluginRepository>

</pluginRepositories>

<dependencies>

<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>3.8.1</version>

<scope>test</scope>

</dependency>

<dependency>

<groupId>org.apache.servicemix</groupId>

<artifactId>servicemix-jms</artifactId>

<version>${servicemix-version}</version>

</dependency>

<dependency>

<groupId>org.apache.servicemix</groupId>

<artifactId>servicemix-bean</artifactId>

<version>${servicemix-version}</version>

</dependency>

</dependencies>

<properties>

<servicemix-version>3.2.1</servicemix-version>

</properties>

</project>

Thank you,

Wilson

Re: JMS SU deployment

Posted by Wilson Freitas <wi...@gmail.com>.
Hi Guillaume,

I removed the dependency from servicemix-bean and the problem is gone.

Thanks a lot!

Wilson

On Jan 4, 2008 2:44 PM, Guillaume Nodet <gn...@gmail.com> wrote:

> If you use service units, you should not copy the jms component jar in the
> lib folder, as the exception you obtain is expected in such a case.
>
> The error is caused your SU pom that has dependencies on two different JBI
> components (servicemix-jms and servicemix-bean).  In your case (this is
> indicated in the exception thrown when deploying), the servicemix-bean is
> the target for your JMS su and does not understand the xbean.xml.
> To fix this, remove the dependency on servicemix-bean, or add a property
> to
> your pom to specify explicitely the component:
>
>  <properties>
>  <componentName>servicemix-jms</componentName>
> </properties>
>
>
>

Re: JMS SU deployment

Posted by Guillaume Nodet <gn...@gmail.com>.
If you use service units, you should not copy the jms component jar in the
lib folder, as the exception you obtain is expected in such a case.

The error is caused your SU pom that has dependencies on two different JBI
components (servicemix-jms and servicemix-bean).  In your case (this is
indicated in the exception thrown when deploying), the servicemix-bean is
the target for your JMS su and does not understand the xbean.xml.
To fix this, remove the dependency on servicemix-bean, or add a property to
your pom to specify explicitely the component:

 <properties>
  <componentName>servicemix-jms</componentName>
</properties>

On Jan 4, 2008 5:01 PM, Wilson Freitas <wi...@gmail.com> wrote:

> Hi,
>
> I found some posts about this problem, but all of them are related to LW
> containers and this is not my case.
>
> I am trying to deploy a simple SA that contains 2 SU's. One of them
> contains a cxf-bc component and the other one contains a jms component.
> The
> deployment of cxf-bc SU works fine, but the JMS deployment crashes.
>
> When I run mvn install jbi:projectDeploy I get the following error:
>
> ==============================================================
> [INFO]
> ------------------------------------------------------------------------
> [ERROR] BUILD ERROR
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Unable to deploy project, Error accessing ServiceMix administration
> <?xml version="1.0" encoding="UTF-8"?>
> <jbi-task xmlns="http://java.sun.com/xml/ns/jbi/management-message"
> version="1.0">
> <jbi-task-result>
> <frmwk-task-result>
> <frmwk-task-result-details>
> <task-result-details>
> <task-id>deploy</task-id>
> <task-result>FAILED</task-result>
> <message-type>ERROR</message-type>
> </task-result-details>
> </frmwk-task-result-details>
> </frmwk-task-result>
> <component-task-result xmlns="
> http://java.sun.com/xml/ns/jbi/management-message">
>        <component-name>servicemix-cxf-bc</component-name>
>        <component-task-result-details>
>                <task-result-details>
>                        <task-id>deploy</task-id>
>                        <task-result>SUCCESS</task-result>
>                </task-result-details>
>        </component-task-result-details>
> </component-task-result>
> <component-task-result xmlns="
> http://java.sun.com/xml/ns/jbi/management-message">
>        <component-name>servicemix-bean</component-name>
>        <component-task-result-details>
>                <task-result-details>
>                        <task-id>deploy</task-id>
>                        <task-result>FAILED</task-result>
>                        <message-type>ERROR</message-type>
>                        <task-status-msg>
> <msg-loc-info>
> <loc-token/>
> <loc-message>Could not deploy xbean service unit</loc-message>
> </msg-loc-info>
> </task-status-msg>
>                        <exception-info>
>                                <nesting-level>1</nesting-level>
>                                <msg-loc-info>
>                                        <loc-token/>
>                                        <loc-message>
> org.springframework.beans.factory.BeanDefinitionStoreException:
> Unrecognized
> xbean namespace mapping:
> http://servicemix.apache.org/jms/1.0</loc-message<
> http://servicemix.apache.org/jms/1.0%3C/loc-message>
> >
>  ==============================================================
>
> Some posts in this list suggests to copy the servicemix-jms-3.2.1.jar into
> the <servicemix_home>/lib so I did it. Now I have the following error when
> starting servicemix:
>
>  ==============================================================
> ERROR - InstallerMBeanImpl             - Class not found:
> org.apache.servicemix.jms.JmsBootstrap
> java.lang.NoClassDefFoundError:
> org/apache/servicemix/common/DefaultComponent
>        at java.lang.ClassLoader.defineClass1(Native Method)
>        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
>        at java.security.SecureClassLoader.defineClass(
> SecureClassLoader.java:124)
>        at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
>        at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
>        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
>        at java.security.AccessController.doPrivileged(Native Method)
>        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
>        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>        at org.codehaus.classworlds.RealmClassLoader.loadClassDirect(
> RealmClassLoader.java:195)
>        at org.codehaus.classworlds.DefaultClassRealm.loadClassDirect(
> DefaultClassRealm.java:412)
>        at org.codehaus.classworlds.DefaultClassRealm.loadClass(
> DefaultClassRealm.java:376)
> ==============================================================
>
> My environment:
>
> ServiceMix ESB: 3.2.1
>
> JDK:
> java version "1.5.0_11"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03)
> Java HotSpot(TM) Client VM (build 1.5.0_11-b03, mixed mode)
>
> OS: Windows XP Professional
>
> SU xbean.xml:
>
> =============================================
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <beans
>
> xmlns:jms="http://servicemix.apache.org/jms/1.0"
>
> xmlns:pedido="http://www.tc.com/pedido/">
>
> <jms:endpoint
>
> service="pedidos:PedidoFilaProvider"
>
> endpoint="PedidoFilaProvider"
>
> role="provider"
>
> destinationStyle="queue"
>
> jmsProviderDestinationName="queue/pedidoFila"
>
> connectionFactory="#connectionFactory"
>
> interfaceName="pedidos:PedidoFila"
>
> />
>
> <bean
>
> id="connectionFactory"
>
> class="org.apache.activemq.ActiveMQConnectionFactory">
>
> <property
>
> name="brokerURL"
>
> value="tcp://localhost:61616"
>
> />
>
> </bean>
>
> </beans>
>
> =============================================
>
> SU pom.xml:
> =============================================
>
> <?xml version="1.0" encoding="UTF-8"?><project>
>
> <parent>
>
> <artifactId>parent</artifactId>
>
> <groupId>com.tc.recarga.eis</groupId>
>
> <version>1.0-SNAPSHOT</version>
>
> </parent>
>
> <modelVersion>4.0.0</modelVersion>
>
> <groupId>com.tc.recarga.eis</groupId>
>
> <artifactId>pedido-jms</artifactId>
>
> <packaging>jbi-service-unit</packaging>
>
> <name>A custom project</name>
>
> <version>1.0-SNAPSHOT</version>
>
> <url>http://www.myorganization.org</url>
>
> <build>
>
> <resources>
>
> <resource>
>
> <directory>src/main/resources</directory>
>
> <includes>
>
> <include>**/*</include>
>
> </includes>
>
> </resource>
>
> </resources>
>
> <plugins>
>
> <plugin>
>
> <groupId>org.apache.servicemix.tooling</groupId>
>
> <artifactId>jbi-maven-plugin</artifactId>
>
> <version>${servicemix-version}</version>
>
> <extensions>true</extensions>
>
> </plugin>
>
> </plugins>
>
> </build>
>
> <repositories>
>
> <repository>
>
> <releases />
>
> <snapshots>
>
> <enabled>false</enabled>
>
> </snapshots>
>
> <id>apache</id>
>
> <name>Apache Repository</name>
>
> <url>http://people.apache.org/repo/m2-ibiblio-rsync-repository</url>
>
> </repository>
>
> <repository>
>
> <releases>
>
> <enabled>false</enabled>
>
> </releases>
>
> <snapshots />
>
> <id>apache.snapshots</id>
>
> <name>Apache Snapshots Repository</name>
>
> <url>http://people.apache.org/repo/m2-snapshot-repository</url>
>
> </repository>
>
> </repositories>
>
> <pluginRepositories>
>
> <pluginRepository>
>
> <releases />
>
> <snapshots>
>
> <enabled>false</enabled>
>
> </snapshots>
>
> <id>apache</id>
>
> <name>Apache Repository</name>
>
> <url>http://people.apache.org/repo/m2-ibiblio-rsync-repository</url>
>
> </pluginRepository>
>
> <pluginRepository>
>
> <releases>
>
> <enabled>false</enabled>
>
> </releases>
>
> <snapshots />
>
> <id>apache.snapshots</id>
>
> <name>Apache Snapshots Repository</name>
>
> <url>http://people.apache.org/repo/m2-snapshot-repository</url>
>
> </pluginRepository>
>
> </pluginRepositories>
>
> <dependencies>
>
> <dependency>
>
> <groupId>junit</groupId>
>
> <artifactId>junit</artifactId>
>
> <version>3.8.1</version>
>
> <scope>test</scope>
>
> </dependency>
>
> <dependency>
>
> <groupId>org.apache.servicemix</groupId>
>
> <artifactId>servicemix-jms</artifactId>
>
> <version>${servicemix-version}</version>
>
> </dependency>
>
> <dependency>
>
> <groupId>org.apache.servicemix</groupId>
>
> <artifactId>servicemix-bean</artifactId>
>
> <version>${servicemix-version}</version>
>
> </dependency>
>
> </dependencies>
>
> <properties>
>
> <servicemix-version>3.2.1</servicemix-version>
>
> </properties>
>
> </project>
>
> Thank you,
>
> Wilson
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/