1

Spring 3.0 フレームワークに基づいて Web アプリケーションを開発しています。

いいえ、Apache Camel を統合して、CSV ファイル経由でデータベースにデータをインポートしたいと考えています。Camel を実行し、Apache Camel Spring Configuration exampleに従ってデータベースにインポートすることができました。

しかし今、Camel を Web アプリケーションに統合して、一緒に起動したいと考えています。しかし、これを行う方法がわかりません。現時点では、Camel が Web アプリケーションの横で開始され、独自のコンテキストを使用しているように見えます。特に、Camel が Web アプリケーションの一部であるデータベース リポジトリを自動接続しようとすると例外がスローされるため、Web アプリケーションの前に開始されるようです。

10:57:36.730 [main] ERROR o.s.web.context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'routeConfiguration': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.springframework.data.neo4j.repository.GraphRepository com.isarsoftware.ysura.config.RouteConfiguration.graphRepository; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userRepository' defined in class path resource [com/isarsoftware/ysura/config/GraphDBConfig.class]: Instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public org.springframework.data.neo4j.repository.GraphRepository com.isarsoftware.ysura.config.GraphDBConfig.userRepository()] threw exception; nested exception is java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: Root WebApplicationContext: startup date [Fri Nov 16 10:57:35 CET 2012]; root of context hierarchy

私は、Spring のプロにはほど遠いことを認めなければなりません。しかし、今までブログとチュートリアルを読んで、すべてを機能させることができました。しかし、この問題については、まだガイダンスを見つけることができませんでした。

誰が私の問題を解決するためのチュートリアルや例を教えてもらえますか?

4

1 に答える 1

2

http://camel.apache.org/tutorial-on-using-camel-in-a-web-application.htmlを参照してください

基本的に、Springリスナーをweb.xmlファイルに追加するだけです

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

次に、CamelContext を使用して /WEB-INF/applicationContext.xml ファイルを作成します。

<beans...>
    <camelContext xmlns="http://camel.apache.org/schema/spring">
        <route>
          <from uri="seda:foo"/>
          <to uri="mock:results"/>
        </route>
    </camelContext>
</beans>
于 2012-11-16T23:02:24.830 に答える