2016-04-30 6 views
0

私は、キューからメッセージを消費してhttpサーバに送るために、camelと一緒にactivemqを使用しています。私は、次のラクダの設定を使用しています: - 最初のブロックでActivemqがHTTP uriで始まっていない

<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring"> 
    <route> 
     <from uri="activemq:queue:Consumer.A.VirtualTopic.Orders"/> 
     <to uri="http://localhost:8080/" /> 
     <!-- <to uri="file:///Users/vinod/activemq.txt"/> --> 
     <!-- <to uri="activemq:queue:sssss"/> --> 
    </route> 
</camelContext> 

<bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent" > 
    <property name="connectionFactory"> 
     <bean class="org.apache.activemq.ActiveMQConnectionFactory"> 
     <property name="brokerURL" value="vm://localhost?create=false"/> 
     </bean> 
    </property> 
</bean> 

は​​でサーバーに送信activemq:queue:Consumer.A.VirtualTopic.Ordersキューから消費者のメッセージとルートを作成します。他の2つのコメントされた宛先は正常に動作していますが、httpでメッセージを送信するために上記の設定でactivemqを起動すると、サーバーはエラーメッセージをスローせずに停止します。このためのActivemqログはhttps://gist.github.com/kumar003vinod/1e5944cb246edb74c47fef7a0b433387

です。

答えて

1

ActiveMQ lib/camelディレクトリには、camel-httpcamel-http-common個のJARが含まれていることを確認してください。そのディレクトリに推移的な依存関係を含める必要があるかもしれないので、ActiveMQはそのクラスパスに必要なすべてのJARを持っています。

これはcommons-httpclientcommons-codec JARですが、すでにlib/optionalに含まれていると思います。

+0

これらの依存関係は、ルートディレクトリのpom.xmlに含まれています(diffのここにあるhttps://gist.github.com/kumar003vinod/5d50e9c403856ce93dec192bacfab469を参照)。私はソースからプロジェクトをコンパイルしています。プロジェクトをビルドするために 'mvn -Dtest = false -DfailIfNoTests = false install'コマンドを使用した場合、これらを追加した後、これらのjarファイルは' lib/camel'で作成されません。フルサイズのファイルhttps://gist.github.com/kumar003vinod/f643dbfe4d6b373bfde395c607e5e945を参照してください。何かヒント? –

+0

私は何とかマルチPOMファイルに依存関係を追加してコンパイルできますが、 'コンバータの種類を無視しています:org.apache.camel.component.http.RequestEntityConverterが依存クラスとして見つかりませんでした:java.lang。 NoClassDefFoundError:org/apache/commons/httpclient/methods/RequestEntity | org.apache.camel.impl.converter.AnnotationTypeConverterLoader | main java.lang.NoClassDefFoundError:org/apache/commons/httpclient/methods/RequestEntity'、activemqが起動したときのエラーです。詳細については、https://gist.github.com/kumar003vinod/ce182c4009de1998f0927a17a5e663bdをご確認ください。 –

+0

上記の問題は 'commons-httpclient'をインストールしなかったために発生しました。これをインストールした後、正常に動作しています。 –

関連する問題