【发布时间】:2013-08-27 13:17:22
【问题描述】:
我在 WSO2 ESB 中编写了我自己的自定义中介。我在我的自定义中介中使用 spring jdbc 和 postgresql。
我的问题在这里,我从 WSO2 的代理服务中调用了我的自定义中介,如下所示:
<proxy name="MyProxy"
transports="vfs"
startOnLoad="true"
trace="disable">
<target>
<inSequence>
<class name="com.test.CustomMediatorWithPostgres"/>
</inSequence>
</target>
<parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
<parameter name="transport.PollInterval">1</parameter>
<parameter name="transport.vfs.MoveAfterProcess">file:///test</parameter>
<parameter name="transport.vfs.FileURI">file:///test1</parameter>
<parameter name="transport.vfs.FileNamePattern">.*.txt</parameter>
<parameter name="transport.vfs.ContentType">text/plain</parameter>
<parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter>
我在我的自定义调解器的 init 方法中声明了连接。
我的问题在这里,例如,如果我创建 1000 个调用类 CustomMediatorWithPostgres 的代理,它将创建大约 1000 个与 postgre 的连接,所以如果我创建 100000代理服务也将创建 100000 个连接。这是不好的还是我可以做些什么来建立一个可以在整个代理服务中使用的全局连接?
谢谢....
【问题讨论】:
-
我认为这不是使用 jdbc 连接的正确方法。您可以定义一个连接池。例如,如果您定义一个 100 的连接池,那么在给定时间的最大连接数是 100。如果另一个进程试图建立连接,它将被阻塞。为什么要创建 100 个代理?
-
@Ragavan 您好,感谢您的回复。我需要做很多代理,每个代理会处理不同的 FileURI,所以我需要用不同的 FileURI 定义它们。并且每个代理都需要访问使用 postgre jdbc 连接的同一个自定义中介。对于这种情况,您有什么解决办法吗?
标签: postgresql wso2