Web アプリでリクエストをルーティングするために Guice を使用していますが、処理する URL パターンの一部のルーティングをモジュール化したいと考えています。理想的には、私の中で次のようなことができるようにしたいと思いますServletModule
:
delegate("/foo/bar/*").to(SomeOtherServletModule.class);
// in SomeOtherServletModule.configureServlets:
serve("/foo/bar/quux").with(Quux.class);
またはさらに良い:
delegatePrefix("/foo/bar/").to(SomeOtherServletModule.class);
// in SomeOtherServletModule.configureServlets:
serve("/quux").with(Quux.class); // prefix removed
これは Guice で可能ですか? Guice は、ServletModules によってインストールされたバインディングをシングルトンにしようと懸命に努力しているようです。これは、誰がどこでGuiceServletContextListener
使用するかを知っている場所に保存されますGuiceFilter
が、このように委任できるように、シングルトン化を解除したいと思います。すべてを単一の関数にしっかりとバインドする代わりに。