0

私は Apache Camel を初めて使用し、mysql db 1 から 200 個の製品を読み取り、その製品を mysql db 2 に挿入する単純なアプリケーションを作成しようとしています。データを変更する必要はありません。選択してから一括挿入します。

私は、sql コンポーネントを使用する camel-sql-example プロジェクトを見てきました。構造が気に入っているので、このサンプル プロジェクトをベースにしてみました。

これの良い例の場所を教えてくれたり、ラクダのルート(春の原型)がどのように見えるべきかを大まかに教えてくれる人はいますか?

このようなものは正しいですか?

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
          http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
          http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

  <bean id="sourceDataSource" class="org.apache.commons.dbcp.BasicDataSource">
    ...
  </bean> 

  <bean id="targetDataSource" class="org.apache.commons.dbcp.BasicDataSource">
    ...
  </bean>     

  <!-- configure the Camel SQL component to use the JDBC data source -->
  <bean id="sourceSql" class="org.apache.camel.component.sql.SqlComponent">
    <property name="dataSource" ref="sourceDataSource"/>
  </bean>

  <bean id="targetSql" class="org.apache.camel.component.sql.SqlComponent">
    <property name="dataSource" ref="targetDataSource"/>
  </bean>

  <bean id="productBean" class="org.apache.camel.example.sql.ProductBean"/>

  <camelContext xmlns="http://camel.apache.org/schema/spring">
    <propertyPlaceholder location="classpath:sql.properties" id="placeholder"/>

    <route id="processProduct-route">
        <from uri="sourceSql:{{sql.selectProduct}}"/>
        <to uri="targetSql:{{sql.insertProduct}}"/>
        <log message="${body}"/>
    </route>
</camelContext>

ありがとう

4

1 に答える 1

0

今日これをテストしましたが、上で指定したことがうまくいくようです! 私が予想していなかったのは、ルートがループして複数回実行され続けることでした。一度だけ実行する必要があります。私はこれを達成する方法を検討しています。

于 2013-08-31T01:04:15.130 に答える