b74b0710d2078f461f82aefc3282f8dd5f05916b
[aai/traversal.git] / aai-traversal / src / main / config / ajsc-jetty.xml
1 <?xml version="1.0"  encoding="UTF-8"?>
2 <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
3 <Configure id="ajsc-server" class="org.eclipse.jetty.server.Server">
4         <!-- DO NOT REMOVE!!!! This is setting up the AJSC Context -->
5         <New id="ajscContext" class="org.eclipse.jetty.webapp.WebAppContext">
6                 <Set name="contextPath"><SystemProperty name="AJSC_CONTEXT_PATH" /></Set>
7                 <Set name="extractWAR">true</Set>
8                 <Set name="tempDirectory"><SystemProperty name="AJSC_TEMP_DIR" /></Set>
9                 <Set name="war"><SystemProperty name="AJSC_WAR_PATH" /></Set>
10                 <Set name="descriptor"><SystemProperty name="AJSC_HOME" />/etc/runner-web.xml</Set>
11                 <Set name="overrideDescriptor"><SystemProperty name="AJSC_HOME" />/etc/ajsc-override-web.xml</Set>
12                 <Set name="throwUnavailableOnStartupException">true</Set>
13                 <Set name="servletHandler">
14                         <New class="org.eclipse.jetty.servlet.ServletHandler">
15                                 <Set name="startWithUnavailable">false</Set>
16                         </New>
17                 </Set>
18                 <Set name="extraClasspath">
19                         <SystemProperty name="AJSC_HOME" />/extJars/aai-core-<SystemProperty name="aai-core.version"/>.jar,
20                         <SystemProperty name="AJSC_HOME" />/extJars/traversal.jar,
21                         <SystemProperty name="AJSC_HOME" />/extJars/logback-core-1.1.7.jar,
22                         <SystemProperty name="AJSC_HOME" />/extJars/logback-access-1.1.7.jar,   
23                         <SystemProperty name="AJSC_HOME" />/extJars/eelf-core-1.0.0.jar,
24                 <SystemProperty name="AJSC_HOME" />/extJars/slf4j-api-1.7.21.jar
25                 </Set>
26         </New>
27         
28         <Set name="handler">
29                 <New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
30                         <Set name="handlers">
31                                 <Array type="org.eclipse.jetty.server.Handler">
32                                         <Item>
33                                                 <New id="Contexts"
34                                                         class="org.eclipse.jetty.server.handler.ContextHandlerCollection">
35                                                         <Set name="Handlers">
36                                                                 <Array type="org.eclipse.jetty.webapp.WebAppContext">
37                                                                         <Item>
38                                                                                 <Ref refid="ajscContext" />
39                                                                         </Item>
40                                                                 </Array>
41                                                         </Set>
42                                                 </New>
43                                         </Item>
44                                         <!-- add a RequestLogHandler -->
45                                         <Item>
46                                                 <New id="RequestLogHandler" class="org.eclipse.jetty.server.handler.RequestLogHandler">
47                                                   <Set name="requestLog">
48                                                         <New id="requestLogImpl" class="ch.qos.logback.access.jetty.RequestLogImpl">
49                                                            <Set name="fileName"><SystemProperty name="AJSC_HOME" />/bundleconfig/etc/localhost-access-logback.xml</Set>
50                                                         </New>   
51                                                   </Set>
52                                                 </New>
53                                         </Item>
54                                 </Array>
55                         </Set>
56                 </New>
57         </Set>
58         
59         <Call name="addBean">
60                 <Arg>
61                         <New id="DeploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager">
62                                 <Set name="contexts">
63                                         <Ref refid="Contexts" />
64                                 </Set>
65                                 <Call id="extAppHotDeployProvider" name="addAppProvider">
66                                         <Arg>
67                                                 <New class="org.eclipse.jetty.deploy.providers.WebAppProvider">
68                                                         <Set name="monitoredDirName"><SystemProperty name="AJSC_HOME" />/extApps</Set>
69                                                         <Set name="scanInterval">10</Set>
70                                                         <Set name="extractWars">true</Set>
71                                                 </New>
72                                         </Arg>
73                                 </Call>
74                         </New>
75                 </Arg>
76         </Call>
77         
78         <Call name="addConnector">
79                 <Arg>
80                         <New class="org.eclipse.jetty.server.ServerConnector">
81                                 <Arg name="server">
82                                         <Ref refid="ajsc-server" />
83                                 </Arg>
84                                 <Set name="port"><SystemProperty name="AJSC_HTTP_PORT" default="8083" /></Set>
85                         </New>
86                 </Arg>
87         </Call>
88
89         <Call id="sslConnector" name="addConnector">
90                 <Arg>
91                         <New class="org.eclipse.jetty.server.ServerConnector">
92                                 <Arg name="server">
93                                         <Ref refid="ajsc-server" />
94                                 </Arg>
95                                 <Arg name="factories">
96                                         <Array type="org.eclipse.jetty.server.ConnectionFactory">
97                                                 <Item>
98                                                         <New class="org.eclipse.jetty.server.SslConnectionFactory">
99                                                                 <Arg name="next">http/1.1</Arg>
100                                                                 <Arg name="sslContextFactory">
101                                                                         <New id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory">
102                                                                                 <Set name="KeyStorePath">file:<SystemProperty name="AJSC_HOME" />/bundleconfig/etc/auth/aai_keystore</Set>
103                                                                                 <Set name="KeyStorePassword">
104                                                                                          <Call class="org.eclipse.jetty.util.security.Password" name="deobfuscate">
105                                                                                 <Arg><SystemProperty name="KEY_STORE_PASSWORD" /></Arg>
106                                                                           </Call>
107                                                                                 </Set>
108                                                                                 <Set name="KeyManagerPassword">
109                                                                                          <Call class="org.eclipse.jetty.util.security.Password" name="deobfuscate">
110                                                                                 <Arg><SystemProperty name="KEY_MANAGER_PASSWORD" /></Arg>
111                                                                           </Call>
112                                                                                 </Set>
113                                                                                 <Set name="needClientAuth">false</Set>
114                                                                                 <Set name="ExcludeProtocols">
115                                                                                         <Array type="java.lang.String">
116                                                                                                 <Item>SSL</Item>
117                                                                                                 <Item>SSLv2</Item>
118                                                                                                 <Item>SSLv2Hello</Item>
119                                                                                                 <Item>SSLv3</Item>
120                                                                                                 <Item>TLSv1</Item>
121                                                                                         </Array>
122                                                                                 </Set>
123                                                                         </New>
124                                                                 </Arg>
125                                                         </New>
126                                                 </Item>
127                                                 <Item>
128                                                         <New class="org.eclipse.jetty.server.HttpConnectionFactory">
129                                                                 <Arg name="config">
130                                                                         <New class="org.eclipse.jetty.server.HttpConfiguration">
131                                                                                 <Call name="addCustomizer">
132                                                                                         <Arg>
133                                                                                                 <New class="org.eclipse.jetty.server.SecureRequestCustomizer" />
134                                                                                         </Arg>
135                                                                                 </Call>
136                                                                         </New>
137                                                                 </Arg>
138                                                         </New>
139                                                 </Item>
140                                         </Array>
141                                 </Arg>
142                                 <Set name="port"><SystemProperty name="AJSC_HTTPS_PORT" default="8446" /></Set>
143                                 <Set name="idleTimeout">30000</Set>
144                         </New>
145                 </Arg>
146         </Call>
147
148         <Get name="ThreadPool">
149                 <Set name="minThreads"><SystemProperty name="AJSC_JETTY_ThreadCount_MIN" /></Set>
150                 <Set name="maxThreads"><SystemProperty name="AJSC_JETTY_ThreadCount_MAX" /></Set>
151                 <Set name="idleTimeout"><SystemProperty name="AJSC_JETTY_IDLETIME_MAX" /></Set>
152                 <Set name="detailedDump">false</Set>
153         </Get>
154         <Call name="addBean">
155                 <Arg>
156                         <New class="org.eclipse.jetty.security.HashLoginService">
157                                 <Set name="name">Test Realm</Set>
158                                 <Set name="config"><SystemProperty name="AJSC_HOME" />/etc/realm.properties</Set>
159                                 <Set name="refreshInterval">5</Set>
160                                 <Call name="start"></Call>
161                         </New>
162                 </Arg>
163         </Call>
164 </Configure>