如何增加数据库连接超时

时间:2015-04-30 04:00:44

标签: mule mule-studio mule-component

我在DB中有连接Timeout。我已经将连接Timeout设置为' 60sec'在DB中。我得到了以下错误。与DB人联系后,发现了。以下错误不是查询命令超时,主要是建立Mule到DB超时的连接。我有个疑问      这里连接时间= 60秒(表示一旦达到DB,等待执行查询的时间)。这是对的。

但是如何增加连接超时?,通过链接 http://www.mulesoft.org/documentation/display/current/Database+Connector+Examples

考虑提供maxWaitMillis = 20000,如下所示。但不确定这是否正确(因为文档讨论了连接轮询和缓存,但我不想在这里缓存)。

没有在连接轮询中给出任何其他值,这没关系。只是通过给出maxWaitMilli超时对我的情况是正确的,或者我错了。我只需要解决以下错误。请建议。

   Error:java.sql.SQLException: Cannot get connection for URL jdbc:sqlserver://c01.company.com;database=**;user=***;password=***** :    The TCP/IP connection to the host 01.company.com, port 022 has failed. Error: "connect timed out. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.". (org.mule.module.db.internal.domain.connection.ConnectionCreationException). Message payload is of type: String        


  <db:generic-config name="DB" url="${db}"
    driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
    doc:name="Generic Database Configuration" connectionTimeout="60">
    <db:pooling-profile maxWaitMillis="20000"/>
</db:generic-config>

 <db:stored-procedure config-ref="DB" doc:name="GetOrderXML">
        <db:parameterized-query><![CDATA[{call GetDetailXML('10', ?)}]]></db:parameterized-query>
        <db:in-param name="ln" type="CHAR" value="#[flowVars['ID']]"/>

    </db:stored-procedure>

提前致谢。

1 个答案:

答案 0 :(得分:1)

db pooling profile中的

maxWaitMillis属性是客户端调用getConnection()等待在池耗尽时签入或获取Connection的毫秒数。零意味着无限期地等待。

另一个超时值是连接超时,它是指超时之前数据库连接在非使用期间保持安全活动的时间,并要求再次登录。

以下链接: http://www.mulesoft.org/documentation/display/current/Database+Connector+Reference

查询超时在旧的jdbc连接器中可用(我假设它将设置JDBC语句queryTimeout属性)但我在新的db连接器中找不到。

http://www.mulesoft.org/documentation/display/current/JDBC+Transport+Reference