2011-02-08 2 views
1

모델에 많은 비즈니스 로직이 포함 된 Ruby on Rails 애플리케이션이 있습니다. 또한 Java에서 동일한 비즈니스 로직을 사용해야하는 백엔드 프로세스가 있습니다. JRuby를 사용하여 Java에서 호출 할 수있는 jar에 Rails 응용 프로그램을 패키지화하려면 어떻게해야합니까?Java에서 Ruby ActiveRecord 모델 사용

성능상의 이유로 Java에서 코드에 직접 액세스해야합니다. HTTP 요청을 수행하는 데 너무 많은 오버 헤드가 있습니다. 액세스가 동기되어야하므로 메시지 대기열을 사용할 수 없습니다.

답변

1

혹시 Warbler를 보았습니까?

https://github.com/nicksieger/warbler

이렇게하면 앱 전쟁으로 레일을 포장하는 데 도움이됩니다. 그게 도움이 될까요?

또는 warbler가 생성하는 파일을 볼 수도 있습니다. 각 .rb 파일에 대해 .class 파일을 만든 다음 .class 파일을 포함하는 파일을 생성합니다. 아마도 당신은 그것들을 가지고 병에 포장 할 수 있습니다.

또한 레일즈 애플리케이션 외부에서 jruby에서 activerecord에 액세스하는 방법에 대한 정보는 'JRuby 요리 책'책의 2.14 절을 참조하십시오. 기본적으로 database.yml에서 config를 읽은 다음 ActiveRecord.establish_connection을 사용하여 DB 연결을 열면 관련 모델을 요구하기 만하면 모델에 액세스 할 준비가됩니다.

+0

감사합니다. 나는 이것이 정확히 내가 찾고 있었던 것이라고 생각한다. –