Tomcat에서 실행되는 Spring webapp가 있습니다.Spring 웹 애플리케이션에서 Spring 컨텍스트를 명시 적으로 닫는 방법은 무엇입니까?
또한이 응용 프로그램은 RMI를 통한 원격 액세스 서비스를 제공해야합니다.
이<bean class="org.springframework.remoting.rmi.RmiServiceExporter">
<property name="serviceName" value="${server.rmi.remoteServiceName}"/>
<property name="service" ref="remoteFacade"/>
<property name="serviceInterface" value="my.ServiceInterface"/>
<!-- defaults to 1099 -->
<property name="registryPort" value="${server.rmi.registryPort}"/>
</bean>
그것은 잘 작동하지만 종료 톰캣, 그것은 중단하고 나는 그것을 죽이고 수동으로는 RMI 레지스트리에 대해 생성 한 자바 프로세스를 종료 할 때 나는이 작업을 수행하는 봄의 RmiServiceExporter
을 사용하고 있습니다. RmiServiceExporter
을 만든 컨텍스트 (이 경우 웹 컨텍스트가 아닌)에 명시 적으로 닫아야합니다 (즉, close()
메서드를 호출해야합니다). (소스 : https://issues.springsource.org/browse/SPR-5601)
방법 (응용 프로그램이 중단되는 경우에 컨텍스트 close()
메소드를 호출)이 달성 상황이 ServletContextListener
(org.springframework.web.context.ContextLoaderListener
)에 의해 생성되는 웹 애플리케이션에서?
편집 : 제 질문은 실제로 오도되었습니다. 컨텍스트는 실제로 이미 닫혀 있으며 RmiServiceExporter의 destroy() 메서드도 마찬가지입니다. 문제 (제대로 종료 할 수없는 바람둥이)는 다른 것에서 오는 것 같습니다. 이 질문을 던지면서 시간을 보낸 사용자가 게시를 서둘러 용서해 주시기 바랍니다.
초기 문제의 원인을 알려주십시오. (톰캣이 제대로 종료되지 않음) 해결책입니다. (현재 비슷한 문제에 직면하고 있습니다.) –
@Akash : 오래 전 죄송합니다. 기억이 안납니다. RMI와 관련이 없다. –