2013-12-13 1 views
0

트리니다드를 사용할 때 누구든지 Java 라이브러리 (또는 컴파일 된 Java 클래스)의 핫 전개를 달성 했습니까?Trinidad (JRuby 및 RoR 3)를 사용할 때 lib 디렉토리에서 jar를 다시로드

My Rails 응용 프로그램은 Trinidad에서 실행되며 my-rails/lib/java 아래에 많은 jar로 압축 된 Java 백엔드에 따라 다릅니다. 이 항아리 중 하나가 변경되면 Trinidad 서버가 해당 병을 다시로드하지 않습니다. touch tmp/restart.txt은 앱 컨텍스트 만 다시로드합니다.

제 질문은 config.autoload_paths과 관련이 없습니다.이 옵션은 루비 파일을 다시로드하는 용도로만 사용됩니다.



내 자바 종속성의 핫 배포를 달성하는 데 실패하고 포기 업데이트되었습니다. 나에게 도움이되는 유일한 방법은 내가 코드를 확인하기 위해 매번 로컬로 시작하는 단위 테스트였다.

답변

1

.jar가 트리니다 드 버그보다 재로드되지 않는다면 (컨텍스트 재시작 중에 Jars를 다시 추가해야하기 때문에 Tomcat이 기본적으로이 작업을 수행한다고 가정합니다. 확실하지 않습니다) ... 자세한 내용을 아는 데 큰 도움이됩니다 (트리니다드 트래커). 예. jar 파일의 이름이 같으면 구성이 어떻게 보이는지 (있는 경우)?

또 다른 옵션은 완전히 새로운 컨텍스트가 만들어지기 때문에 롤링을 다시 시작하는 것입니다. 따라서 컨텍스트가 파일 시스템에 의존하는 모든 것을 선택해야합니다.

Tomcat에서 작동 할 수도 있지만 .jar 파일을 변경하는 것과 같은 파일 변경시 자동 다시로드는 트리니다드에서 의도적으로 사용 중지되었습니다. 다시 시작을 요청하려면 "명시 적"(... 터치)해야합니다.

+0

시간을내어 주셔서 감사합니다.하지만 명시 적으로 'touch tmp/restart.txt'가 도움이되지 않는다고 썼습니다. –

+1

나는 주로'reload_strategy :'... 대신에 롤링 재시작 시도를 제안했다. 아직 시도가 불분명하다. 어쨌든, 정말로 도움이 될 수있는 간단한 앱을 가지고 있다면 이것을보고해야합니다. 고마워 – kares