私のプロジェクトにはいくつかの外部Javaインターフェイスがあります(変更できません)。 など。java - CDI経由でプロキシを注入
public interface Abc
{
void do123();
}
豆で私はこのインターフェイスを注入するのが好きです。 など。
public class TestAbc
{
@Inject
private Abc abc;
}
しかし、私はこのインターフェイスまたはプロデューサメソッドの実装を持っていません。代わりに、私はこのインターフェイスの汎用プロキシを注入する方法を探しています。
私はこのようなことをするにはcdi拡張のようなものが必要だと思います。不幸にも私はこのためにどのように良い方法を見つけることができません。 最適な世界で私はこのような方法を実装することを期待しています。
public Object produce(Class<?> type)
{
if(isMyType(type))
{
// I can produce this type
return createProxy(type);
}
return null; // this method can't produce this type
}
どのようにすればいいですか?
よろしく ヨハネスので
はこれを見ている:https://bitbucket.org/marembo2008/khameleon/src/4231200bb5b618e3e4cae569f111115685f4e1dd/khameleon-spi/src/main/java/com/anosym/khameleon/core/spi/extension/ConfigServiceExtension.java ?at = master&fileviewer =ファイルビューデフォルト – maress
これを少し拡張できますか?インターフェイスにインプリメンテーションがない場合は、何を注入すると思われますか? 「プロキシ」は何をしますか?実際に実装する必要があるため、実装するか、他のライブラリで実装します。 – Siliarus
@Siliarus私の考えは、Javaプロキシがこのインタフェースを "偽造"できるということです。私の具体的な使用例は、クライアントにEJB RMIインタフェースを注入することです。異なるRMIインタフェースでは、プロダクトメソッドは常に非常によく似ています。 https://docs.jboss.org/author/display/AS71/EJB+invocations+from+a+remote+client+using+JNDI lookupRemoteStatefulCounter()を参照してください。適切なファイルに格納してプロキシにロードするのが好きな特定のインタフェースに必要なパラメータ。 – Johannes