sunspot_solr 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -39,6 +39,13 @@ module Sunspot
39
39
  say("Copying #{file} => #{dest}")
40
40
  FileUtils.cp(file, dest)
41
41
  end
42
+
43
+ # Also copy the solr.xml file for multi core support
44
+ file = File.expand_path('../solr.xml', sunspot_config_path)
45
+ dest = File.expand_path(File.join(@config_path, ".."), File.basename(file))
46
+ say("Copying #{file} => #{dest}")
47
+ FileUtils.cp(file, dest)
48
+
42
49
  end
43
50
  end
44
51
  end
@@ -1,9 +1,12 @@
1
+ require 'rbconfig'
2
+
1
3
  module Sunspot
2
4
  module Solr
3
5
  module Java
6
+ NULL_DEVICE = RbConfig::CONFIG['host_os'] =~ /mswin|mingw/ ? 'NUL' : '/dev/null'
7
+
4
8
  def self.installed?
5
- `java -version`
6
- $?.success?
9
+ system "java -version >#{NULL_DEVICE} 2>&1"
7
10
  end
8
11
  end
9
12
  end
data/lib/sunspot_solr.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  require 'sunspot/solr/server'
2
2
 
3
- if defined?(Rails) && Rails::VERSION::MAJOR == 3
3
+ if defined?(Rails::Railtie)
4
4
  require 'sunspot/solr/railtie'
5
5
  end
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0"?>
2
+ <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
3
+ <Configure class="org.eclipse.jetty.webapp.WebAppContext">
4
+ <Set name="contextPath"><SystemProperty name="hostContext" default="/solr"/></Set>
5
+ <Set name="war"><SystemProperty name="jetty.home"/>/webapps/solr.war</Set>
6
+ <Set name="defaultsDescriptor"><SystemProperty name="jetty.home"/>/etc/webdefault.xml</Set>
7
+ <Set name="tempDirectory"><Property name="jetty.home" default="."/>/solr-webapp</Set>
8
+ </Configure>
data/solr/etc/jetty.xml CHANGED
@@ -1,119 +1,80 @@
1
1
  <?xml version="1.0"?>
2
- <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
2
+ <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
3
3
 
4
4
  <!-- =============================================================== -->
5
5
  <!-- Configure the Jetty Server -->
6
6
  <!-- -->
7
7
  <!-- Documentation of this file format can be found at: -->
8
- <!-- http://docs.codehaus.org/display/JETTY/jetty.xml -->
8
+ <!-- http://wiki.eclipse.org/Jetty/Reference/jetty.xml_syntax -->
9
9
  <!-- -->
10
10
  <!-- =============================================================== -->
11
11
 
12
12
 
13
- <Configure id="Server" class="org.mortbay.jetty.Server">
14
-
15
- <!-- Increase the maximum POST size to 1 MB to be able to handle large shard requests -->
16
- <Call class="java.lang.System" name="setProperty">
17
- <Arg>org.mortbay.jetty.Request.maxFormContentSize</Arg>
18
- <Arg>1000000</Arg>
19
- </Call>
13
+ <Configure id="Server" class="org.eclipse.jetty.server.Server">
20
14
 
21
15
  <!-- =========================================================== -->
22
16
  <!-- Server Thread Pool -->
23
17
  <!-- =========================================================== -->
24
18
  <Set name="ThreadPool">
25
- <!-- Default bounded blocking threadpool
26
- -->
27
- <New class="org.mortbay.thread.BoundedThreadPool">
19
+ <!-- Default queued blocking threadpool -->
20
+ <New class="org.eclipse.jetty.util.thread.QueuedThreadPool">
28
21
  <Set name="minThreads">10</Set>
29
- <Set name="lowThreads">50</Set>
30
22
  <Set name="maxThreads">10000</Set>
23
+ <Set name="detailedDump">false</Set>
31
24
  </New>
32
-
33
- <!-- Optional Java 5 bounded threadpool with job queue
34
- <New class="org.mortbay.thread.concurrent.ThreadPool">
35
- <Arg type="int">0</Arg>
36
- <Set name="corePoolSize">10</Set>
37
- <Set name="maximumPoolSize">250</Set>
38
- </New>
39
- -->
40
25
  </Set>
41
26
 
42
-
43
-
44
27
  <!-- =========================================================== -->
45
28
  <!-- Set connectors -->
46
29
  <!-- =========================================================== -->
47
- <!-- One of each type! -->
48
- <!-- =========================================================== -->
49
30
 
50
- <!-- Use this connector for many frequently idle connections
51
- and for threadless continuations.
31
+ <!--
52
32
  <Call name="addConnector">
53
33
  <Arg>
54
- <New class="org.mortbay.jetty.nio.SelectChannelConnector">
34
+ <New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
35
+ <Set name="host"><SystemProperty name="jetty.host" /></Set>
55
36
  <Set name="port"><SystemProperty name="jetty.port" default="8983"/></Set>
56
- <Set name="maxIdleTime">30000</Set>
37
+ <Set name="maxIdleTime">50000</Set>
57
38
  <Set name="Acceptors">2</Set>
39
+ <Set name="statsOn">false</Set>
58
40
  <Set name="confidentialPort">8443</Set>
41
+ <Set name="lowResourcesConnections">5000</Set>
42
+ <Set name="lowResourcesMaxIdleTime">5000</Set>
59
43
  </New>
