-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathmycontainer-start.bsh
73 lines (58 loc) · 2.67 KB
/
mycontainer-start.bsh
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import com.googlecode.mycontainer.kernel.*;
import com.googlecode.mycontainer.kernel.boot.*;
import com.googlecode.mycontainer.kernel.deploy.*;
import com.googlecode.mycontainer.ejb.*;
import com.googlecode.mycontainer.jta.*;
import com.googlecode.mycontainer.jpa.*;
import com.googlecode.mycontainer.datasource.*;
import com.googlecode.mycontainer.web.*;
import com.googlecode.mycontainer.web.jetty.*;
import com.googlecode.mycontainer.test.web.*;
import com.googlecode.mycontainer.test.ejb.*;
System.setProperty("java.naming.factory.initial",
"com.googlecode.mycontainer.kernel.naming.MyContainerContextFactory");
builder = new ContainerBuilder();
builder.deployVMShutdownHook();
SessionInterceptorDeployer sessionInterceptorDeployer = builder
.createDeployer(SessionInterceptorDeployer.class);
sessionInterceptorDeployer.deploy();
builder.createDeployer(MyTransactionManagerDeployer.class).setName("TransactionManager").deploy();
DataSourceDeployer ds = builder
.createDeployer(DataSourceDeployer.class);
ds.setName("TestDS");
ds.setDriver("org.hsqldb.jdbcDriver");
ds.setUrl("jdbc:hsqldb:mem:.");
ds.setUser("sa");
ds.deploy();
JPADeployer jpa = builder.createDeployer(HibernateJPADeployer.class);
JPAInfoBuilder info = (JPAInfoBuilder) jpa.getInfo();
info.setPersistenceUnitName("test-pu");
info.setJtaDataSourceName("TestDS");
info.addJarFileUrl(com.googlecode.mycontainer.test.ejb.CustomerBean.class);
info.setPersistenceUnitRootUrl(com.googlecode.mycontainer.test.ejb.CustomerBean.class);
Properties props = info.getProperties();
props.setProperty("hibernate.dialect",
"org.hibernate.dialect.HSQLDialect");
props.setProperty("hibernate.hbm2ddl.auto", "create-drop");
props.setProperty("hibernate.show_sql", "true");
jpa.deploy();
ScannerDeployer scanner = builder.createDeployer(ScannerDeployer.class);
scanner.add(new StatelessScannableDeployer());
scanner.scan(EntityManagerWrapperBean.class);
scanner.deploy();
JettyServerDeployer webServer = builder
.createDeployer(JettyServerDeployer.class);
webServer.bindPort(8080);
webServer.setName("WebServer");
realm = new Realm("testRealm");
realm.config("teste", "pass", new String[] { "admin", "user" });
webServer.addRealm(realm);
ContextWebServer webContext = webServer.createContextWebServer();
webContext.setContext("/test");
webContext.setResources("mycontainer-test-web/src/main/webapp/");
webContext.getListeners().add(com.sun.faces.config.ConfigureListener.class);
webContext.getFilters().add(new FilterDesc(LogFilter.class, "/*"));
webContext.getServlets().add(new ServletDesc(WebTestServlet.class, "/test.txt"));
webContext.getFilters().add(new FilterDesc(WebTestFilter.class, "/*"));
webServer.deploy();
builder.waitFor();