【问题标题】:PostgreSql Connection in Custom Mediator WSO2自定义中介 WSO2 中的 PostgreSql 连接
【发布时间】: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


【解决方案1】:

我认为如果您使用数据服务服务器来处理数据库逻辑并从您的代理中调用它会更好。在 DS 中您可以提供连接设置

或者具有在自定义中介器中处理不同文件URI 的逻辑。然后就可以使用连接池来处理了

【讨论】:

  • 嗨,你能给我一些使用数据服务服务器的教程以及如何从我的代理调用它吗?谢谢:)
  • 只需按照文档中的描述定义一个数据服务,并在代理服务处提供数据服务作为端点。 docs.wso2.org/display/DSS301/…
猜你喜欢
  • 2013-06-08
  • 2012-10-05
  • 2019-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多