hola a todos tengo una clase tiene un init-método definido en XMLAcceso ilegal: esta instancia de aplicación web ha sido ya detenido
<bean id="appStarter" class="com.myapp.myClass" init-method="init" destroy-method="destroy"/>
myClass:
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();
}
}
cuando se inicia la aplicación de este hilos funciona bien, y todo funciona muy bien y después de algún tiempo tengo la siguiente excepción
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)
en el método hacerTarea:
public void doStuff(){
Session sessioned = Session.getDefaultInstance(System.getProperties(),
null);
Store store = sessioned.getStore("imap");
store.connect(hostName, userName, password);
.
.
.
}
no sé por qué, alguna idea?
¿Cómo puedo solucionar esto de forma permanente? ¿Cuál es la causa raíz de este problema? Porque está bloqueando mi aplicación de producción. No quiero reiniciar servidores todo el tiempo ... Necesito ayuda. – vissu
En segundo lugar, un reinicio de Tomcat hizo que el problema desapareciera. – Gruber
Es probable que se trate de un problema de implementación en caliente + de hilos iniciados, probablemente no de hilos propios, sino de bibliotecas de terceros. [Vea mi respuesta aquí] (http://stackoverflow.com/a/41503819/1075524). –