im最近数ヶ月と私は最近wicket-guiceを暴き始めたので、wicketを使用しています。 だから、イムかなりGuiceのnoobie :)wicket-guiceを使用しているときの無限ループ
すべてのページがServiceClassを持って... これらのオブジェクトはまた、いくつかの理由からそのServiceClassへの参照を持ったオブジェクト(つまりユーザー)の数を管理する(それDoServiceを呼び出すことができます) 。
public class page ... {
@Inject
private DoService doService;
}
public class DoService ... {
private Collection<User> ...
}
public class User {
@Inject
private DoService doService;
}
イムかなり確実ではないが、私はGuiceのすべてのitsselfことで、これを管理して考えても、次の例外が依存関係の循環参照の原因を発生すると思います。
どのような.....あなたは私の問題を理解してplsは:)
を依頼するより多くの情報が必要な場合は、事前
java.lang.StackOverflowError
at java.lang.reflect.InvocationTargetException.<init>(InvocationTargetException.java:54)
at WICKET_....DoService$$FastClassByCGLIB$$ce256f9.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
at org.apache.wicket.proxy.LazyInitProxyFactory$CGLibInterceptor.intercept(LazyInitProxyFactory.java:317)
at WICKET_....DoService$$EnhancerByCGLIB$$d1f8934e.rollback(<generated>)
at WICKET_c....DoService$$FastClassByCGLIB$$ce256f9.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
......
こんにちは、これはDOデザインではありませんが、私は簡単な例を提供したいと思います。実際のアプリケーションでは、バックリファレンスが重要です:( –
バックリファレンスが重要な場合は、デザインを再検討することは悪い考えではないかもしれません。 。 –
こんにちは、あなたの返信をもう一度感謝します。いくつかのさらなる調査の後で、それはエラーが全く異なる問題によって引き起こされたことを示しました。実際にwicket-guiceはプロキシオブジェクトを使って作業しています。これらのプロキシはスレッドローカルにアタッチされており、この依存関係が次に注入されると、このプロキシのプロキシはwicket-guiceによって作成されました。 –