공부 흔적남기기

Sppring IPFS CLIENT 싱글톤으로 사용시 주의점 본문

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
반응형