いくつかのクラスグラフでクラスの周りにランタイムラッパーを生成しようとしていますが、グラフにサイクルがある場合の対処方法がわかりません。 B型のフィールドを持つクラスAがあるとしますが、B型にはA型のフィールドがあります。クラスA 'にB'型のフィールドがあり、B 'に型があるようにA'とB 'タイプAのフィールド。 Byte Buddyのメソッド "defineField"は、TypeDefinition型のパラメータを受け取ることができます。まだ定義されていないタイプのTypeDefinitionを定義する方法がなければならないと思いますが、まだ見つかりません。Byte Buddy - 生成されたクラスの循環参照の処理
1
A
答えて
0
TypeDescription.Latent
でこのようなフィールドを定義できますが、これは自己責任で行ってください。 Byte Buddyは、型間の再定義が相互依存性を考えるとかなり複雑であるため、これを特定の未検証のユースケースとして扱います。
潜在型を正しく定義する前に、型をロードしないようにしてください。また、include
メソッドを使用して、2つのタイプを1つのDynamicType.Unloaded
に結合する必要があります。さらに、問題のVMが注入型を熱心に検証すると、ClassLoadingStrategy.Default.INJECT
戦略が機能しないことに注意してください。あなたが唯一の円形型定義では、一度に1種類を注入することができたように、少なくとも1つのタイプは、常に、注射の時に最初のタイプが失われます。この制限を受けないClassLoadingStrategy.Default.WRAPPER
戦略の使用を検討してください。
これは言った、あなたは何の問題もなく、これを行うことができますが、VerifierError
を体験することができますが、通常はない経験に約束されている何かが何であるかです。
関連する問題
- 1. クラス循環参照
- 2. 循環参照
- 3. クラスによる循環参照の理由は?
- 4. Java循環参照
- 5. 外部キーを解決するための循環参照と循環参照
- 6. .net MVC/datatables.net ServerSide処理 - 循環参照エラー
- 7. Xcode 8.3.1 - コンパイラは循環参照を処理できません。
- 8. WcfTestClient.exeは循環参照を処理できませんか?
- 9. Excel VBAの循環参照
- 10. モジュール間の循環参照?
- 11. DBの循環参照
- 12. 循環参照の検索
- 13. Protostuff循環参照のRuntimeSchema?
- 14. 循環参照のインスタンス
- 15. Entity Frameworkの循環参照
- 16. Javascript /ガベージコレクタの循環参照
- 17. byte-buddy throws java.lang.ClassNotFoundException:javax.servlet.http.HttpServlet
- 18. Beanクラスでは循環参照はできませんが、クラスクラスorg.apache.avro.Schemaの循環参照があります
- 19. Microsoft Moles:循環参照エラー?
- 20. jQuery DataTables循環参照エラー
- 21. ストライプ - JSON循環参照
- 22. 春@ResponseBody JSON循環参照
- 23. "循環属性グループ参照"
- 24. ビジネスエンティティ、データアクセスレイヤー - 循環参照
- 25. 循環参照パッケージ - Python/Django
- 26. スカラPlayJson循環参照
- 27. ASP C#ユーザーコントロール循環参照
- 28. ジャクソンシリアル化循環参照スタックオーバーフローエラー
- 29. エンティティフレームワーク、コードファーストモデリングと循環参照
- 30. 可能な循環参照?