Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当数据库中的特定表值更改时通知应用程序_Java_Sql Server_Sql Server 2008 R2 - Fatal编程技术网

Java 当数据库中的特定表值更改时通知应用程序

Java 当数据库中的特定表值更改时通知应用程序,java,sql-server,sql-server-2008-r2,Java,Sql Server,Sql Server 2008 R2,我使用的是struts2,我希望当mssql 2008 r2数据库中特定表的值发生更改时,会通知我的应用程序。有人能解释一下吗 最好的解决方案是使用cron,即在后台运行sun的异步方法, 为需要从中获取更新的特定表创建一个触发器, 它使用时间戳将数据存储在一个通知表中,cron将在特定的持续时间内自动启动,如2分钟后(2000毫秒),这将继续cron运行进程,并在任何数据库更改后每2分钟通知一次(作为通知)您在研究中发现了什么吗?可以设置数据库触发器以响应数据事件。或者,如果您希望保持应用程序

我使用的是struts2,我希望当mssql 2008 r2数据库中特定表的值发生更改时,会通知我的应用程序。有人能解释一下吗

最好的解决方案是使用cron,即在后台运行sun的异步方法, 为需要从中获取更新的特定表创建一个触发器,
它使用时间戳将数据存储在一个通知表中,cron将在特定的持续时间内自动启动,如2分钟后(2000毫秒),这将继续cron运行进程,并在任何数据库更改后每2分钟通知一次(作为通知)

您在研究中发现了什么吗?可以设置数据库触发器以响应数据事件。或者,如果您希望保持应用程序的控制,您可以轮询数据库以获取更改。问题:由您的应用程序更改还是由其他人更改?您尝试过什么吗?您的应用程序公开了什么类型的接口?你肯定需要一个触发器,或者如果你的更新是通过存储过程完成的,你可以在那里发出一些东西;但是,根据您的应用程序从此处公开的内容,实现将非常特定于您可以接受的内容取决于轮询实例的数量和查询的大小,这可能会使数据库陷入停滞状态,但必须遵循上述解决方案之一,除了另一种方式在需要通知时很难遍历墙记录之外,还有没有更好的方法来解决user3804142的问题