Ciao a tutti Ho una classe ha un init-metodo definito in XMLaccesso illegale: questa istanza applicazione web è stata interrotta già
<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();
}
}
quando l'applicazione inizia questo thread funziona bene, e tutto funziona bene e dopo qualche volta ho avuto la seguente eccezione
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)
nel metodo doStuff:
public void doStuff(){
Session sessioned = Session.getDefaultInstance(System.getProperties(),
null);
Store store = sessioned.getStore("imap");
store.connect(hostName, userName, password);
.
.
.
}
non so il motivo per cui, tutte le idee?
Come posso risolvere questo problema in modo permanente? Qual è la causa principale di questo problema? Perché sta bloccando la mia applicazione di produzione. Non voglio riavviare i server tutto il tempo ... Ho bisogno di aiuto. – vissu
In secondo luogo, un riavvio di Tomcat ha risolto il problema. – Gruber
Questo è probabilmente un problema di hotdeployment + thread già avviati, probabilmente non propri thread ma da librerie di terze parti. [Vedi la mia risposta qui] (http://stackoverflow.com/a/41503819/1075524). –