0

私は Mule Studioを使用してデータベースからデータを読み取る例を行いました

問題やエラーはありませんが、このプログラムを変更したいと思います。このプログラムは、多くのファイルを作成し、1 つのレコードを読み取り、ファイルに保存します。ラバ プログラムは、プログラムを終了するまで、大量のファイルを作成して作成します。すべてのレコードをファイルに保存し、プログラムを終了します (再度続行しないでください)。 )。私は自分のxmlファイルを残しました

 <jdbc:mysql-data-source name="MySQL_Data_Source" user="roor" password="1234" url="jdbc:mysql://localhost:3306/readdata" transactionIsolation="UNSPECIFIED" doc:name="MySQL Data Source"/>
<jdbc:connector name="Database" dataSource-ref="MySQL_Data_Source" validateConnections="true" queryTimeout="-1" pollingFrequency="0" doc:name="Database"/>
<flow name="DBC-PostgreSQL-Mule-ExperimentFlow1" doc:name="DBC-PostgreSQL-Mule-ExperimentFlow1">
    <jdbc:inbound-endpoint queryKey="selectplayers" queryTimeout="-1" pollingFrequency="1000" connector-ref="Database" doc:name="Database">
        <jdbc:transaction action="NONE"/>
        <jdbc:query key="selectplayers" value="Select * From Players;"/>
    </jdbc:inbound-endpoint>
    <mulexml:object-to-xml-transformer doc:name="Object to XML"/>
    <file:outbound-endpoint path="E:\me\Mule\sample\1" responseTimeout="10000" doc:name="File" outputPattern="#[function:dateStamp].txt"/>
</flow>

追加後のエラー:

xception in thread "main" org.mule.module.launcher.DeploymentInitException: SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'jdbc:inbound-endpoint'. One of '{"http://www.mulesoft.org/schema/mule/core":abstract-message-processor, "http://www.mulesoft.org/schema/mule/core":abstract-outbound-endpoint, "http://www.mulesoft.org/schema/mule/core":abstract-mixed-content-message-processor, "http://www.mulesoft.org/schema/mule/core":response}' is expected.
    at org.mule.module.launcher.application.DefaultMuleApplication.init(DefaultMuleApplication.java:220)
    at org.mule.module.launcher.application.ApplicationWrapper.init(ApplicationWrapper.java:64)
    at org.mule.module.launcher.DefaultMuleDeployer.deploy(DefaultMuleDeployer.java:46)
    at org.mule.tooling.server.application.ApplicationDeployer.run(ApplicationDeployer.java:56)
    at org.mule.tooling.server.application.ApplicationDeployer.main(ApplicationDeployer.java:88)
Caused by: org.mule.api.config.ConfigurationException: Line 16 in XML document from URL [file:/E:/program/MuleStudio/.mule/apps/dbc-postgresql-mule-experiment/DBC-PostgreSQL-Mule-Experiment.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'jdbc:inbound-endpoint'. One of '{"http://www.mulesoft.org/schema/mule/core":abstract-message-processor, "http://www.mulesoft.org/schema/mule/core":abstract-outbound-endpoint, "http://www.mulesoft.org/schema/mule/core":abstract-mixed-content-message-processor, "http://www.mulesoft.org/schema/mule/core":response}' is expected. (org.mule.api.lifecycle.InitialisationException) (org.mule.api.config.ConfigurationException)
    at org.mule.config.builders.AbstractConfigurationBuilder.configure(AbstractConfigurationBuilder.java:52)
    at org.mule.config.builders.AbstractResourceConfigurationBuilder.configure(AbstractResourceConfigurationBuilder.java:78)
    at org.mule.context.DefaultMuleContextFactory.createMuleContext(DefaultMuleContextFactory.java:80)
    at org.mule.module.launcher.application.DefaultMuleApplication.init(DefaultMuleApplication.java:208)
    ... 4 more

ここに画像の説明を入力

4

2 に答える 2

1

これは、コレクションの集約を使用して実現されます: http://www.mulesoft.org/documentation/display/current/Routing+Message+Processors#RoutingMessageProcessors-CollectionAggregator

あなたの場合、Mule が適切な数のレコードが集約されるのを待ってから、それらを単一のファイルに書き込むように、相関 ID とグループ サイズを選択に一致するように設定する必要があります。

于 2013-04-29T16:59:19.013 に答える
1

別の受信エンドポイントを使用して、jdbc データ抽出 (Quartz、VM など) をトリガーできます。このようにして、すべてのレコードが 1 つのミュール メッセージに保存され、最終的には 1 つのファイルに保存されます。

<flow name="DBC-PostgreSQL-Mule-ExperimentFlow1" doc:name="DBC-PostgreSQL-Mule-ExperimentFlow1">
    <quartz:inbound-endpoint jobName="start" repeatInterval="60000">
        <quartz:event-generator-job/>
    </quartz:inbound-endpoint>
    <jdbc:outbound-endpoint exchange-pattern="request-response" queryKey="selectplayers" queryTimeout="-1" connector-ref="Database" doc:name="Database">
        <jdbc:transaction action="NONE"/>
        <jdbc:query key="selectplayers" value="Select * From Players;"/>
    </jdbc:outbound-endpoint>
    <mulexml:object-to-xml-transformer doc:name="Object to XML"/>
    <file:outbound-endpoint path="E:\me\Mule\sample\1" responseTimeout="10000" doc:name="File" outputPattern="#[function:dateStamp].txt"/>
</flow>

よろしく

于 2013-04-29T20:24:02.920 に答える