アシストインジェクションを使用して作成するクラス (WindowedCounter) があります。このクラスのファクトリをメソッド インターセプタに挿入する必要があります。現在、メソッド インターセプターは具体的なインスタンスにのみバインドできます。だから私の質問は、これをきちんと行う方法です。
以下のコードは、これまでに思いついたものです。ファクトリのファクトリ プロバイダを作成し、それを使用してモジュール自体でファクトリ インスタンスを取得します。次に、クラスの両方にバインドされ、インターセプターにバインドするインスタンスを取得するために使用されます。ただし、FactoryProvider クラスは Guice 3.0 で廃止されました。
これを行うGuice 3.0の方法は何ですか?
モジュールにインスタンスを挿入できますか?
Provider<WindowedCounterFactory> wCountFactoryProvider = FactoryProvider.newFactory(WindowedCounterFactory.class, WindowedCounter.class);
bind(WindowedCounterFactory.class).toProvider(wCountFactoryProvider);
WindowedCounterFactory wCountFactory = wCountFactoryProvider.get();
bindInterceptor(Matchers.any(), Matchers.annotatedWith(RateLimited.class), new RateLimitingInterceptor(wCountFactory));