60
44
  </Arg>
61
45
  </Call>
62
- -->
46
+ -->
63
47
 
64
- <!-- Use this connector if NIO is not available. -->
65
- <!-- This connector is currently being used for Solr because the
66
- nio.SelectChannelConnector showed poor performance under WindowsXP
67
- from a single client with non-persistent connections (35s vs ~3min)
68
- to complete 10,000 requests)
69
- -->
48
+ <!-- This connector is currently being used for Solr because it
49
+ showed better performance than nio.SelectChannelConnector
50
+ for typical Solr requests. -->
70
51
  <Call name="addConnector">
71
52
  <Arg>
72
- <New class="org.mortbay.jetty.bio.SocketConnector">
73
- <Set name="host"><SystemProperty name="jetty.host" default="0.0.0.0"/></Set>
53
+ <New class="org.eclipse.jetty.server.bio.SocketConnector">
54
+ <Set name="host"><SystemProperty name="jetty.host" /></Set>
74
55
  <Set name="port"><SystemProperty name="jetty.port" default="8983"/></Set>
75
56
  <Set name="maxIdleTime">50000</Set>
76
57
  <Set name="lowResourceMaxIdleTime">1500</Set>
77
- <!-- Increase header buffer size from default of 4KB to 64KB to
78
- prevent Solr from reaching this limit during large queries
79
- -->
80
- <Set name="headerBufferSize">65536</Set>
58
+ <Set name="statsOn">false</Set>
81
59
  </New>
82
60
  </Arg>
83
61
  </Call>
84
62
 
85
- <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
86
- <!-- To add a HTTPS SSL listener -->
87
- <!-- see jetty-ssl.xml to add an ssl connector. use -->
88
- <!-- java -jar start.jar etc/jetty.xml etc/jetty-ssl.xml -->
89
- <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
90
-
91
- <!-- =========================================================== -->
92
- <!-- Set up global session ID manager -->
93
- <!-- =========================================================== -->
94
- <!--
95
- <Set name="sessionIdManager">
96
- <New class="org.mortbay.jetty.servlet.HashSessionIdManager">
97
- <Set name="workerName">node1</Set>
98
- </New>
99
- </Set>
100
- -->
101
-
102
63
  <!-- =========================================================== -->
103
64
  <!-- Set handler Collection Structure -->
104
65
  <!-- =========================================================== -->
105
66
  <Set name="handler">
106
- <New id="Handlers" class="org.mortbay.jetty.handler.HandlerCollection">
67
+ <New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
107
68
  <Set name="handlers">
108
- <Array type="org.mortbay.jetty.Handler">
69
+ <Array type="org.eclipse.jetty.server.Handler">
109
70
  <Item>
110
- <New id="Contexts" class="org.mortbay.jetty.handler.ContextHandlerCollection"/>
71
+ <New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>
111
72
  </Item>
112
73
  <Item>
113
- <New id="DefaultHandler" class="org.mortbay.jetty.handler.DefaultHandler"/>
74
+ <New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/>
114
75
  </Item>
115
76
  <Item>
116
- <New id="RequestLog" class="org.mortbay.jetty.handler.RequestLogHandler"/>
77
+ <New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler"/>
117
78
  </Item>
118
79
  </Array>
119
80
  </Set>
@@ -121,99 +82,86 @@
121
82
  </Set>
122
83
 
123
84
  <!-- =========================================================== -->
124
- <!-- Configure the context deployer -->
125
- <!-- A context deployer will deploy contexts described in -->
126
- <!-- configuration files discovered in a directory. -->
127
- <!-- The configuration directory can be scanned for hot -->
128
- <!-- deployments at the configured scanInterval. -->
129
- <!-- -->
130
- <!-- This deployer is configured to deploy contexts configured -->
131
- <!-- in the $JETTY_HOME/contexts directory -->
132
- <!-- -->
85
+ <!-- Configure Request Log -->
133
86
  <!-- =========================================================== -->
134
- <Call name="addLifeCycle">
135
- <Arg>
136
- <New class="org.mortbay.jetty.deployer.ContextDeployer">
137
- <Set name="contexts"><Ref id="Contexts"/></Set>
138
- <Set name="configurationDir"><SystemProperty name="jetty.home" default="."/>/contexts</Set>
139
- <Set name="scanInterval">1</Set>
140
- </New>
141
- </Arg>
142
- </Call>
87
+ <!--
88
+ <Ref id="Handlers">
89
+ <Call name="addHandler">
90
+ <Arg>
91
+ <New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler">
92
+ <Set name="requestLog">
93
+ <New id="RequestLogImpl" class="org.eclipse.jetty.server.NCSARequestLog">
94
+ <Set name="filename">
95
+ logs/request.yyyy_mm_dd.log
96
+ </Set>
97
+ <Set name="filenameDateFormat">yyyy_MM_dd</Set>
98
+ <Set name="retainDays">90</Set>
99
+ <Set name="append">true</Set>
100
+ <Set name="extended">false</Set>
101
+ <Set name="logCookies">false</Set>
102
+ <Set name="LogTimeZone">UTC</Set>
103
+ </New>
104
+ </Set>
105
+ </New>
106
+ </Arg>
107
+ </Call>
108
+ </Ref>
109
+ -->
143
110
 
144
111
  <!-- =========================================================== -->
