【发布时间】:2014-07-13 23:51:47
【问题描述】:
我的 Mule 流程中有一个 REST 服务:-
<flow name="restServiceFlow1" doc:name="restFlow1">
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8082" doc:name="HTTP"/>
<jersey:resources doc:name="REST">
<component class="com.test.services.schema.maindata.v1.Impl.MainDataImpl"/>
</jersey:resources>
</flow>
我还有另一个流,它将 JSON 请求从文件发送到该服务流并使用它:-
<flow name="restFlow2" doc:name="restFlow2">
<file:inbound-endpoint path="E:\backup\test" responseTimeout="10000" doc:name="File" connector-ref="File_Global">
<file:filename-regex-filter pattern="aa.txt" caseSensitive="false"/>
</file:inbound-endpoint>
<json:json-to-object-transformer returnClass="java.util.HashMap" doc:name="JSON to Object"/>
<http:outbound-endpoint exchange-pattern="request-response" contentType="application/json" method="GET" address="http://localhost:8082/getData/insert/?id=#[payload.insertDataRequest[0].id]&name=#[payload.insertDataRequest[0].name]&age=#[payload.insertDataRequest[0].age]&designation=#[payload.insertDataRequest[0].designation]" doc:name="HTTP"/>
</flow>
现在我的 JSON 请求是:-
{
"insertDataRequest": [
{
"id": "6",
"name": "ddddd",
"age": "55",
"designation": "WQQQQQ"
},
{
"id": "64",
"name": "mmmm",
"age": "545",
"designation": "TTTTTTTTTT"
}
]
}
现在,问题是每当我将 JSON 请求作为文件放置时……只插入第一个数据……那只是
{
"id": "6",
"name": "ddddd",
"age": "55",
"designation": "WQQQQQ"
}
正在插入 DB ..
.... .... 现在我希望将所有数据插入到数据库中...我该如何实现呢? ..我每个人都需要任何数据来获取所有数据吗??...请帮助...
【问题讨论】:
-
我看不到您用于插入数据库的配置或代码,因此无法真正回答。你能发帖吗?另外,为什么要在通过 http 发送之前转换为地图。
-
嗨 Ryan .. 感谢您的回复... 请找到我更新的问题以插入数据库 .. 我已使用 JDBCTemplate 插入在服务中运行良好的数据... 我唯一的问题正在使用 JSON 响应一次插入所有数据 .. 例如,如果我使用以下响应:-{“insertDataRequest”:[{“id”:“6”,“name”:“ddddd”,“age”:“ 55","designation": "WQQQQQ"} ]} .. 然后它工作正常,数据被插入..
-
但如果我使用以下 JSON 请求:-{"insertDataRequest": [{"id": "6","name": "ddddd","age": "55","designation ": "WQQQQQ"},{"id": "64", "name": "mmmm","age": "545","designation": "TTTTTTTTTT"}]} ... 只插入第一行.. 如何从 JSON 请求中插入所有行... ???
-
我在 Mule 配置中使用 restFlow2 Flow 从文件传递 JSON 请求以使用服务