Database mule中的分割数据库输出
我有下面的数据库输出,我如何分割它Database mule中的分割数据库输出,database,mule,splitter,Database,Mule,Splitter,我有下面的数据库输出,我如何分割它 [{country=United States, accountID=4410, street=12345 Green Rd, state=Colorado, name=Dale Burgers, city=Boulder, postal=80305}, {country=United Kingdom, accountID=4411, street=capthorne Avenue, state=Harrow, name=Arjun, city=london
[{country=United States, accountID=4410, street=12345 Green Rd, state=Colorado, name=Dale Burgers, city=Boulder, postal=80305}, {country=United Kingdom, accountID=4411, street=capthorne Avenue, state=Harrow, name=Arjun, city=london, postal=ha29eb}, {country=usa, accountID=4412, street=elden st, state=va, name=Home Foods, city=herndon, postal=20170}, {country=usa, accountID=4413, street=herndon parkway, state=va, name=Home Foods 2, city=herndon, postal=20170}, {country=usa, accountID=4414, street=van barun st, state=va, name=home foods 3, city=herndon, postal=20170}, {country=United Kingdom, accountID=4415, street=355 E Capthorne Court, Alexandra Avenue, state=Harrow, name=Barkha , city=Haarow London, postal=ha29eb}, {country=Canada, accountID=4416, street=4130 Chromoly, state=BC, name=Spawn Cycles, city=Squamish, postal=L0L0L0}, {country=Canada, accountID=4417, street=1 Yonge Street, state=BC, name=Post Spawn, city=Vancouver, postal=L1L1L1}, {country=Canada, accountID=4418, street=1 Yonge Street, state=BC, name=Post Post Spawn, city=Vancouver, postal=L2L2L2}, {country=Canada, accountID=4419, street=1 Yonge Street, state=BC, name=Post Post Post Spawn, city=Vancouver, postal=L0L0L0}]
我尝试将JSON添加到对象转换器,形成列表类型和集合拆分器,但只传递了第一条记录
{country=United States, accountID=4410, street=12345 Green Rd, state=Colorado, name=Dale Burgers, city=Boulder, postal=80305}
数据库输出应仅为列表或迭代器。但是如果你得到的是JSON。您可以通过以下方式实现它 使用将返回列表的Dataweave-
%dw 1.0
%output application/java
---
payload
使用它将返回迭代器(拆分迭代器)-
使用JSON到对象转换器-
<json:json-to-object-transformer returnClass="java.util.List" doc:name="JSON to Object"/>
希望这能有所帮助。最简单的方法是使用json-to-object transformer将json转换为java对象,这将为您提供一个对象集合。然后,您可以使用Mule中的foreach处理器在此集合上循环
希望获得此帮助。数据库连接器正在以
java.util.LinkedList
格式返回值,如果要将结果按记录拆分,请在数据库轮询组件之后对每个作用域使用。
请在下面找到示例代码段:
<db:mysql-config name="MySQL_Configuration" host="hostname" port="3306" user="mule" password="welcome1" database="schema" doc:name="MySQL Configuration"/>
<flow name="database-47729955Flow">
<poll doc:name="Poll">
<fixed-frequency-scheduler frequency="10" timeUnit="SECONDS"/>
<db:select config-ref="MySQL_Configuration" doc:name="Database">
<db:parameterized-query><![CDATA[SELECT * FROM schema.table_name where B2B_REQUEST_TYPE='Send';]]></db:parameterized-query>
</db:select>
</poll>
<foreach doc:name="For Each">
<logger message="#['\n Database record is:'+payload]" level="INFO" doc:name="Logger"/>
<logger message="#['\nNext record']" level="INFO" doc:name="Logger"/>
</foreach>
</flow>
问候,
Sreenivas B@Mahesh_Loya你能看一下吗?是的,我可以这样做。。但使用拆分器组件失败了。。我不确定我犯了什么错误。我想在这种情况下,您需要发布一个样本片段来测试这个问题
<db:mysql-config name="MySQL_Configuration" host="hostname" port="3306" user="mule" password="welcome1" database="schema" doc:name="MySQL Configuration"/>
<flow name="database-47729955Flow">
<poll doc:name="Poll">
<fixed-frequency-scheduler frequency="10" timeUnit="SECONDS"/>
<db:select config-ref="MySQL_Configuration" doc:name="Database">
<db:parameterized-query><![CDATA[SELECT * FROM schema.table_name where B2B_REQUEST_TYPE='Send';]]></db:parameterized-query>
</db:select>
</poll>
<foreach doc:name="For Each">
<logger message="#['\n Database record is:'+payload]" level="INFO" doc:name="Logger"/>
<logger message="#['\nNext record']" level="INFO" doc:name="Logger"/>
</foreach>
</flow>