sunspot_solr 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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