(2)创建HibernatePlugIn.java,代码如下:
package zy.pro.td.plugin; /* * Created on Oct 4, 2004 * * To change the template for this generated file go to * Window>Preferences>Java>Code Generation>Code and Comments */ import javax.servlet.ServletException; import org.apache.struts.action.ActionServlet; import org.apache.struts.action.PlugIn; import org.apache.struts.config.ModuleConfig; import javax.naming.Context; import javax.naming.InitialContext; import zy.pro.td.util.HibernateSessionFactory; /** * @author sunil * *This class will initialize hibernate and bind SessionFactory in JNDI at the *time of application and startup and unbind it from JNDI at the time of application * shutdown */ public class HibernatePlugin implements PlugIn { private static final String jndi_hibernate = "jndi_hibernate_factory"; private HibernateSessionFactory hsf; private String name; public HibernatePlugin() { hsf=new HibernateSessionFactory(); } // This method will be called at the time of application shutdown public void destroy() { System.out.println("Entering HibernatePlugIn.destroy()"); //Put hibernate cleanup code here System.out.println("Exiting HibernatePlugIn.destroy()"); } //This method will be called at the time of application startup public void init(ActionServlet actionServlet, ModuleConfig config) throws ServletException { System.out.println("Entering HibernatePlugIn.init()"); System.out.println("Value of init parameter " + getName()); //Uncomment next two lines if you want to throw UnavailableException from your servlet //if(true) //throw new ServletException("Error configuring HibernatePlugIn"); System.out.println("Exiting HibernatePlugIn.init()"); bindFactoryToJNDI(); } private void bindFactoryToJNDI() { try { Context ctx = new InitialContext(); ctx.bind(this.jndi_hibernate,hsf); System.out.println("bindind the hibernate factory to JNDI successfully"); } catch (Exception e) { e.printStackTrace(); } } public String getName() { return name; } public void setName(String string) { name = string; } }
|