【问题标题】:Calling Java Application from Postgres Database trigger从 Postgres 数据库触发器调用 Java 应用程序
【发布时间】:2018-06-23 18:35:15
【问题描述】:

一旦记录被插入、删除或更新到数据库表中,我正在尝试执行我的 java 应用程序。为此,我打算编写一个在插入时调用的触发器。我的问题是,我可以从这个触发器调用 java 应用程序吗?

【问题讨论】:

  • 我认为这是不可能的。尝试不同的方法 - 例如。 java 应用程序侦听 db 上的更改,如果出现特定事件,则执行所需的工作。
  • java 应用监听特定记录在数据库表中被插入/修改/删除?

标签: java database postgresql triggers


【解决方案1】:

PythonPerl 等有一个 PL 等效项,可以在 SQL 函数中编写(尽管有时相当大的开销),Java 没有。即使 Java 应用程序可以在触发后通过命令行或其他方式启动,单独启动 JVM 的开销也会造成性能灾难。

我建议考虑让 Postgres 通过notify 发出通知。这将允许您发送一个可以被客户端(该客户端可以是您的 Java 应用程序,或者执行一些额外的 ETL 以使其为您的应用程序做好准备的中间程序)侦听的有效负载(尽管有大小限制)。这应该允许以高性能的方式提供和处理数据。

【讨论】:

    猜你喜欢
    • 2011-12-22
    • 2019-04-27
    • 1970-01-01
    • 1970-01-01
    • 2012-04-13
    • 1970-01-01
    • 2013-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多