0

ftp アドレスをリッスンするプログラムがあり、新しいファイルが表示されるたびに、それを取得して pojo に変換します。しかし、私はmain()メソッドから実行します。あまり快適ではありません。

同じことを行うサーブレットを作成したいのですが、warファイルを作成してTomCatに入れると、プログラムが自動的に実行されるため、実行する必要はありません。

キャメル サーブレットとスプリング リスナーを使用して作成web.xmlしましたが、今後の手順がわかりません。

これが私が今持っているものです:

私のクラス:

@Component
public class test extends SpringRouteBuilder {
@Override
public void configure() throws Exception {
            from("ftp://Mike@localhost?noop=true&binary=true").to("file://data");
            }
}

web.xml:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:camel-config.xml</param-value>
</context-param>

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

camel-config.xml

<context:component-scan base-package="org.apache.camel.spring.issues.contextscan"/>

<camelContext id="camel5" xmlns="http://camel.apache.org/schema/spring">
    <routeBuilder ref="myBuilder" />
</camelContext>

<bean id="myBuilder" class="test"/>

更新:

プログラムが ftp に接続していることがわかりましたが、ファイルがコピーされません。

ログを貼り付けましたhttp://pastebin.com/2tTf6QmL

4

1 に答える 1

1

質問から私が作成したのは、web アプリケーションでキャメル ルートを初期化するためにキャメル サーブレット コンポーネントを使用しようとしているということです。Camel-servlet コンポーネントは、これを行うためのものではありません。spring を camel で使用している場合は、Spring Web コンテキスト ローダーorg.springframework.web.context.ContextLoaderListenerを構成し、spring-camel xml を spring アプリケーション コンテキスト ファイルにインポートします。

于 2013-10-18T13:27:54.203 に答える