145
- <!-- Configure the webapp deployer. -->
146
- <!-- A webapp deployer will deploy standard webapps discovered -->
147
- <!-- in a directory at startup, without the need for additional -->
148
- <!-- configuration files. It does not support hot deploy or -->
149
- <!-- non standard contexts (see ContextDeployer above). -->
150
- <!-- -->
151
- <!-- This deployer is configured to deploy webapps from the -->
152
- <!-- $JETTY_HOME/webapps directory -->
153
- <!-- -->
154
- <!-- Normally only one type of deployer need be used. -->
155
- <!-- -->
112
+ <!-- extra options -->
156
113
  <!-- =========================================================== -->
157
- <Call name="addLifeCycle">
114
+ <Set name="stopAtShutdown">true</Set>
115
+ <Set name="sendServerVersion">false</Set>
116
+ <Set name="sendDateHeader">false</Set>
117
+ <Set name="gracefulShutdown">1000</Set>
118
+ <Set name="dumpAfterStart">false</Set>
119
+ <Set name="dumpBeforeStop">false</Set>
120
+
121
+
122
+
123
+
124
+ <Call name="addBean">
158
125
  <Arg>
159
- <New class="org.mortbay.jetty.deployer.WebAppDeployer">
160
- <Set name="contexts"><Ref id="Contexts"/></Set>
161
- <Set name="webAppDir"><SystemProperty name="jetty.home" default="."/>/webapps</Set>
162
- <Set name="parentLoaderPriority">false</Set>
163
- <Set name="extract">true</Set>
164
- <Set name="allowDuplicates">false</Set>
165
- <Set name="defaultsDescriptor"><SystemProperty name="jetty.home" default="."/>/etc/webdefault.xml</Set>
126
+ <New id="DeploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager">
127
+ <Set name="contexts">
128
+ <Ref id="Contexts" />
129
+ </Set>
130
+ <Call name="setContextAttribute">
131
+ <Arg>org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern</Arg>
132
+ <Arg>.*/servlet-api-[^/]*\.jar$</Arg>
133
+ </Call>
134
+
135
+
136
+ <!-- Add a customize step to the deployment lifecycle -->
137
+ <!-- uncomment and replace DebugBinding with your extended AppLifeCycle.Binding class
138
+ <Call name="insertLifeCycleNode">
139
+ <Arg>deployed</Arg>
140
+ <Arg>starting</Arg>
141
+ <Arg>customise</Arg>
142
+ </Call>
143
+ <Call name="addLifeCycleBinding">
144
+ <Arg>
145
+ <New class="org.eclipse.jetty.deploy.bindings.DebugBinding">
146
+ <Arg>customise</Arg>
147
+ </New>
148
+ </Arg>
149
+ </Call>
150
+ -->
151
+
166
152
  </New>
167
153
  </Arg>
168
154
  </Call>
169
-
170
- <!-- =========================================================== -->
171
- <!-- Configure Authentication Realms -->
172
- <!-- Realms may be configured for the entire server here, or -->
173
- <!-- they can be configured for a specific web app in a context -->
174
- <!-- configuration (see $(jetty.home)/contexts/test.xml for an -->
175
- <!-- example). -->
176
- <!-- =========================================================== -->
177
- <Set name="UserRealms">
178
- <Array type="org.mortbay.jetty.security.UserRealm">
179
- <!--
180
- <Item>
181
- <New class="org.mortbay.jetty.security.HashUserRealm">
182
- <Set name="name">Test Realm</Set>
183
- <Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/realm.properties</Set>
155
+
156
+ <Ref id="DeploymentManager">
157
+ <Call name="addAppProvider">
158
+ <Arg>
159
+ <New class="org.eclipse.jetty.deploy.providers.ContextProvider">
160
+ <Set name="monitoredDirName"><SystemProperty name="jetty.home" default="."/>/contexts</Set>
161
+ <Set name="scanInterval">0</Set>
184
162
  </New>
185
- </Item>
186
- -->
187
- </Array>
188
- </Set>
189
-
190
- <!-- =========================================================== -->
191
- <!-- Configure Request Log -->
192
- <!-- Request logs may be configured for the entire server here, -->
193
- <!-- or they can be configured for a specific web app in a -->
194
- <!-- contexts configuration (see $(jetty.home)/contexts/test.xml -->
195
- <!-- for an example). -->
196
- <!-- =========================================================== -->
197
- <!--
198
- <Ref id="RequestLog">
199
- <Set name="requestLog">
200
- <New id="RequestLogImpl" class="org.mortbay.jetty.NCSARequestLog">
201
- <Arg><SystemProperty name="jetty.logs" default="./logs"/>/yyyy_mm_dd.request.log</Arg>
202
- <Set name="retainDays">90</Set>
203
- <Set name="append">true</Set>
204
- <Set name="extended">false</Set>
205
- <Set name="LogTimeZone">GMT</Set>
206
- </New>
207
- </Set>
163
+ </Arg>
164
+ </Call>
208
165
  </Ref>
209
- -->
210
-
211
- <!-- =========================================================== -->
212
- <!-- extra options -->
213
- <!-- =========================================================== -->
214
- <Set name="stopAtShutdown">true</Set>
215
- <!-- ensure/prevent Server: header being sent to browsers -->
216
- <Set name="sendServerVersion">true</Set>
217
166
 
218
167
  </Configure>
219
-
@@ -1,102 +1,126 @@
1
1
  <?xml version="1.0" encoding="ISO-8859-1"?>
