aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/config/ajsc-jetty.xml
blob: 17814f89ea68047319b2c083a3878c6bac985b9e (plain)
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<?xml version="1.0"  encoding="UTF-8"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
<!-- Copyright (c) 2016 AT&T Intellectual Property. All rights reserved. -->
<Configure id="ajsc-server" class="org.eclipse.jetty.server.Server">
	<!-- DO NOT REMOVE!!!! This is setting up the AJSC Context -->
	<New id="ajscContext" class="org.eclipse.jetty.webapp.WebAppContext">
		<Set name="contextPath"><SystemProperty name="AJSC_CONTEXT_PATH" /></Set>
		<Set name="extractWAR">true</Set>
		<Set name="tempDirectory"><SystemProperty name="AJSC_TEMP_DIR" /></Set>
		<Set name="war"><SystemProperty name="AJSC_WAR_PATH" /></Set>
		<Set name="descriptor"><SystemProperty name="AJSC_HOME" />/etc/runner-web.xml</Set>
		<Set name="overrideDescriptor"><SystemProperty name="AJSC_HOME" />/etc/ajsc-override-web.xml</Set>
		<Set name="throwUnavailableOnStartupException">true</Set>
		<Set name="servletHandler">
			<New class="org.eclipse.jetty.servlet.ServletHandler">
				<Set name="startWithUnavailable">false</Set>
			</New>
		</Set>
		<Set name="extraClasspath"><SystemProperty name="AJSC_HOME" />/extJars/json-20131018.jar</Set>
	</New>

	<Set name="handler">
		<New id="Contexts"
			class="org.eclipse.jetty.server.handler.ContextHandlerCollection">
			<Set name="Handlers">
				<Array type="org.eclipse.jetty.webapp.WebAppContext">
					<Item>
						<Ref refid="ajscContext" />
					</Item>
				</Array>
			</Set>
		</New>
	</Set>

	<Call name="addBean">
		<Arg>
			<New id="DeploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager">
				<Set name="contexts">
					<Ref refid="Contexts" />
				</Set>
				<Call id="extAppHotDeployProvider" name="addAppProvider">
					<Arg>
						<New class="org.eclipse.jetty.deploy.providers.WebAppProvider">
							<Set name="monitoredDirName"><SystemProperty name="AJSC_HOME" />/extApps</Set>
							<Set name="scanInterval">10</Set>
							<Set name="extractWars">true</Set>
						</New>
					</Arg>
				</Call>
			</New>
		</Arg>
	</Call>

	<New id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory">
		<Set name="keyStorePath">file:<SystemProperty name="CONFIG_HOME" />/auth/tomcat_keystore</Set>
		<Set name="KeyStorePassword">
			<Call class="org.eclipse.jetty.util.security.Password" name="deobfuscate">
				<Arg><SystemProperty name="KEY_STORE_PASSWORD" /></Arg>
			</Call>
		</Set>
		<Set name="KeyManagerPassword">
			<Call class="org.eclipse.jetty.util.security.Password" name="deobfuscate">
				<Arg><SystemProperty name="KEY_MANAGER_PASSWORD" /></Arg>
			</Call>
		</Set>
		<Set name="needClientAuth">true</Set>
		<Set name="wantClientAuth">true</Set>
	</New>

	<Call id="sslConnector" name="addConnector">
		<Arg>
			<New class="org.eclipse.jetty.server.ServerConnector">
				<Arg name="server">
					<Ref refid="ajsc-server" />
				</Arg>
				<Arg name="factories">
					<Array type="org.eclipse.jetty.server.ConnectionFactory">
						<Item>
							<New class="org.eclipse.jetty.server.SslConnectionFactory">
								<Arg name="next">http/1.1</Arg>
								<Arg name="sslContextFactory">
									<Ref refid="sslContextFactory" />
								</Arg>
							</New>
						</Item>
						<Item>
							<New class="org.eclipse.jetty.server.HttpConnectionFactory">
								<Arg name="config">
									<New class="org.eclipse.jetty.server.HttpConfiguration">
										<Call name="addCustomizer">
											<Arg>
												<New class="org.eclipse.jetty.server.SecureRequestCustomizer" />
											</Arg>
										</Call>
									</New>
								</Arg>
							</New>
						</Item>
					</Array>
				</Arg>
				<Set name="port"><SystemProperty name="AJSC_HTTPS_PORT" default="9520" /></Set>
				<Set name="idleTimeout">30000</Set>
			</New>
		</Arg>
	</Call>

	<Get name="ThreadPool">
		<Set name="minThreads"><SystemProperty name="AJSC_JETTY_ThreadCount_MIN" /></Set>
		<Set name="maxThreads"><SystemProperty name="AJSC_JETTY_ThreadCount_MAX" /></Set>
		<Set name="idleTimeout"><SystemProperty name="AJSC_JETTY_IDLETIME_MAX" /></Set>
		<Set name="detailedDump">false</Set>
	</Get>

</Configure>