gpt4 book ai didi

database - postgresql 触发器 - 定义全局资源 (java)

转载 作者:行者123 更新时间:2023-11-29 14:24:08 27 4
gpt4 key购买 nike

我有一个 PostgreSQL 服务器,当某个表发生更新时,我需要运行一些代码。 PostgreSQL 触发器(使用 PL/java)允许我调用静态 java 方法。我需要执行的方法使用有关更新内容的信息向外部服务器执行 RPC。

我想不通的是如何创建一个跨调用持续存在的全局资源(在这种情况下,与外部服务器的网络连接)。

一种方法可能是为全局资源创建一个静态变量。当我的触发器方法第一次被调用时,初始化那些变量。在随后的调用中只需使用它。这行得通吗,还有其他方法吗?

我会喜欢的是我可以为我的触发器实现的通用触发器接口(interface)。

最佳答案

即使您这样做 - 它也只会对给定的 session 是“全局的” - 而不是跨多个 session 。

但是 - 这一点没有实际意义,因为在我看来,方法是错误的。

与其添加连接到外部系统的触发器,我更愿意:

  1. 创建使用 NOTIFY 的触发器告知变化
  2. 添加 LISTEN 的应用程序用于通知并执行远程工作。

关于database - postgresql 触发器 - 定义全局资源 (java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8615408/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com