2
2
 
3
- <!-- ===================================================================== -->
4
- <!-- This file contains the default descriptor for web applications. -->
5
- <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
6
- <!-- The intent of this descriptor is to include jetty specific or common -->
7
- <!-- configuration for all webapps. If a context has a webdefault.xml -->
8
- <!-- descriptor, it is applied before the contexts own web.xml file -->
9
- <!-- -->
10
- <!-- A context may be assigned a default descriptor by: -->
11
- <!-- + Calling WebApplicationContext.setDefaultsDescriptor -->
12
- <!-- + Passed an arg to addWebApplications -->
13
- <!-- -->
14
- <!-- This file is used both as the resource within the jetty.jar (which is -->
15
- <!-- used as the default if no explicit defaults descriptor is set) and it -->
16
- <!-- is copied to the etc directory of the Jetty distro and explicitly -->
17
- <!-- by the jetty.xml file. -->
18
- <!-- -->
19
- <!-- ===================================================================== -->
20
- <web-app
21
- xmlns="http://java.sun.com/xml/ns/javaee"
22
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
23
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
24
- metadata-complete="true"
25
- version="2.5">
3
+ <!-- ===================================================================== -->
4
+ <!-- This file contains the default descriptor for web applications. -->
5
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
6
+ <!-- The intent of this descriptor is to include jetty specific or common -->
7
+ <!-- configuration for all webapps. If a context has a webdefault.xml -->
8
+ <!-- descriptor, it is applied before the contexts own web.xml file -->
9
+ <!-- -->
10
+ <!-- A context may be assigned a default descriptor by: -->
11
+ <!-- + Calling WebApplicationContext.setDefaultsDescriptor -->
12
+ <!-- + Passed an arg to addWebApplications -->
13
+ <!-- -->
14
+ <!-- This file is used both as the resource within the jetty.jar (which is -->
15
+ <!-- used as the default if no explicit defaults descriptor is set) and it -->
16
+ <!-- is copied to the etc directory of the Jetty distro and explicitly -->
17
+ <!-- by the jetty.xml file. -->
18
+ <!-- -->
19
+ <!-- ===================================================================== -->
20
+ <web-app
21
+ xmlns="http://java.sun.com/xml/ns/javaee"
22
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
23
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
24
+ metadata-complete="true"
25
+ version="2.5"
26
+ >
26
27
 
27
28
  <description>
28
29
  Default web.xml file.
29
30
  This file is applied to a Web application before it's own WEB_INF/web.xml file
30
31
  </description>
31
32
 
33
+ <!-- ==================================================================== -->
34
+ <!-- Removes static references to beans from javax.el.BeanELResolver to -->
35
+ <!-- ensure webapp classloader can be released on undeploy -->
36
+ <!-- ==================================================================== -->
37
+ <listener>
38
+ <listener-class>org.eclipse.jetty.servlet.listener.ELContextCleaner</listener-class>
39
+ </listener>
40
+
41
+ <!-- ==================================================================== -->
42
+ <!-- Removes static cache of Methods from java.beans.Introspector to -->
43
+ <!-- ensure webapp classloader can be released on undeploy -->
44
+ <!-- ==================================================================== -->
45
+ <listener>
46
+ <listener-class>org.eclipse.jetty.servlet.listener.IntrospectorCleaner</listener-class>
47
+ </listener>
48
+
32
49
 
33
50
  <!-- ==================================================================== -->
34
51
  <!-- Context params to control Session Cookies -->
35
52
  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
36
- <!-- UNCOMMENT TO ACTIVATE
37
- <context-param>
38
- <param-name>org.mortbay.jetty.servlet.SessionDomain</param-name>
39
- <param-value>127.0.0.1</param-value>
40
- </context-param>
41
-
42
- <context-param>
43
- <param-name>org.mortbay.jetty.servlet.SessionPath</param-name>
44
- <param-value>/</param-value>
45
- </context-param>
46
-
47
- <context-param>
48
- <param-name>org.mortbay.jetty.servlet.MaxAge</param-name>
49
- <param-value>-1</param-value>
50
- </context-param>
53
+ <!--
54
+ UNCOMMENT TO ACTIVATE <context-param> <param-name>org.eclipse.jetty.servlet.SessionDomain</param-name> <param-value>127.0.0.1</param-value> </context-param> <context-param>
55
+ <param-name>org.eclipse.jetty.servlet.SessionPath</param-name> <param-value>/</param-value> </context-param> <context-param> <param-name>org.eclipse.jetty.servlet.MaxAge</param-name>
56
+ <param-value>-1</param-value> </context-param>
51
57
  -->
52
58
 
53
- <context-param>
54
- <param-name>org.mortbay.jetty.webapp.NoTLDJarPattern</param-name>
55
- <param-value>start.jar|ant-.*\.jar|dojo-.*\.jar|jetty-.*\.jar|jsp-api-.*\.jar|junit-.*\.jar|servlet-api-.*\.jar|dnsns\.jar|rt\.jar|jsse\.jar|tools\.jar|sunpkcs11\.jar|sunjce_provider\.jar|xerces.*\.jar|</param-value>
56
- </context-param>
57
-
58
-
59
-
60
59
  <!-- ==================================================================== -->
61
60
  <!-- The default servlet. -->
62
61
  <!-- This servlet, normally mapped to /, provides the handling for static -->
