2014-10-27 54 views
0

我無法找到一個真正的教程來了解如何安排Quartz輪詢數據庫中的表。Anypoint Studio Quartz Endpoint調查數據庫

我試着單獨檢查,但它給了我關於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> 

感謝

回答

0

這裏是一個使用石英的例子..它會在每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> 
+0

mmm ...我使用的是Oracle數據庫,並且我創建了一個全局連接器...我可以使用它來將結果與出站端點進行通信嗎?無論如何,一個春天的bean會好起來的,如何配置它爲ORACLE?謝謝! – 2014-10-27 17:06:19

+0

您可以使用Oracle全局連接器,並使用Jdbc而不是Spring bean引用它。這將工作正常,我猜 – 2014-10-27 17:14:42

+0

我明白了,但我太新了Anypoint工作室做我自己的...我會嘗試編輯主要請求...請保持幫助我... – 2014-10-27 17:19:17