Java servlet何时死亡的控制

Java servlet何时死亡的控制,java,servlets,websphere,Java,Servlets,Websphere,我将一些配置存储在servlet上下文中,在servlet之间共享。当前的方法是在调用任何servlet的init()方法时,将配置加载到servlet共享的静态hashmap的单个副本中。但问题是servlet不会消亡,因此即使我在servlet上下文中更改了配置,配置也不会重置。因为servlet不再调用init(),所以它们不会将配置重新加载到hashmap中 我正在使用WebSphere7,有没有什么地方可以配置一个servlet何时消亡,一个新的servlet何时诞生 我认为当有新请求

我将一些配置存储在servlet上下文中,在servlet之间共享。当前的方法是在调用任何servlet的init()方法时,将配置加载到servlet共享的静态hashmap的单个副本中。但问题是servlet不会消亡,因此即使我在servlet上下文中更改了配置,配置也不会重置。因为servlet不再调用init(),所以它们不会将配置重新加载到hashmap中

我正在使用WebSphere7,有没有什么地方可以配置一个servlet何时消亡,一个新的servlet何时诞生

我认为当有新请求时,从servlet上下文重新加载配置太笨拙了


编辑: 我有一个调度器,它将创建一个新线程来检查特定的数据文件,如果数据文件是新的,它将创建一个hashmap(包含数据文件的内容)作为servlet上下文中的一个属性


现在,servlet将检查hashmap的servlet上下文,并将其复制到静态hashmap中,以便在刚创建servlet时在servlet之间共享,并调用init()。但问题是servlet不会在执行过程中死亡,它只是使计划的操作无法工作。

为什么不将这些数据存储在JNDI中,servlet可以在需要时随时获取这些数据?这样,您就可以完全控制数据;servlet生命周期将不再重要

我正在使用WebSphere7,是否有 我可以在什么时候配置 servlet死了,一个新的servlet被激活 出生

没有

编辑:我有一个调度程序,它将 创建一个新线程以检查 特定数据文件,如果该数据文件 如果是新的,它将创建一个hashmap(使用 数据文件的内容)作为 servlet上下文中的属性

现在servlet将检查 hashmap的servlet上下文和 将其复制到静态hashmap以进行共享 在Servlet中使用,当它们只是 创建并调用init()。但是 问题是servlet不会死 在执行过程中,它只是使 计划的操作不起作用


将设置重构为单独的数据对象(而不是HashMap或servlet实例字段),由servlet实例共享。更改计划程序/警报以直接更新共享数据对象。

能否更具体地说明您在上下文中试图更改的内容?什么操作触发了此更改?好的,等一下,请稍后再检查此问题。为什么要为“servlets之间的共享使用”创建静态映射?为什么不只使用
ServletContext
?它实际上更像是一个“应用程序上下文”,因为它可以在整个应用程序中使用。我想要它的副本,这样它就不需要每次使用servlet上下文时都从servlet上下文中获取servlet上下文的属性。