2013-11-07 2 views
0

Я пытаюсь запустить Solr 4.4.0, используя дистрибутив Jetty, который поставляется вместе с ним. Я хочу включить сжатие GZip на Jetty, чтобы уменьшить сетевой трафик. Я пытаюсь запустить «пример» по умолчанию, который предоставляется в дистрибутиве. Я редактировал файл примера/Solr-WebApp/WebApp/WEB-INF/web.xml добавить следующие строки в:Невозможно включить сжатие Jetty при использовании Solr 4.4

<filter> 
<filter-name>GzipFilter</filter-name> 
<filter-class>org.eclipse.jetty.servlets.GzipFilter</filter-class> 
<init-param> 
    <param-name>mimeTypes</param-name> 
    <param-value>text/html,text/plain,text/xml,application/xhtml+xml,text/css,application/javascript,image/svg+xml</param-value> 
</init-param> 
</filter> 
<filter-mapping> 
    <filter-name>GzipFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

Однако, во время запуска, я получаю следующее исключение:

931 [main] WARN org.eclipse.jetty.servlet.Holder – 
java.lang.ClassNotFoundException: org.eclipse.jetty.servlets.GzipFilter 
at java.net.URLClassLoader$1.run(URLClassLoader.java:200) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:188) 
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:421) 
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:383) 
at org.eclipse.jetty.util.Loader.loadClass(Loader.java:100) 
at org.eclipse.jetty.util.Loader.loadClass(Loader.java:79) 
at org.eclipse.jetty.servlet.Holder.doStart(Holder.java:97) 
at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:91) 
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:719) 
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:265) 
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1252) 
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:710) 
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:494) 
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:39) 
at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:186) 
at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:494) 
at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:141) 
at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:145) 
at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:56) 
at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:609) 
at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:540) 
at org.eclipse.jetty.util.Scanner.scan(Scanner.java:403) 
at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:337) 
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:121) 
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:555) 
at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:230) 
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
at org.eclipse.jetty.util.component.AggregateLifeCycle.doStart(AggregateLifeCycle.java:81) 
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58) 
at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:96) 
at org.eclipse.jetty.server.Server.doStart(Server.java:280) 
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1259) 
at java.security.AccessController.doPrivileged(Native Method) 
at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1182) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.eclipse.jetty.start.Main.invokeMain(Main.java:473) 
at org.eclipse.jetty.start.Main.start(Main.java:615) 
at org.eclipse.jetty.start.Main.main(Main.java:96) 
933 [main] WARN org.eclipse.jetty.util.component.AbstractLifeCycle – FAILED GzipFilter: javax.servlet.UnavailableException: org.eclipse.jetty.servlets.GzipFilter 
javax.servlet.UnavailableException: org.eclipse.jetty.servlets.GzipFilter 
at org.eclipse.jetty.servlet.Holder.doStart(Holder.java:104) 
at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:91) 
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:719) 
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:265) 
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1252) 
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:710) 
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:494) 
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:39) 
at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:186) 
at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:494) 
at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:141) 
at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:145) 
at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:56) 
at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:609) 
at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:540) 
at org.eclipse.jetty.util.Scanner.scan(Scanner.java:403) 
at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:337) 
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:121) 
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:555) 
at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:230) 
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
at org.eclipse.jetty.util.component.AggregateLifeCycle.doStart(AggregateLifeCycle.java:81) 
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58) 
at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:96) 
at org.eclipse.jetty.server.Server.doStart(Server.java:280) 
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1259) 
at java.security.AccessController.doPrivileged(Native Method) 
at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1182) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.eclipse.jetty.start.Main.invokeMain(Main.java:473) 
at org.eclipse.jetty.start.Main.start(Main.java:615) 
at org.eclipse.jetty.start.Main.main(Main.java:96) 
934 [main] WARN org.eclipse.jetty.webapp.WebAppContext – Failed startup of context o.e.j.w.WebAppContext{/solr,file:/home/diptesh/solr-4.4.0/solr/example/solr-webapp/webapp/},/home/diptesh/solr-4.4.0/solr/example/webapps/solr.war 
javax.servlet.UnavailableException: org.eclipse.jetty.servlets.GzipFilter 
at org.eclipse.jetty.servlet.Holder.doStart(Holder.java:104) 
at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:91) 
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:719) 
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:265) 
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1252) 
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:710) 
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:494) 
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:39) 
at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:186) 
at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:494) 
at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:141) 
at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:145) 
at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:56) 
at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:609) 
at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:540) 
at org.eclipse.jetty.util.Scanner.scan(Scanner.java:403) 
at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:337) 
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:121) 
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:555) 
at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:230) 
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
at org.eclipse.jetty.util.component.AggregateLifeCycle.doStart(AggregateLifeCycle.java:81) 
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58) 
at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:96) 
at org.eclipse.jetty.server.Server.doStart(Server.java:280) 
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1259) 
at java.security.AccessController.doPrivileged(Native Method) 
at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1182) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.eclipse.jetty.start.Main.invokeMain(Main.java:473) 
at org.eclipse.jetty.start.Main.start(Main.java:615) 
at org.eclipse.jetty.start.Main.main(Main.java:96) 

Сервер Solr запускается, и я также могу запросить Solr в обычном режиме. Но результаты не получают gzip. Может ли кто-нибудь сказать мне, что здесь происходит не так?

ответ

0

Я подозреваю, что вам нужно добавить артефакт приставки-сервлетов в конфигурацию запуска для solr. Я не знаю, как Solr запускается, но если они используют start.ini файл, то вы должны быть в состоянии добавить что-то вроде:

OPTIONS = пристани-сервлеты

+0

Solr с причалом действительно использует файл start.config который встроен в start.jar. По-видимому, в дистрибутиве, который я использовал, отсутствовал файл-шлюзы- .jar. Загрузка файла и его копирование в $ {jetty.home}/lib решила проблему. – dipteshc

+0

да, пользовательский solr distro ... не много мы можем сделать с этим –

Смежные вопросы