Hi,

I have a strange issue on my SMX 4 server *where I have a similar camel
routes deployed where everything works fine (to call activemq queue)* but I
have deployed a new route

        <bean id="quickfix-server"
class="org.apache.camel.component.quickfix.QuickfixAcceptor"/>
        <bean id="quickfix-client"
class="org.apache.camel.component.quickfix.QuickfixInitiator"/>

        <osgi:reference id="queuingservice"
interface="org.apache.camel.Component" />


    <camel:camelContext trace="true" xmlns="
http://camel.apache.org/schema/osgi";>
        <camel:route>
            <camel:from uri="quickfix-server:META-INF/examples/server.cfg"/>
            <camel:convertBodyTo type="java.lang.String"/>
            <camel:to
uri="log:org.quickfix?showAll=true&amp;multiline=true"/>
            <camel:to uri="queuingservice:queue:fix"/>

            <camel:to uri="queuingservice:queue:fix"/>
            <camel:convertBodyTo type="quickfix.Message"/>
            <camel:to uri="quickfix-client:META-INF/examples/client.cfg"/>
        </camel:route>
    </camel:camelContext>

</beans>

Here is the spring XML file declaring the service + bean

    <bean id="active-mq"
class="org.apache.activemq.camel.component.ActiveMQComponent" />

    <osgi:service id="osgiqueuingservice" ref="active-mq"
interface="org.apache.camel.Component"/>

*and the following error happens :*

17:33:21,353 | ERROR | essage Processor | DeadLetterChannel                |
rg.apache.camel.processor.Logger  207 | Failed delivery for exchangeId:
ID-dell-charles-1081-1241786263353-0-6. On delivery attempt: 1 caught:
org.apache.camel.FailedToCreateProducerException: Failed to create Producer
for endpoint: Endpoint[queuingservice:queue:fix]. Reason:
java.lang.RuntimeException: Failed to instantiate PooledConnectionFactory:
java.lang.ClassNotFoundException:
org.apache.activemq.pool.PooledConnectionFactory
org.apache.camel.FailedToCreateProducerException: Failed to create Producer
for endpoint: Endpoint[queuingservice:queue:fix]. Reason:
java.lang.RuntimeException: *Failed to instantiate PooledConnectionFactory:
java.lang.ClassNotFoundException:
org.apache.activemq.pool.PooledConnectionFactory*
    at
org.apache.camel.component.jms.JmsProducer.testAndSetRequestor(JmsProducer.java:117)
    at
org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:155)
    at
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:68)
    at
org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:49)
    at
org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:78)
    at
org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:115)
    at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:80)
    at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:88)
    at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:83)
    at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:195)
    at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:130)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:115)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:89)
    at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
    at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
    at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:55)
    at
org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:49)
    at
org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:78)
    at
org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:115)
    at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:91)
    at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:83)
    at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:52)
    at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
    at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:65)
    at
org.apache.camel.component.quickfix.QuickfixEndpoint.onMessage(QuickfixEndpoint.java:83)
    at
org.apache.camel.component.quickfix.QuickfixApplication.fromApp(QuickfixApplication.java:84)
    at quickfix.Session.fromCallback(Session.java:1361)
    at quickfix.Session.verify(Session.java:1314)
    at quickfix.Session.verify(Session.java:1390)
    at quickfix.Session.next(Session.java:796)
    at
quickfix.mina.SingleThreadedEventHandlingStrategy$SessionMessageEvent.processMessage(SingleThreadedEventHandlingStrategy.java:107)
    at
quickfix.mina.SingleThreadedEventHandlingStrategy.block(SingleThreadedEventHandlingStrategy.java:70)
    at
quickfix.mina.SingleThreadedEventHandlingStrategy$1.run(SingleThreadedEventHandlingStrategy.java:87)
    at java.lang.Thread.run(Thread.java:619)

It seems to be related to a classloading issue (maybe in the new
camel-quickfix component) ?

For info, here is the lis tof headers imported/exported :

Bundle running the camel - quickfix

QuickFix Routing Bundle (150)
-----------------------------
Manifest-Version = 1.0
Bnd-LastModified = 1241796562994
Tool = Bnd-0.0.255
Bundle-Name = QuickFix Routing Bundle
Include-Resources = src/main/resources
Built-By = Charlesm
Import-Package =
org.apache.activemq.camel.component;version="5.2.0",org.apache.activemq.camel.converter;version="5.2.0",
*org.apache.activemq.pool;version="5.2.0"*,org.apac
he.camel;version="2.0.0.M1",org.apache.camel.component;version="2.0.0.M1",org.apache.camel.component.jms,org.apache.camel.component.quickfix;version="2.0.0.SNAPSHOT",org.
apache.camel.component.quickfix.converter;version="2.0.0.SNAPSHOT",quickfix,quickfix.fix40,quickfix.fix41,quickfix.fix42,quickfix.fix43,quickfix.fix44
Bundle-SymbolicName = reportincident.quickfix
Bundle-Version = 1.0.0.SNAPSHOT
Build-Jdk = 1.6.0_12
Created-By = Apache Maven Bundle Plugin
Bundle-ManifestVersion = 2

activemq-pool (64)
------------------
Tool = Bnd-0.0.160
Bundle-DocURL = http://www.apache.org/
Bundle-Description = ActiveMQ Pooled ConnectionFactory
Implementation-Version = 5.2.0
Export-Package = *org.apache.activemq.pool*
;uses:="org.apache.geronimo.transaction.manager,org.apache.commons.pool.impl,org.apache.commons.logging,javax.transaction.xa,org.
apache.activemq,org.apache.activemq.jndi,org.apache.activemq.util,javax.naming,org.apache.activemq.ra,org.apache.activemq.advisory,org.apache.commons.pool,org.apache.acti
vemq.transport,javax.transaction,org.springframework.beans.factory,javax.jms";version=5.2.0

what I have imported in the pom of camel quickfix project :


org.apache.activemq.camel.component;${activemq.osgi.version},

org.apache.activemq.camel.converter;${activemq.osgi.version},

org.apache.activemq.pool;${activemq.osgi.version},

Strange isn't it ????

Regards

Charles Moulliard
Senior Enterprise Architect
Apache Camel Committer

*****************************
blog : http://cmoulliard.blogspot.com

Reply via email to