是否可以从数据库向 Spring 应用程序发送插入通知?
Is it possible to send a insert notification from database to Spring application?
我目前正在尝试在检测到一行已插入 Oracle 数据库后在我的 spring 应用程序中触发一个事件 table.Having 数据库知识有限 PL/SQL,我正在努力找到最好的方法。
注意:table 中的插入发生在另一个软件中,这意味着我无法在正在处理的应用程序中管理它。
如果您使用的是 Oracle,则可以使用 DatabaseChangeListener
像这样
public class DBListener implements DatabaseChangeListener {
private DbChangeNotification toNotify;
public BNSDBListener(DbChangeNotification toNotify) {
this.toNotify = toNotify;
}
@Override
public void onDatabaseChangeNotification(oracle.jdbc.dcn.DatabaseChangeEvent e) {
synchronized( toNotify ) {
try {
toNotify.notifyDBChangeEvent(e);
} catch (Exception ex) {
Util.logMessage(CLASSNAME, "onDatabaseChangeNotification",
"Errors on the notifying object.", true);
Util.printStackTrace(ex);
Util.systemExit();
}
}
}
}
更多信息here
我目前正在尝试在检测到一行已插入 Oracle 数据库后在我的 spring 应用程序中触发一个事件 table.Having 数据库知识有限 PL/SQL,我正在努力找到最好的方法。 注意:table 中的插入发生在另一个软件中,这意味着我无法在正在处理的应用程序中管理它。
如果您使用的是 Oracle,则可以使用 DatabaseChangeListener
像这样
public class DBListener implements DatabaseChangeListener {
private DbChangeNotification toNotify;
public BNSDBListener(DbChangeNotification toNotify) {
this.toNotify = toNotify;
}
@Override
public void onDatabaseChangeNotification(oracle.jdbc.dcn.DatabaseChangeEvent e) {
synchronized( toNotify ) {
try {
toNotify.notifyDBChangeEvent(e);
} catch (Exception ex) {
Util.logMessage(CLASSNAME, "onDatabaseChangeNotification",
"Errors on the notifying object.", true);
Util.printStackTrace(ex);
Util.systemExit();
}
}
}
}
更多信息here