2017-02-12 4 views
2

私は、署名付きjarに複数パラメータのパッケージ保護されたコンストラクタを持つcom.microsoft.azure.eventprocessorhost.PartitionContextの同時テストを試みています。署名付きクラスを傍受するための戦略

私は基本的にそのコンストラクタを無視する(またはNULLを渡す)と、カウンタをインクリメントする1つのメソッドをオーバーライドしたいと思います。クラスは最終的なものではなく、どちらもコンストラクタまたは問題のメソッドではありません。

サブクラス化すると、署名によるセキュリティ例外が直接発生します。さまざまなサンプルを見て、ByteBuddyTutorialExamplesTestのローカルバージョンで試しましたが、役に立たないです。

現時点では、私はあきらめて、そのクラスにコールサイトを代行することを検討しています。つまり、ターゲットの偽のバージョン(PartitionContext)を持つと便利です。

私は何か迷っているのですか、それとも私が達成できないことを達成しようとしていますか?

答えて

2

バイトバディはClassLoadingStrategyを提供しています。これは、クラスローダーにクラスを挿入し、与えられたものを使用することができます。ProtectionDomain。ただし、ドメインは明示的に提供する必要があります。

builder.make().load(sealedClass.getClassLoader(), 
    ClassLoadingStrategy.Default.INJECTION.with(sealedClass.getProtectionDomain())) 

はこの戦略を適用するには、load方法は、第二引数でオーバーロードされ

関連する問題