4

次のweb.xmlがあるとします。

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <filter>
        <filter-name>Guice Filter</filter-name>
        <filter-class>com.google.inject.servlet.GuiceFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>Guice Filter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <listener>
        <listener-class>com.foo.JerseyContextListener</listener-class>
    </listener>
    <context-param>
        <param-name>module</param-name>
        <param-value>com.foo.MainModule</param-value>
    </context-param>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
</web-app>

「モジュール」サーブレットコンテキストパラメータを「com.foo.MainModule」に設定するようにDropWizardに指示するにはどうすればよいですか?

Configuration.getHttpConfiguration().getContextParameters()常に空のリストを返します。このクラスを拡張することになっていますか?

4

2 に答える 2

5

構成ファイルで設定できます。

- http:
  - contextParameters:
    - module: com.foo.MainModule
于 2012-11-07T01:43:19.323 に答える
1

オーバーライドが必要なようですConfiguration.http:

public class MyConfiguration extends Configuration
{
    public MyConfiguration()
    {
        this.http = new HttpConfiguration()
        {
            @Override
            public ImmutableMap<String, String> getContextParameters()
            {
                return ImmutableMap.<String, String>builder().put("module", MainModule.class.getName()).
                    build();
            }
        };
    }
}
于 2012-11-06T21:51:42.950 に答える