私はJavaオブジェクトを作成し、呼び出し可能に実装します。このメソッドを使用してペイロードを変更します。次に、2番目のデータベースコンポーネントを使用し、2番目のクエリでペイロードオブジェクト(MEL)を使用します。
このオブジェクトは、データをデータベースコンポーネントの出力フローから、子データの埋め込み配列でJSONを表示するために使用されるハイブリッドオブジェクトに変換します。
https://github.com/dlwhitehurst/modusbox-orders/blob/master/src/main/java/org/dlw/transport/OrdersTransformSingleton.java
呼び出し可能なメソッドの戻り値をチェックし、あなた自身のデータを「変換」する方法を参照してください。
ここには、必要なJavaコンポーネントをインスタンス化するミュール設定のスニペットがあります。
<spring:beans>
<spring:bean id="ordersTransform" name="OrdersTransformSingleton"
class="org.dlw.transport.OrdersTransformSingleton" scope="singleton">
</spring:bean>
<spring:bean id="jdbcDataSource" class="org.enhydra.jdbc.standard.StandardDataSource" destroy-method="shutdown">
<spring:property name="driverName" value="com.mysql.jdbc.Driver"/>
<spring:property name="url" value="${database.url}"/>
</spring:bean>
</spring:beans>
オブジェクトは、このような流れの中で使用されている...
<flow name="get:/orders:api-config">
<set-payload value="[
 {
 "orderId": 1233,
 "placementDate": "2016-06-02",
 "customerName": "Sally Hansen",
 "orderItems":[
 {
 "orderItemId": 1323,
 "orderId": 438577,
 "itemId": 23058,
 "itemName": "Salt",
 "itemCount": 3,
 "qtyItemCost": "$2.76"
 },
 {
 "orderItemId": 1323,
 "orderId": 438577,
 "itemId": 23058,
 "itemName": "Pepper",
 "itemCount": 3,
 "qtyItemCost": "$8.79"
 }
 ] 
 },
 {
 "orderId": 1233,
 "placementDate": "2016-06-02",
 "customerName": "Billy Wilson",
 "orderItems":[
 {
 "orderItemId": 1323,
 "orderId": 438577,
 "itemId": 23058,
 "itemName": "Wheat Flour",
 "itemCount": 3,
 "qtyItemCost": "$10.12"
 },
 {
 "orderItemId": 1323,
 "orderId": 438577,
 "itemId": 23058,
 "itemName": "Tomato Paste",
 "itemCount": 3,
 "qtyItemCost": "$9.21"
 }
 ] 
 }
]" doc:name="Set Payload"/>
<db:select config-ref="MySQL_Configuration" doc:name="Database">
<db:parameterized-query><![CDATA[SELECT a.orderId, a.customerName, a.placementDate, b.orderItemId, b.itemId, c.itemName, b.itemCount, c.itemCost FROM modusbox.orders a, modusbox.orderitems b, modusbox.items c WHERE a.orderId = b.orderId AND b.itemId = c.itemId]]></db:parameterized-query>
</db:select>
<component doc:name="Java">
<spring-object bean="OrdersTransformSingleton" />
</component>
<json:object-to-json-transformer doc:name="Object to JSON"/>
<logger level="INFO" doc:name="Logger"/>
</flow>
あなたはこの例では、グループ分けに基づいてメッセージを分割しません。ご希望の出力 –