service interface があるとしましょうcom.example.Service
。
テストのために、私は
src/test/resources/META-INF/services/com.example.Service
を含むファイル
com.example.sometest.MockServiceImpl
インターフェースをMockServiceImpl
実装します。
これで、 aを実行ServiceLoader.load(Service.class)
して結果を反復処理すると、 myMockServiceImpl
は常に再度インスタンス化されます。の javadoc にServiceLoader
は、キャッシュを維持していると記載されていますが、私のモック サービスはキャッシュされていないようです。
なぜそうなるのですか、どうすればそれServiceLoader
をキャッシュに入れることができますか?