0
  • 我需要构建一个始终运行的线程/进程,并且可以通过其他servlts和JSP页面进行查询......
  • 该线程/进程将处理大文件,因此它将缓存文件块以减少文件访问(加上一些其他处理)......
  • 因此,该线程/进程将被加载并等待任何查询来回答......只要服务器正在运行。

我想在所有的servelt类之间创建一个通用的静态类,但我发现这行不通(tomcat将每个新的servelt作为一个全新的程序处理)

那么我可以尝试的其他选择是什么?

4

2 回答 2

3

我认为你有两个选择:

  1. 使用ServletContext访问应用程序范围的对象。
  2. 使用更复杂的解决方案,例如ehcache将数据放入内存。
于 2012-05-10T07:42:32.137 回答
0

除了莫里茨提出的选项之外的其他选项

  1. 在 Tomcat 内部:使用Global JNDI注册一个可供所有 servlet 访问的全局对象
  2. 在同一个 JVM 中:使用Java Service Wrapper 之类的启动器以编程方式(嵌入)启动共享资源(静态类、存储库等)和 Tomcat 。您将需要定义一个由您的共享资源实现并可供您的 servlet 使用的小型 API。
  3. 跨 JVM 分布:memcached、hazelcast 等...
于 2012-05-10T10:06:35.253 回答