mywork-web/src/main/java/ru/indvdum/mywork/MyWork.java
changeset 16 2d6a668325f9
parent 5 14e23102379e
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/mywork-web/src/main/java/ru/indvdum/mywork/MyWork.java	Wed Nov 23 17:52:25 2011 +0300
     1.3 @@ -0,0 +1,78 @@
     1.4 +package ru.indvdum.mywork;
     1.5 +
     1.6 +import java.util.Date;
     1.7 +
     1.8 +import javax.persistence.EntityManager;
     1.9 +import javax.persistence.EntityManagerFactory;
    1.10 +import javax.persistence.Persistence;
    1.11 +
    1.12 +import org.mortbay.component.LifeCycle;
    1.13 +import org.mortbay.component.LifeCycle.Listener;
    1.14 +import org.mortbay.jetty.Connector;
    1.15 +import org.mortbay.jetty.Server;
    1.16 +import org.mortbay.jetty.servlet.Context;
    1.17 +import org.mortbay.jetty.servlet.ServletHolder;
    1.18 +
    1.19 +import com.vaadin.terminal.gwt.server.ApplicationServlet;
    1.20 +
    1.21 +/**
    1.22 + * @author indvdum
    1.23 + * 12.08.2011 17:31:37
    1.24 + *
    1.25 + */
    1.26 +public class MyWork {
    1.27 +	public static EntityManagerFactory EMF = null;
    1.28 +	public static EntityManager EM = null;
    1.29 +
    1.30 +	/**
    1.31 +	 * @param args
    1.32 +	 * @throws Exception 
    1.33 +	 */
    1.34 +	public static void main(String[] args) throws Exception {
    1.35 +		Server server = new Server();
    1.36 +		Connector connector = new org.mortbay.jetty.nio.SelectChannelConnector();
    1.37 +		connector.setPort(8080);
    1.38 +		connector.setMaxIdleTime(720000);
    1.39 +		server.addConnector(connector);
    1.40 +		
    1.41 +		Context root = new Context(server, "/", Context.SESSIONS);
    1.42 +		ServletHolder vaadinServlet = new ServletHolder(new ApplicationServlet());
    1.43 +		vaadinServlet.setInitParameter("application", "ru.indvdum.mywork.vaadin.MyWorkApplication");
    1.44 +		root.addServlet(vaadinServlet, "/*");
    1.45 +		
    1.46 +		server.addLifeCycleListener(new Listener(){
    1.47 +
    1.48 +			@Override
    1.49 +			public void lifeCycleFailure(LifeCycle event, Throwable cause) {
    1.50 +				
    1.51 +			}
    1.52 +
    1.53 +			@Override
    1.54 +			public void lifeCycleStarted(LifeCycle event) {
    1.55 +				EMF = Persistence.createEntityManagerFactory("mywork");
    1.56 +				EM = EMF.createEntityManager();
    1.57 +			}
    1.58 +
    1.59 +			@Override
    1.60 +			public void lifeCycleStarting(LifeCycle event) {
    1.61 +				
    1.62 +			}
    1.63 +
    1.64 +			@Override
    1.65 +			public void lifeCycleStopped(LifeCycle event) {
    1.66 +				
    1.67 +			}
    1.68 +
    1.69 +			@Override
    1.70 +			public void lifeCycleStopping(LifeCycle event) {
    1.71 +				EM.close();
    1.72 +				EMF.close();
    1.73 +			}
    1.74 +			
    1.75 +		});
    1.76 +		
    1.77 +		server.start();
    1.78 +		System.out.println("Jetty server started at " + new Date());
    1.79 +	}
    1.80 +
    1.81 +}