2012-04-29 5 views
3

레일즈 애플리케이션이 있습니다. 또한 4 차원 트리 구조를 구성하는 Java 메소드를 작성했습니다. 그것은 내 데이터베이스를 쿼리하기위한 것입니다. 코드는 상대적으로 복잡하기 때문에 Ruby에서 다시 작성하고 싶지 않습니다. 내 레일 앱에이 자바 메서드를 사용할 수있는 방법이 있나요?Java + 레일즈 : 레일즈 애플리케이션에서 Java 코드 호출하기

이것은 Heroku 호스팅 응용 프로그램에 대한 것입니다.

그렇다면 어떻게해야할까요? 어떤 키워드를 사용해야합니까? 누구든지 저에게 좋은 자원을 알려줄 수 있습니까?

감사합니다.

+0

RJB (Ruby Java Bridge)를 살펴볼 수 있습니다. – Russell

답변

5

네트워크를 통해 Java 메소드를 Ruby 클라이언트에 노출 할 수 있습니다. 서버를 통해 Java 코드를 노출하기위한 훌륭한 추상화 레이어가 많이 있습니다.

이러한 추상화 계층은 Thrift입니다. Thrift의 코드 생성 엔진을 사용하여 Ruby 용 클라이언트 라이브러리와 Java 서버용 인터페이스를 만들 수 있습니다. 어디서든 Java RPC 서버를 실행하고 Heroku의 Rails 앱에서 Ruby 클라이언트로부터 Java RPC 서버를 호출 할 수 있습니다.

당신이하고있는 일에 너무 무거울 경우 Java 프로그램을 쉘 아웃하여 STDOUT으로 메소드 호출의 결과를 보내도록 할 수 있습니다. 루비에서는 backticks (예 : `java MyProgram`)를 사용할 수 있습니다.

+0

고마워요 ... – banditKing

관련 문제