gpt4 book ai didi

java - 贾克斯 rs : How can I run a method automatically everytime my server restarts?

转载 作者:行者123 更新时间:2023-11-30 06:13:36 25 4
gpt4 key购买 nike

我做了一个 jax rs jersey 网络服务。服务器重新启动时,我必须从数据库加载数据。我现在正在做的是调用这个 url

http://localhost:8080/jersey-openshift-quickstart2/logisure/load

它从数据库中加载数据,并通过调用线程每 20 秒更新一次。基于此数据,其他 API 功能起作用。现在,当我将它部署到云上时,我发现服务器每 2-3 天重启一次,所以我需要我的网络服务自动调用

http://localhost:8080/jersey-openshift-quickstart2/logisure/load

当我的服务器重新启动时。我该怎么做?

最佳答案

您可以编写一个 ServletContextListener,它从 contextInitialized() 方法调用您的方法。您将监听器附加到 web.xml 中的 webapp,例如

<listener>
<listener-class>listeners.MyListener</listener-class>
</listener>

或者,如果您使用的是 Java 配置而不是 web.xml,则可以使用 Java 代码执行相同的操作。

这是上下文监听器的代码:

package listeners;

public class MyListener implements javax.servlet.ServletContextListener {

public void contextInitialized(ServletContext context) {
//load data here
}
}

这将适用于任何 Servlet 容器和任何框架(您不依赖于 Jersey)。

关于java - 贾克斯 rs : How can I run a method automatically everytime my server restarts?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31650520/

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