質問

私は誰かがすでに入っているかもしれない状況にあります。私はアプリケーションでGWTPを使用しています。 GWTPは、ジンをクライアント側の依存関係インジェクションとして使用しています。 GWTPは、サーバー側にリクエストを送信するためにディスパッチャーメカニズムも使用します。

現在、GWTPによって注入されたクラス(プレゼンター)がいくつかあります。「新しい」キーワークを使用することを意味する注入なしでランタイムを作成する他のクラスがあります。例を持ってみましょう:

// Injected
class Dispatcher {
}

// Injected
Class A {
    @Inject // I can do this and access the disp without any hurdle.
    Dispatcher disp;
}

// Created using "new" keywork 
class B {
    //@Inject I can't do this because of B is not an injected class. Correct me if I am wrong here 
    Dispatcher disp;
}

そのため、注入されていないクラスで注入クラスにアクセスする必要があります。 GWT.Create(Injector.Class)メソッドを試していないと思うかもしれません。私はそれを試してみましたが、そのオブジェクトを非Inectedクラスで取得することができますが、オブジェクトディスパッチャーは、そのベースURLに「/dispatch/」を増加させる(追加)違います(追加)。つまり、内部で使用しているGWTPと同じオブジェクトが必要です。 GWTPは、エントリポイントでジンインジェクターを作成します。

ソリューションの1つは、同じジンインジェクターをクライアントサイドセッション(静的ハッシュマップ)に配置し、注入されていないクラスで使用することです(このソリューションも試してみましたが、チャームのように機能しています)。

機能する可能性のあるより完璧なソリューションが必要です。

前もって感謝します。

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top