2014-05-01 36 views
0

我想用騾子JDBC標準重新連接策略....對於我用下面的代碼: -如何使用JDBC騾標準重新連接策略

<jdbc-ee:connector name="Database_Global" dataSource-ref="DB_Source" validateConnections="true" queryTimeout="-1" pollingFrequency="0" doc:name="Database"> 
     <jdbc-ee:query key="InsertQuery" value="INSERT INTO getData(ID,NAME,AGE,DESIGNATION)VALUES(?,?,?,?)"/> 
     <jdbc-ee:query key="RetriveQuery" value="Select * from getData where ID=?"/> 

<reconnect frequency="2000" blocking="false" count="5"/> 
</jdbc-ee:connector> 

現在,當過我嘗試啓動我的騾子應用我收到以下異常: -

org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'reconnect'. One of '{"http://www.mulesoft.org/schema/mule/jdbc":abstract-query, "http://www.mulesoft.org/schema/mule/ee/jdbc":sqlCommandExecutorFactory, "http://www.mulesoft.org/schema/mule/ee/jdbc":ackSqlCommandExecutorFactory, "http://www.mulesoft.org/schema/mule/ee/jdbc":sqlCommandRetryPolicyFactory}' is expected. 
    at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) 
    at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source) 
    at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) 
    at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) 
    at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) 
    at org.apache.xerces.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(Unknown Source) 
    at org.apache.xerces.impl.xs.XMLSchemaValidator.reportSchemaError(Unknown Source) 
    at org.apache.xerces.impl.xs.XMLSchemaValidator.handleStartElement(Unknown Source) 
    at org.apache.xerces.impl.xs.XMLSchemaValidator.emptyElement(Unknown Source) 
    at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) 
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) 
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) 
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) 
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) 
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) 
    at org.apache.xerces.parsers.DOMParser.parse(Unknown Source) 
    at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) 
    at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:75) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:388) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174) 
    at org.mule.config.spring.MuleApplicationContext.loadBeanDefinitions(MuleApplicationContext.java:113) 
    at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130) 
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:537) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:451) 
    at org.mule.config.spring.SpringRegistry.doInitialise(SpringRegistry.java:89) 
    at org.mule.registry.AbstractRegistry.initialise(AbstractRegistry.java:109) 

現在我的問題是如何使用重新連接策略騾子JDBC,這樣我可以處理,只要數據庫服務器已關閉....請幫助

回答

1

嘗試把recconect作爲第一要素:

<jdbc-ee:connector name="Database_Global" dataSource-ref="DB_Source" validateConnections="true" queryTimeout="-1" pollingFrequency="0" doc:name="Database"> 
     <reconnect frequency="2000" blocking="false" count="5"/> 
     <jdbc-ee:query key="InsertQuery" value="INSERT INTO getData(ID,NAME,AGE,DESIGNATION)VALUES(?,?,?,?)"/> 
     <jdbc-ee:query key="RetriveQuery" value="Select * from getData where ID=?"/> 
</jdbc-ee:connector> 
+0

哇...精彩瑞恩......謝謝你解決這個......你能告訴我如何處理套接字異常,並給提供自定義消息用戶以及如何在失敗的情況下將數據存儲在隊列中? –

+0

@AnirbanSenChowdhary你爲此提出了一個單獨的問題,你是否得到了答案?如果你可以在這裏鏈接你的問題,請稍等:) – Sudarshan