2017-08-02 10 views
0

私はCompletableFuture約束を返すサービスを使用しています。問題は、ちょうどうまくいきます。 しかし、約束を返すことは、私を困惑させてしまいます。CompletableFuture&Java Reflection約束とJava Reflection

通常1はCompletableFutureで動作するように、このようなものを使用します。

promise.thenApply(returnValue -> { 
       //do something with it 
      }); 

はどのようにして反射でそれを行うのでしょうか?

​​

は基本的に私は私の約束の返却を治療するためにラムダ関数を渡したいが、私はそれを行う方法についてわからないことだし、それが可能だ場合はそれを行うこと。

+0

なぜ、通常のメソッド呼び出しの代わりにリフレクションを使用していますか?そしてなぜあなたはその結果の代わりに未来についてそれをやっているのですか? –

+0

私が使用しているクラスは、OSGIコンテキスト内の別のクラスローダーによってロードされるため、直接アクセスすることはできません。 –

+0

'CompletableFuture'はJDKの一部であるため、同じ親クラスローダによってロードされる必要があります。したがって、あなたの '約束事 'を' CompletableFuture 'にキャストし、' thenApply() 'を呼び出し、渡された' Function'の中で必要に応じて反映させることができます。 –

答えて

0

CompletableFutureはJDKの一部ですので、同じ親クラスローダーによってロードされます。

したがって、約束をCompletableFuture<?>にキャストし、必要に応じて、Functionに反映されたthenApply()を呼び出してください。