63
62
  <!-- content, OPTIONS and TRACE methods for the context. -->
64
63
  <!-- The following initParameters are supported: -->
65
- <!-- -->
66
- <!-- acceptRanges If true, range requests and responses are -->
67
- <!-- supported -->
68
- <!-- -->
69
- <!-- dirAllowed If true, directory listings are returned if no -->
70
- <!-- welcome file is found. Else 403 Forbidden. -->
71
- <!-- -->
72
- <!-- redirectWelcome If true, redirect welcome file requests -->
73
- <!-- else use request dispatcher forwards -->
74
- <!-- -->
75
- <!-- gzip If set to true, then static content will be served-->
76
- <!-- as gzip content encoded if a matching resource is -->
77
- <!-- found ending with ".gz" -->
78
- <!-- -->
79
- <!-- resoureBase Can be set to replace the context resource base -->
80
- <!-- -->
81
- <!-- relativeResourceBase -->
82
- <!-- Set with a pathname relative to the base of the -->
83
- <!-- servlet context root. Useful for only serving -->
84
- <!-- static content from only specific subdirectories. -->
85
- <!-- -->
86
- <!-- useFileMappedBuffer -->
87
- <!-- If set to true (the default), a memory mapped -->
88
- <!-- file buffer will be used to serve static content -->
89
- <!-- when using an NIO connector. Setting this value -->
90
- <!-- to false means that a direct buffer will be used -->
91
- <!-- instead. If you are having trouble with Windows -->
92
- <!-- file locking, set this to false. -->
93
- <!-- -->
94
- <!-- cacheControl If set, all static content will have this value -->
95
- <!-- set as the cache-control header. -->
64
+ <!--
65
+ * acceptRanges If true, range requests and responses are
66
+ * supported
67
+ *
68
+ * dirAllowed If true, directory listings are returned if no
69
+ * welcome file is found. Else 403 Forbidden.
70
+ *
71
+ * welcomeServlets If true, attempt to dispatch to welcome files
72
+ * that are servlets, but only after no matching static
73
+ * resources could be found. If false, then a welcome
74
+ * file must exist on disk. If "exact", then exact
75
+ * servlet matches are supported without an existing file.
76
+ * Default is true.
77
+ *
78
+ * This must be false if you want directory listings,
79
+ * but have index.jsp in your welcome file list.
80
+ *
81
+ * redirectWelcome If true, welcome files are redirected rather than
82
+ * forwarded to.
83
+ *
84
+ * gzip If set to true, then static content will be served as
85
+ * gzip content encoded if a matching resource is
86
+ * found ending with ".gz"
87
+ *
88
+ * resourceBase Set to replace the context resource base
89
+ *
90
+ * resourceCache If set, this is a context attribute name, which the servlet
91
+ * will use to look for a shared ResourceCache instance.
92
+ *
93
+ * relativeResourceBase
94
+ * Set with a pathname relative to the base of the
95
+ * servlet context root. Useful for only serving static content out
96
+ * of only specific subdirectories.
97
+ *
98
+ * aliases If True, aliases of resources are allowed (eg. symbolic
99
+ * links and caps variations). May bypass security constraints.
100
+ *
101
+ * maxCacheSize The maximum total size of the cache or 0 for no cache.
102
+ * maxCachedFileSize The maximum size of a file to cache
103
+ * maxCachedFiles The maximum number of files to cache
104
+ *
105
+ * useFileMappedBuffer
106
+ * If set to true, it will use mapped file buffer to serve static content
107
+ * when using NIO connector. Setting this value to false means that
108
+ * a direct buffer will be used instead of a mapped file buffer.
109
+ * By default, this is set to true.
110
+ *
111
+ * cacheControl If set, all static content will have this value set as the cache-control
112
+ * header.
113
+ -->
114
+
115
+
96
116
  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
97
117
  <servlet>
98
118
  <servlet-name>default</servlet-name>
99
- <servlet-class>org.mortbay.jetty.servlet.DefaultServlet</servlet-class>
119
+ <servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class>
120
+ <init-param>
121
+ <param-name>aliases</param-name>
122
+ <param-value>false</param-value>
123
+ </init-param>
100
124
  <init-param>
101
125
  <param-name>acceptRanges</param-name>
102
126
  <param-value>true</param-value>
@@ -105,30 +129,40 @@
105
129
  <param-name>dirAllowed</param-name>
106
130
  <param-value>true</param-value>
107
131
  </init-param>
132
+ <init-param>
133
+ <param-name>welcomeServlets</param-name>
134
+ <param-value>false</param-value>
135
+ </init-param>
108
136
  <init-param>
109
137
  <param-name>redirectWelcome</param-name>
110
138
  <param-value>false</param-value>
111
139
  </init-param>
112
140
  <init-param>
113
141
  <param-name>maxCacheSize</param-name>
114
- <param-value>2000000</param-value>
142
+ <param-value>256000000</param-value>
115
143
  </init-param>
116
144
  <init-param>
117
145
  <param-name>maxCachedFileSize</param-name>
118
- <param-value>254000</param-value>
146
+ <param-value>200000000</param-value>
119
147
  </init-param>
120
148
  <init-param>
121
149
  <param-name>maxCachedFiles</param-name>
122
- <param-value>1000</param-value>
150
+ <param-value>2048</param-value>
123
151
  </init-param>
124
152
  <init-param>
