如何使用JDBC骡标准重新连接策略

问题描述:

我想用骡子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,这样我可以处理,只要数据库服务器已关闭....请帮助

尝试把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