public class HibernateSessionFactoryListener extends java.lang.Object implements WebAppInit, WebAppCleanup, javax.servlet.ServletContextListener
Listener to init and cleanup the hibernate session factory automatically.
This listener is used with OpenSessionInViewListener
and
HibernateUtil
, or it will not work.
In WEB-INF/zk.xml, add following lines:
<listener>
<description>Hibernate SessionFactory Lifecycle</description>
<listener-class>org.zkoss.zkplus.hibernate.HibernateSessionFactoryListener</listener-class>
</listener>
Since ZK 3.0.1, if your hibernate configuration file name is not the default "hibernate.cfg.xml", you can specify it in WEB-INF/zk.xml. Just add following lines:
<preference>
<name>HibernateUtil.config</name>
<value>YOUR-HIBERNATE-CONFIG-FILENAME</value>
Sometimes, when using ZK with other backend framework, the Hibernate's SessionFactory
might has to be created earlier. Therefore, since ZK 3.0.1, we have implemented this
listener to be also a ServletContextListener
that you can
choose to specify it in web.xml instead and make it initialized right when your applcation
is deployed.
In WEB-INF/web.xml, add following lines:
<context-param>
<param-name>HibernateUtil.config</param-name>
<param-value>YOUR-HIBERNATE-CONFIG-FILENAME</param-value>
</context-param>
<listener>
<listener-class>org.zkoss.zkplus.hibernate.HibernateSessionFactoryListener</listener-class>
</listener>
Applicable to Hibernate version 3.2.ga or later
Constructor and Description |
---|
HibernateSessionFactoryListener()
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
void |
cleanup(WebApp wapp)
Deprecated.
called when a ZK application is about to be destroyed.
|
void |
contextDestroyed(javax.servlet.ServletContextEvent sce)
Deprecated.
|
void |
contextInitialized(javax.servlet.ServletContextEvent sce)
Deprecated.
|
void |
init(WebApp app)
Deprecated.
Called when a ZK application is created and initialized.
|
public HibernateSessionFactoryListener()
public void init(WebApp app)
WebAppInit
You could
retrieve the servlet context by WebApp.getServletContext()
init
in interface WebAppInit
public void cleanup(WebApp wapp)
WebAppCleanup
If this method throws an exception, the error message is only logged (user won't see it).
cleanup
in interface WebAppCleanup
public void contextDestroyed(javax.servlet.ServletContextEvent sce)
contextDestroyed
in interface javax.servlet.ServletContextListener
public void contextInitialized(javax.servlet.ServletContextEvent sce)
contextInitialized
in interface javax.servlet.ServletContextListener
Copyright © 2005-2023 Potix Corporation. All Rights Reserved.