使用MockBean清理的Spring Context缓存使loadLibrary失败

问题描述 投票:1回答:1

我有一个配置类,它使用https://github.com/scijava/native-lib-loader加载库(很棒)。

[不幸的是,使用@MockBean时会强制刷新上下文缓存。我不知道为什么,但是我不能运行两次NativeLoader.loadLibrary("my-lib"),因为我第二次得到了FileNotFoundException: The process cannot access the file because it being used by another process

如何使配置在测试期间运行一次或使NativeLoader两次加载我的库?

java spring-boot mockito spring-test
1个回答
0
投票

尝试延迟加载。

1)取决于逻辑的复杂性,将bean定义为@Lazy可以有所帮助。

2)如果您的情况并非如此,则手动执行延迟加载会有所帮助。

3)可能需要对应用程序的逻辑进行一些重做才能推迟使用加载库的代码。

© www.soinside.com 2019 - 2024. All rights reserved.