Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在tomcat下使用cron4j。 我在 servlet 中启动调度
doGet(){ ... S.start(); ... }
即使我再次意外调用此 servlet,如何防止多次启动此 cron 任务?
如前所述,对于一次性初始化代码,最好使用其中一个ServletContextListener或方法。Servlet.init()但是,如果您想要一个答案,如何doGet()只做一次,然后int counter=0在 servlet 中声明和调用实例变量。在第一次调用doGet()增量 this时counter=1。检查计数器值,如果大于 0,则不要再次初始化。您可以使用同步块来增加值或将其声明为 volatile 以使其更加美观。
ServletContextListener
Servlet.init()
doGet()
int counter=0
counter=1