125
153
  <param-name>gzip</param-name>
126
- <param-value>false</param-value>
154
+ <param-value>true</param-value>
127
155
  </init-param>
128
156
  <init-param>
129
157
  <param-name>useFileMappedBuffer</param-name>
130
- <param-value>false</param-value>
131
- </init-param>
158
+ <param-value>true</param-value>
159
+ </init-param>
160
+ <!--
161
+ <init-param>
162
+ <param-name>resourceCache</param-name>
163
+ <param-value>resourceCache</param-value>
164
+ </init-param>
165
+ -->
132
166
  <!--
133
167
  <init-param>
134
168
  <param-name>cacheControl</param-name>
@@ -136,10 +170,13 @@
136
170
  </init-param>
137
171
  -->
138
172
  <load-on-startup>0</load-on-startup>
139
- </servlet>
173
+ </servlet>
174
+
175
+ <servlet-mapping>
176
+ <servlet-name>default</servlet-name>
177
+ <url-pattern>/</url-pattern>
178
+ </servlet-mapping>
140
179
 
141
- <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
142
-
143
180
 
144
181
  <!-- ==================================================================== -->
145
182
  <!-- JSP Servlet -->
@@ -226,20 +263,22 @@
226
263
  <!-- If you get an error reporting that jikes can't use UTF-8 encoding, -->
227
264
  <!-- try setting the init parameter "javaEncoding" to "ISO-8859-1". -->
228
265
  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
229
- <servlet id="jsp">
266
+ <servlet
267
+ id="jsp"
268
+ >
230
269
  <servlet-name>jsp</servlet-name>
231
270
  <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
232
271
  <init-param>
233
- <param-name>logVerbosityLevel</param-name>
234
- <param-value>DEBUG</param-value>
272
+ <param-name>logVerbosityLevel</param-name>
273
+ <param-value>DEBUG</param-value>
235
274
  </init-param>
236
275
  <init-param>
237
- <param-name>fork</param-name>
238
- <param-value>false</param-value>
276
+ <param-name>fork</param-name>
277
+ <param-value>false</param-value>
239
278
  </init-param>
240
279
  <init-param>
241
- <param-name>xpoweredBy</param-name>
242
- <param-value>false</param-value>
280
+ <param-name>xpoweredBy</param-name>
281
+ <param-value>false</param-value>
243
282
  </init-param>
244
283
  <!--
245
284
  <init-param>
@@ -250,18 +289,18 @@
250
289
  <load-on-startup>0</load-on-startup>
251
290
  </servlet>
252
291
 
253
- <servlet-mapping>
254
- <servlet-name>jsp</servlet-name>
255
- <url-pattern>*.jsp</url-pattern>
292
+ <servlet-mapping>
293
+ <servlet-name>jsp</servlet-name>
294
+ <url-pattern>*.jsp</url-pattern>
256
295
  <url-pattern>*.jspf</url-pattern>
257
296
  <url-pattern>*.jspx</url-pattern>
258
297
  <url-pattern>*.xsp</url-pattern>
259
- <url-pattern>*.JSP</url-pattern>
298
+ <url-pattern>*.JSP</url-pattern>
260
299
  <url-pattern>*.JSPF</url-pattern>
261
300
  <url-pattern>*.JSPX</url-pattern>
262
301
  <url-pattern>*.XSP</url-pattern>
263
302
  </servlet-mapping>
264
-
303
+
265
304
  <!-- ==================================================================== -->
266
305
  <!-- Dynamic Servlet Invoker. -->
267
306
  <!-- This servlet invokes anonymous servlets that have not been defined -->
@@ -281,26 +320,11 @@
281
320
  <!-- * All other parameters are copied to the -->
282
321
  <!-- each dynamic servlet as init parameters -->
283
322
  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
