多くのツールに関する私の懸念の 1 つは、難しいことは簡単になり、簡単なことは難しくなるということです。私は現在、そのような問題に悩まされています。
Mule のコミュニティ エディションを使用しています。このエディションには、DataWeave (以前は DataMapper) 機能は含まれていません。
コンマ区切りの文字列を値に分割してデータベースのテーブルに保存するフローを簡単に作成する方法はありますか?
多くのツールに関する私の懸念の 1 つは、難しいことは簡単になり、簡単なことは難しくなるということです。私は現在、そのような問題に悩まされています。
Mule のコミュニティ エディションを使用しています。このエディションには、DataWeave (以前は DataMapper) 機能は含まれていません。
コンマ区切りの文字列を値に分割してデータベースのテーブルに保存するフローを簡単に作成する方法はありますか?
次のフロー構成を試してください。基本的には MEL を使用し、文字列を分割します。ペイロードを分割した後、コレクションになります。次に、コレクション スプリッターを使用するか、この例では foreach を使用し、データベース アウトバウンド コネクタを配置して、insert sql ステートメントを作成します。データセンスを活用できるデータウィーブやデータマッパーがありません。
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:json="http://www.mulesoft.org/schema/mule/json" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/json http://www.mulesoft.org/schema/mule/json/current/mule-json.xsd">
<http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/>
<flow name="sampleFlow">
<http:listener config-ref="HTTP_Listener_Configuration" path="/inbound" doc:name="Inbound HTTP"/>
<set-payload value="one,two,three,four" doc:name="Set Sample Payload"/>
<expression-transformer expression="#[message.payload.split(",")]" doc:name="Split String"/>
<foreach collection="#[payload]" doc:name="For Each">
<logger message="INSERT INTO table(field_a) VALUES(#[payload]);" level="INFO" doc:name="SQL INSERT"/>
<logger message="INSERT TO DB" level="INFO" doc:name="YOUR DATABASE CONNECTOR"/>
</foreach>
</flow>
</mule>
ログ出力
org.mule.api.processor.LoggerMessageProcessor: INSERT INTO table(field_a) VALUES(one); org.mule.api.processor.LoggerMessageProcessor: INSERT TO DB org.mule.api.processor.LoggerMessageProcessor: INSERT INTO table(field_a) VALUES(two); org.mule.api.processor.LoggerMessageProcessor: INSERT TO DB org.mule.api.processor.LoggerMessageProcessor: INSERT INTO table(field_a) VALUES(three); org.mule.api.processor.LoggerMessageProcessor: INSERT TO DB org.mule.api.processor.LoggerMessageProcessor: INSERT INTO table(field_a) VALUES(4); org.mule.api.processor.LoggerMessageProcessor: DB に挿入