java - 非法访问: this web application instance has been stopped already

标签 java multithreading tomcat jakarta-ee jakarta-mail

我有一个在 xml 中定义了初始化方法的类

<bean id="appStarter" class="com.myapp.myClass" init-method="init" destroy-method="destroy"/>

我的类(class):

public class myClass{

    private Thread t;

    public void init() {

             t = new Thread() {

                @Override
                public void run() {
                    while (true)
                        try {
                            doStuff();
                            Thread.sleep(1000);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                }

            };
            t.start();
        }

public void destroy() {
        t.interrupt();
    }

}

应用启动时,这些线程运行良好,一切正常 一段时间后我得到以下异常。

INFO: Illegal access: this web application instance has been stopped already.  Could not load com.sun.mail.imap.IMAPStore.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
java.lang.IllegalStateException
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1273)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
    at javax.mail.Session.getService(Session.java:755)
    at javax.mail.Session.getStore(Session.java:569)
    at javax.mail.Session.getStore(Session.java:531)
    at javax.mail.Session.getStore(Session.java:510)

在doStuff方法中:

public void doStuff(){

Session sessioned = Session.getDefaultInstance(System.getProperties(),
                null);
        Store store = sessioned.getStore("imap");
        store.connect(hostName, userName, password);
.
.
.

}

我不知道为什么,有什么想法吗?

最佳答案

重启tomcat和apache后问题解决,tomcat正在缓存旧版本的应用。

关于java - 非法访问: this web application instance has been stopped already,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4945153/

相关文章:

c++ - Recvfrom 在本地工作,但在执行之间的随机端口上不接收任何内容

tomcat - 更改 tomcat(或 tomEE 或 openEJB)中的 java.util 日志级别

java - 以编程方式使用 Bing map API 获取行驶距离

java - 如何在 servlet 级别捕获 OptimisticLockException?

java - Mac 上失败 "play new"

java - 如何在Java中暂停/重新启动SingleThreadExecutor(ExecutorService)?

java - 在 Berkeley DB JE 中进行比较和交换?

multithreading - 如何使用qt在多线程中绘制内容?

eclipse - 如何在eclipse 中配置maven tomcat 端口?

tomcat - tomcat 安全领域是否有 tomcat 匿名角色或用户?