284
- <!-- Uncomment for dynamic invocation
285
- <servlet>
286
- <servlet-name>invoker</servlet-name>
287
- <servlet-class>org.mortbay.jetty.servlet.Invoker</servlet-class>
288
- <init-param>
289
- <param-name>verbose</param-name>
290
- <param-value>false</param-value>
291
- </init-param>
292
- <init-param>
293
- <param-name>nonContextServlets</param-name>
294
- <param-value>false</param-value>
295
- </init-param>
296
- <init-param>
297
- <param-name>dynamicParam</param-name>
298
- <param-value>anyValue</param-value>
299
- </init-param>
300
- <load-on-startup>0</load-on-startup>
301
- </servlet>
302
-
303
- <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping>
323
+ <!--
324
+ Uncomment for dynamic invocation <servlet> <servlet-name>invoker</servlet-name> <servlet-class>org.eclipse.jetty.servlet.Invoker</servlet-class> <init-param> <param-name>verbose</param-name>
325
+ <param-value>false</param-value> </init-param> <init-param> <param-name>nonContextServlets</param-name> <param-value>false</param-value> </init-param> <init-param>
326
+ <param-name>dynamicParam</param-name> <param-value>anyValue</param-value> </init-param> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>invoker</servlet-name>
327
+ <url-pattern>/servlet/*</url-pattern> </servlet-mapping>
304
328
  -->
305
329
 
306
330
 
@@ -313,7 +337,7 @@
313
337
  <!-- ==================================================================== -->
314
338
  <!-- Default MIME mappings -->
315
339
  <!-- The default MIME mappings are provided by the mime.properties -->
316
- <!-- resource in the org.mortbay.jetty.jar file. Additional or modified -->
340
+ <!-- resource in the org.eclipse.jetty.server.jar file. Additional or modified -->
317
341
  <!-- mappings may be specified here -->
318
342
  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
319
343
  <!-- UNCOMMENT TO ACTIVATE
@@ -332,48 +356,172 @@
332
356
 
333
357
  <!-- ==================================================================== -->
334
358
  <locale-encoding-mapping-list>
335
- <locale-encoding-mapping><locale>ar</locale><encoding>ISO-8859-6</encoding></locale-encoding-mapping>
336
- <locale-encoding-mapping><locale>be</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
337
- <locale-encoding-mapping><locale>bg</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
338
- <locale-encoding-mapping><locale>ca</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
339
- <locale-encoding-mapping><locale>cs</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
340
- <locale-encoding-mapping><locale>da</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
341
- <locale-encoding-mapping><locale>de</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
342
- <locale-encoding-mapping><locale>el</locale><encoding>ISO-8859-7</encoding></locale-encoding-mapping>
343
- <locale-encoding-mapping><locale>en</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
344
- <locale-encoding-mapping><locale>es</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
345
- <locale-encoding-mapping><locale>et</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
346
- <locale-encoding-mapping><locale>fi</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
347
- <locale-encoding-mapping><locale>fr</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
348
- <locale-encoding-mapping><locale>hr</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
349
- <locale-encoding-mapping><locale>hu</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
350
- <locale-encoding-mapping><locale>is</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
351
- <locale-encoding-mapping><locale>it</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
352
- <locale-encoding-mapping><locale>iw</locale><encoding>ISO-8859-8</encoding></locale-encoding-mapping>
353
- <locale-encoding-mapping><locale>ja</locale><encoding>Shift_JIS</encoding></locale-encoding-mapping>
354
- <locale-encoding-mapping><locale>ko</locale><encoding>EUC-KR</encoding></locale-encoding-mapping>
355
- <locale-encoding-mapping><locale>lt</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
356
- <locale-encoding-mapping><locale>lv</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
357
- <locale-encoding-mapping><locale>mk</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
358
- <locale-encoding-mapping><locale>nl</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
359
- <locale-encoding-mapping><locale>no</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
360
- <locale-encoding-mapping><locale>pl</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
361
- <locale-encoding-mapping><locale>pt</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
362
- <locale-encoding-mapping><locale>ro</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
363
- <locale-encoding-mapping><locale>ru</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
364
- <locale-encoding-mapping><locale>sh</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
365
- <locale-encoding-mapping><locale>sk</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
366
- <locale-encoding-mapping><locale>sl</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
367
- <locale-encoding-mapping><locale>sq</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
368
- <locale-encoding-mapping><locale>sr</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
369
- <locale-encoding-mapping><locale>sv</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
370
- <locale-encoding-mapping><locale>tr</locale><encoding>ISO-8859-9</encoding></locale-encoding-mapping>
371
- <locale-encoding-mapping><locale>uk</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
372
- <locale-encoding-mapping><locale>zh</locale><encoding>GB2312</encoding></locale-encoding-mapping>
373
- <locale-encoding-mapping><locale>zh_TW</locale><encoding>Big5</encoding></locale-encoding-mapping>
359
+ <locale-encoding-mapping>
360
+ <locale>ar</locale>
361
+ <encoding>ISO-8859-6</encoding>
362
+ </locale-encoding-mapping>
363
+ <locale-encoding-mapping>
364
+ <locale>be</locale>
365
+ <encoding>ISO-8859-5</encoding>
366
+ </locale-encoding-mapping>
367
+ <locale-encoding-mapping>
368
+ <locale>bg</locale>
369
+ <encoding>ISO-8859-5</encoding>
370
+ </locale-encoding-mapping>
371
+ <locale-encoding-mapping>
372
+ <locale>ca</locale>
373
+ <encoding>ISO-8859-1</encoding>
374
+ </locale-encoding-mapping>
375
+ <locale-encoding-mapping>
376
+ <locale>cs</locale>
377
+ <encoding>ISO-8859-2</encoding>
378
+ </locale-encoding-mapping>
379
+ <locale-encoding-mapping>
380
+ <locale>da</locale>
381
+ <encoding>ISO-8859-1</encoding>
382
+ </locale-encoding-mapping>
383
+ <locale-encoding-mapping>
384
+ <locale>de</locale>
385
+ <encoding>ISO-8859-1</encoding>
386
+ </locale-encoding-mapping>
387
+ <locale-encoding-mapping>
388
+ <locale>el</locale>
389
+ <encoding>ISO-8859-7</encoding>
390
+ </locale-encoding-mapping>
391
+ <locale-encoding-mapping>
392
+ <locale>en</locale>
393
+ <encoding>ISO-8859-1</encoding>
394
+ </locale-encoding-mapping>
395
+ <locale-encoding-mapping>
396
+ <locale>es</locale>
397
+ <encoding>ISO-8859-1</encoding>
398
+ </locale-encoding-mapping>
399
+ <locale-encoding-mapping>
400
+ <locale>et</locale>
401
+ <encoding>ISO-8859-1</encoding>
402
+ </locale-encoding-mapping>
403
+ <locale-encoding-mapping>
404
+ <locale>fi</locale>
405
+ <encoding>ISO-8859-1</encoding>
406
+ </locale-encoding-mapping>
407
+ <locale-encoding-mapping>
408
+ <locale>fr</locale>
409
+ <encoding>ISO-8859-1</encoding>
410
+ </locale-encoding-mapping>
411
+ <locale-encoding-mapping>
412
+ <locale>hr</locale>
413
+ <encoding>ISO-8859-2</encoding>
414
+ </locale-encoding-mapping>
415
+ <locale-encoding-mapping>
416
+ <locale>hu</locale>
417
+ <encoding>ISO-8859-2</encoding>
418
+ </locale-encoding-mapping>
419
+ <locale-encoding-mapping>
420
+ <locale>is</locale>
421
+ <encoding>ISO-8859-1</encoding>
422
+ </locale-encoding-mapping>
423
+ <locale-encoding-mapping>
424
+ <locale>it</locale>
425
+ <encoding>ISO-8859-1</encoding>
426
+ </locale-encoding-mapping>
427
+ <locale-encoding-mapping>
428
+ <locale>iw</locale>
429
+ <encoding>ISO-8859-8</encoding>
430
+ </locale-encoding-mapping>
431
+ <locale-encoding-mapping>
432
+ <locale>ja</locale>
433
+ <encoding>Shift_JIS</encoding>
434
+ </locale-encoding-mapping>
435
+ <locale-encoding-mapping>
436
+ <locale>ko</locale>
437
+ <encoding>EUC-KR</encoding>
438
+ </locale-encoding-mapping>
439
+ <locale-encoding-mapping>
440
+ <locale>lt</locale>
441
+ <encoding>ISO-8859-2</encoding>
442
+ </locale-encoding-mapping>
443
+ <locale-encoding-mapping>
444
+ <locale>lv</locale>
445
+ <encoding>ISO-8859-2</encoding>
446
+ </locale-encoding-mapping>
447
+ <locale-encoding-mapping>
448
+ <locale>mk</locale>
449
+ <encoding>ISO-8859-5</encoding>
450
+ </locale-encoding-mapping>
451
+ <locale-encoding-mapping>
452
+ <locale>nl</locale>
453
+ <encoding>ISO-8859-1</encoding>
454
+ </locale-encoding-mapping>
455
+ <locale-encoding-mapping>
456
+ <locale>no</locale>
457
+ <encoding>ISO-8859-1</encoding>
458
+ </locale-encoding-mapping>
459
+ <locale-encoding-mapping>
460
+ <locale>pl</locale>
461
+ <encoding>ISO-8859-2</encoding>
462
+ </locale-encoding-mapping>
463
+ <locale-encoding-mapping>
464
+ <locale>pt</locale>
465
+ <encoding>ISO-8859-1</encoding>
466
+ </locale-encoding-mapping>
467
+ <locale-encoding-mapping>
468
+ <locale>ro</locale>
469
+ <encoding>ISO-8859-2</encoding>
470
+ </locale-encoding-mapping>
471
+ <locale-encoding-mapping>
472
+ <locale>ru</locale>
473
+ <encoding>ISO-8859-5</encoding>
474
+ </locale-encoding-mapping>
475
+ <locale-encoding-mapping>
476
+ <locale>sh</locale>
477
+ <encoding>ISO-8859-5</encoding>
478
+ </locale-encoding-mapping>
479
+ <locale-encoding-mapping>
480
+ <locale>sk</locale>
481
+ <encoding>ISO-8859-2</encoding>
482
+ </locale-encoding-mapping>
483
+ <locale-encoding-mapping>
484
+ <locale>sl</locale>
485
+ <encoding>ISO-8859-2</encoding>
486
+ </locale-encoding-mapping>
487
+ <locale-encoding-mapping>
488
+ <locale>sq</locale>
489
+ <encoding>ISO-8859-2</encoding>
490
+ </locale-encoding-mapping>
491
+ <locale-encoding-mapping>
492
+ <locale>sr</locale>
493
+ <encoding>ISO-8859-5</encoding>
494
+ </locale-encoding-mapping>
495
+ <locale-encoding-mapping>
496
+ <locale>sv</locale>
497
+ <encoding>ISO-8859-1</encoding>
498
+ </locale-encoding-mapping>
499
+ <locale-encoding-mapping>
500
+ <locale>tr</locale>
501
+ <encoding>ISO-8859-9</encoding>
502
+ </locale-encoding-mapping>
503
+ <locale-encoding-mapping>
504
+ <locale>uk</locale>
505
+ <encoding>ISO-8859-5</encoding>
506
+ </locale-encoding-mapping>
507
+ <locale-encoding-mapping>
508
+ <locale>zh</locale>
509
+ <encoding>GB2312</encoding>
510
+ </locale-encoding-mapping>
511
+ <locale-encoding-mapping>
512
+ <locale>zh_TW</locale>
513
+ <encoding>Big5</encoding>
514
+ </locale-encoding-mapping>
374
515
  </locale-encoding-mapping-list>
375
516
 
376
-
377
-
517
+ <security-constraint>
518
+ <web-resource-collection>
519
+ <web-resource-name>Disable TRACE</web-resource-name>
520
+ <url-pattern>/</url-pattern>
521
+ <http-method>TRACE</http-method>
522
+ </web-resource-collection>
523
+ <auth-constraint/>
524
+ </security-constraint>
525
+
378
526
  </web-app>
379
527