IDEA 6.0.1
mySQL 5.0
mysql-connector-java-3.1.12
hibernate 3.0.5
Ситуация следующая:
всё запускается и работает нормально, без всякий предупреждений,
но при редеплоинге проекта - Make Project (Ctrl+F9) в ИДЕИ повяляеца следующая картина:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22 . 11 . 2006 12 : 08 : 39 org.apache.catalina.startup.HostConfig checkResources
INFO: Undeploying context []
22 . 11 . 2006 12 : 08 : 41 org.apache.catalina.loader.WebappClassLoader loadClass
INFO: Illegal access: this web application instance has been stopped already. Could not load com.mysql.jdbc.Messages. 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: 1238 )
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java: 1198 )
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java: 319 )
at com.mysql.jdbc.CommunicationsException.<init>(CommunicationsException.java: 174 )
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java: 2710 )
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java: 2621 )
at com.mysql.jdbc.MysqlIO.quit(MysqlIO.java: 1338 )
at com.mysql.jdbc.Connection.realClose(Connection.java: 4429 )
at com.mysql.jdbc.Connection.cleanup(Connection.java: 1973 )
at com.mysql.jdbc.Connection.finalize(Connection.java: 3114 )
at java.lang.ref.Finalizer.invokeFinalizeMethod( Native Method)
at java.lang.ref.Finalizer.runFinalizer(Finalizer.java: 83 )
at java.lang.ref.Finalizer.access$ 100 (Finalizer.java: 14 )
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java: 160 )
log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester.sax).
log4j:WARN Please initialize the log4j system properly.
Контекст изменяеца, все работает нормально, но всё же интересно что ему не нравица ?
Работа с базой :
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
public class CategoryManager {
private static final CategoryManager CATEGORY_MANAGER = new CategoryManager();
public static CategoryManager getInstance() {
return CATEGORY_MANAGER;
}
private CategoryManager() {
}
public void addCategory(Category category) throws DbException {
try {
Session session = HibernateUtil.currentSession();
Transaction tx = session.beginTransaction();
session.save(category);
tx.commit();
HibernateUtil.closeSession();
} catch (HibernateException e) {
throw new DbException("Error during category adding", e);
}
}
.........
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
// Create the SessionFactory
sessionFactory = new Configuration().configure().buildSessionFactory();
} catch (HibernateException ex) {
throw new RuntimeException("Configuration problem: " + ex.getMessage(), ex);
}
}
public static final ThreadLocal session = new ThreadLocal();
public static Session currentSession() throws HibernateException {
Session s = (Session) session.get();
// Open a new Session, if this Thread has none yet
if (s == null ) {
s = sessionFactory.openSession();
session.set(s);
}
return s;
}
public static void closeSession() throws HibernateException {
Session s = (Session) session.get();
session.set( null );
if (s != null )
s.close();
}
}