web study/Spring
Sppring IPFS CLIENT 싱글톤으로 사용시 주의점
65살까지 코딩
2023. 11. 16. 21:03
728x90
반응형
파일, 이미지, 폴더 등 저장소로 IPFS 를 사용하고 있는데
스프링 빈으로 등록하여 사용시 자꾸 IPFS 데몬이 꺼지는 문제점이 발생
코드는 다음과 같다.
@Configuration
class IpfsConfig(
private val appProperties: AppProperties,
) {
@Bean
fun ipfs(): IPFS{
return IPFS(appProperties.ipfsHost, 5001)
}
}
왜 그런지 고민을 좀 해보다가 @Bean의 destroy method가 shutdown이나 close를 추론해서 자동으로 빈이 사라지기 전에 호출한다는 것이 기억이 났다. 찾아보니 IPFS Class에 shutdownMethod가 있었고 이것을 자동으로 호출해서 발생하는 문제였다 .
다음과 같이 수정하면 된다.
@Configuration
class IpfsConfig(
private val appProperties: AppProperties,
) {
//자동으로 shutdown을 호출해서 daemon을 shutdown 시킴
@Bean(destroyMethod = "")
fun ipfs(): IPFS{
return IPFS(appProperties.ipfsHost, 5001)
}
}
https://github.com/ipfs-shipyard/java-ipfs-http-client
728x90
반응형