有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

我们可以从数据库(MySql)向java类发送触发器吗

通常的方法是从java调用数据库。但根据我的场景,一些第三方应用程序正在执行插入,而我的应用程序只是在读取。在这种情况下,是否可以做一些事情,以便无论何时有新数据或db数据得到更新,我都希望我的java获得这些数据。i、 数据库中的任何更改都会触发我的java类。通过不运行任何进程或线程,例如每2-5分钟运行一个进程来检查数据库,这将增加服务器上不必要的负载,而且它不会处于活动状态,这意味着数据库中的任何内容都将在平均时间内丢失


共 (2) 个答案

  1. # 1 楼答案

    我想这是不可能的

    (以下可能不是答案,而是建议。) java和其他应用程序似乎同时连接数据库。我认为问题来自这里。 第三方应用应通知我的应用。。 我的应用程序应该插入数据库,做我想做的事。这样就不会有这样的问题,我们可以做更灵活的工作。而且更安全。。 可能还有其他原因。。。但我希望你也考虑一下…p>

  2. # 2 楼答案

    对于这个问题,可能还有其他很好的解决方案(见我的评论),但一个可能的快速&;肮脏的技巧是编写插入/更新触发器,将新插入/更新的数据写入文件

    现在,为了使事情同步,您可以将该“文件”设置为命名管道(aFIFO),前提是您在*nix系统上运行。通过这种方式,您可以让Java代码在管道上执行阻塞读取,并且每次有新的插入/更新时,MySQL都会写入管道(小心避免EOF),消费者(您的Java代码)会自行解除阻塞,处理新数据,然后再次阻塞,避免不必要的负载