Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java spring引导-在同一线程上创建和销毁bean_Java_Spring_Spring Boot - Fatal编程技术网

Java spring引导-在同一线程上创建和销毁bean

Java spring引导-在同一线程上创建和销毁bean,java,spring,spring-boot,Java,Spring,Spring Boot,我使用的是一个库,它要求我在同一个线程上初始化和去初始化它,如果我不去初始化它,它将使JVM崩溃。崩溃本身并没有破坏任何东西,只是看起来很难看,但它留下的错误转储可能会很快填满很多空间 目前,代码非常简单: @Bean IEEngine()引发异常{ 返回引擎。初始化引擎(sdkLibraryPath,projectId, sdkLicensePath,sdkLicensePassword,“,”,false); } @发情前期 void unloadEngine()引发异常{ 引擎。取消初始化

我使用的是一个库,它要求我在同一个线程上初始化和去初始化它,如果我不去初始化它,它将使JVM崩溃。崩溃本身并没有破坏任何东西,只是看起来很难看,但它留下的错误转储可能会很快填满很多空间

目前,代码非常简单:

@Bean
IEEngine()引发异常{
返回引擎。初始化引擎(sdkLibraryPath,projectId,
sdkLicensePath,sdkLicensePassword,“,”,false);
}
@发情前期
void unloadEngine()引发异常{
引擎。取消初始化引擎();
}

我认为您需要将适用的Springbean的范围设置为
request
。这个范围将为每个请求创建新的bean,最终将对应于每个线程的bean创建。

我可能错了,但我怀疑这个需求是否得到了满足。我建议让您自己的线程专用于此,让它创建引擎,然后让它等待(),直到销毁时间,在销毁引擎的任务中唤醒它。Faik,spring提供了线程范围的bean。这还不够吗?不幸的是,由于这个库,我不能经常创建和销毁它。它是全局初始化的,因此如果两个请求同时出现,其中一个请求将破坏引擎,另一个请求将失败。