【问题标题】:Anypoint Studio Quartz Endpoint Poll a DBAnypoint Studio Quartz Endpoint 轮询数据库
【发布时间】:2014-10-27 16:16:48
【问题描述】:

我找不到关于如何安排 Quartz 轮询数据库中的表的真正教程。

我尝试单独检查,但它给了我 JDBC 关联类端点上的“已弃用”括号。

所以我有点迷路了...如何配置石英来调用 Mule 项目中制作的类,每次调度程序超时时都必须执行该类?

以及如何解析结果?

对不起,如果我要求很多东西,但我卡住了......

编辑:

这是对全局连接器的尝试:

<?xml version="1.0" encoding="UTF-8"?> 
<mule xmlns:jdbc-ee="http://www.mulesoft.org/schema/mule/ee/jdbc"
    xmlns:db="http://www.mulesoft.org/schema/mule/db" xmlns:servlet="http://www.mulesoft.org/schema/mule/servlet"
    xmlns:quartz="http://www.mulesoft.org/schema/mule/quartz" 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" version="CE-3.5.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.mulesoft.org/schema/mule/ee/jdbc http://www.mulesoft.org/schema/mule/jdbc/current/mule-jdbc-ee.xsd
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/quartz http://www.mulesoft.org/schema/mule/quartz/current/mule-quartz.xsd
http://www.mulesoft.org/schema/mule/servlet http://www.mulesoft.org/schema/mule/servlet/current/mule-servlet.xsd
http://www.mulesoft.org/schema/mule/db http://www.mulesoft.org/schema/mule/db/current/mule-db.xsd">
    <db:oracle-config name="Oracle_Global_Connector"
        host="laaaaaaaaaaaaaaaaa.bbbbbbbbbb.yyyy.it" port="1521" instance="IEEEEE"
        user="HTTTTTTTTT" password="HHHHHHHHHH" doc:name="Oracle Configuration" />


    <jdbc-ee:connector name="Database_Global"
        dataSource-ref="Oracle_Global_Connector" validateConnections="true" queryTimeout="-1"
        pollingFrequency="0" doc:name="Database">
        <jdbc-ee:query key="RetriveQuery" value="select * from MyTable" />
    </jdbc-ee:connector>


    <quartz:connector name="AWB_Quartz_Poller"
        validateConnections="true" doc:name="Quartz">
        <quartz:factory-property key="org.quartz.scheduler.instanceName"
            value="MuleScheduler1" />
        <quartz:factory-property key="org.quartz.threadPool.class"
            value="org.quartz.simpl.SimpleThreadPool" />
        <quartz:factory-property key="org.quartz.threadPool.threadCount"
            value="3" />
        <quartz:factory-property key="org.quartz.scheduler.rmi.proxy"
            value="false" />
        <quartz:factory-property key="org.quartz.scheduler.rmi.export"
            value="false" />
        <quartz:factory-property key="org.quartz.jobStore.class"
            value="org.quartz.simpl.RAMJobStore" /> <!-- Optional -->
    </quartz:connector>


    <flow name="testquartzFlow1" doc:name="testquartzFlow1">
        <quartz:inbound-endpoint jobName="MyFirstQuartzScheduler"
            repeatInterval="10000" responseTimeout="10000" doc:name="QuartzInbound">
            <quartz:event-generator-job groupName="TestScheduler"
                jobGroupName="TestScheduler">
                <quartz:payload>This is a job scheduler that will write to file
                    after every 10 seconds.</quartz:payload>
            </quartz:event-generator-job>
        </quartz:inbound-endpoint>
        <jdbc-ee:outbound-endpoint exchange-pattern="request-response"
            queryKey="RetriveQuery" queryTimeout="-1" connector-ref="Database_Global"
            doc:name="Database (JDBC)" />
    </flow> 
</mule>

谢谢

【问题讨论】:

    标签: java mule quartz-scheduler polling endpoint


    【解决方案1】:

    这是一个使用石英的例子..它会在每 10 秒后轮询一次数据库..并且不用担心“不推荐使用”的括号..它会起作用

      <spring:beans>
       <spring:bean id="DB_Source" name="DB_Source" class="org.enhydra.jdbc.standard.StandardDataSource">
          <spring:property name="url" value="Your DBURL"/>
          <spring:property name="driverName" value="Your Driver name"/>
        </spring:bean>
      </spring:beans>
    
      <jdbc-ee:connector name="Database_Global" dataSource-ref="DB_Source" validateConnections="true" queryTimeout="-1" pollingFrequency="0" doc:name="Database">
       <jdbc-ee:query key="RetriveQuery" value="Select * from TableName "/>
    </jdbc-ee:connector>
    
    
    <quartz:connector name="AWB_Quartz_Poller" validateConnections="true" doc:name="Quartz">
       <quartz:factory-property key="org.quartz.scheduler.instanceName" value="MuleScheduler1"/>
        <quartz:factory-property key="org.quartz.threadPool.class" value="org.quartz.simpl.SimpleThreadPool"/>
       <quartz:factory-property key="org.quartz.threadPool.threadCount" value="3"/>
       <quartz:factory-property key="org.quartz.scheduler.rmi.proxy" value="false"/>
        <quartz:factory-property key="org.quartz.scheduler.rmi.export" value="false"/>
        <quartz:factory-property key="org.quartz.jobStore.class" value="org.quartz.simpl.RAMJobStore"/> <!-- Optional -->
       </quartz:connector>
    
    
     <flow name="TestScheduleServiceFlow1" doc:name="TestScheduleServiceFlow1">
      <quartz:inbound-endpoint jobName="MyFirstQuartzScheduler" repeatInterval="10000" responseTimeout="10000" connector-ref="AWB_Quartz_Poller" doc:name="QuartzInbound">
     <quartz:event-generator-job groupName="TestScheduler" jobGroupName="TestScheduler">
      <quartz:payload>This is a job scheduler that will write to file after every 10 seconds.</quartz:payload>
     </quartz:event-generator-job>
     </quartz:inbound-endpoint>
     <jdbc-ee:outbound-endpoint exchange-pattern="request-response" queryKey="RetriveQuery" queryTimeout="-1" connector-ref="Database_Global" doc:name="Database (JDBC)"/>
     </flow>
     </mule>
    

    【讨论】:

    • mmm...我正在使用 Oracle 数据库,并且我创建了一个全局连接器...我可以使用它来将结果传达给出站端点吗?无论如何,一个spring bean就可以了,如何为ORacle配置它?谢谢!
    • 您可以使用 Oracle Global 连接器并使用 Jdbc 而不是 Spring bean 来引用它。我猜这会很好用
    • 我明白了,但我对 Anypoint 工作室太陌生了,无法自己做...我会尝试编辑主要请求...请继续帮助我...
    • 为此,您需要接受这个答案.. 在堆栈溢出中打开一个新的单独问题..
    • 请打开一个单独的新问题而不是编辑这个问题。一旦提供答案,您就无法将原始问题编辑为另一个问题。您需要接受给定问题的答案并需要针对不同的主题开一个新问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-16
    • 1970-01-01
    • 1970-01-01
    • 2015-08-29
    • 1970-01-01
    相关资源
    最近更新 更多