2011-01-05 2 views
0

다음은 내가 수행해야하는 작업입니다. Apache's FOP을 사용하여 PDF를 렌더링합니다 (Windows 권장). 작업은 대기열에서 올 것이지만 너무 중요하지는 않습니다.Apache FOP 및 Java 웜 스타트 옵션 (Rhino를 사용하는 것이 더 좋음)

작업을 렌더링해야 할 때마다 JVM을 예열하지 않으려합니다. FOP에는 웹 요청과 함께 사용할 수있는 참조 서블릿이 있지만 Tomcat을 소개하고 싶지 않습니다.

필자는 Java 기술이 매우 거칠므로 (그런 식으로 유지하는 편이 낫다) 큐를 모니터링하고 시작 프로세스없이 FOP 작업을 실행할 수있는 장기 실행 Java 프로그램을 시작하는 가장 쉬운 방법은 무엇입니까? 예를 들어 커맨드 라인 자바 스크립트에서 발생하는 오버 헤드? Rhino에서 JS를 사용하고 Rhino/JS에서 이미 많은 문서 처리 논리를 사용하고 있기 때문에 Rhino에서이 작업을하고 싶습니다. 확실히 Java 웹 서버를 사용하고 싶지 않습니다.

답변

1

두 가지 옵션이 있다고 생각합니다.

  1. 웹 서버 이건 RPC 서버 이건 관계없이 자바 "서버". 우리는 단지 목적이 PDF를 생성하는 장기 실행 자바 서비스와 통신하기 위해 근검을 사용합니다. 우리는 시작시 FOP를 사전로드하고 각 요청에 대해 라이브러리를 "핫"상태로 유지합니다. 웹 서비스는 그만큼 좋을 것입니다.

  2. 언급 한 대기열을 수신 대기하는 java 데몬은 PDF를 생성하고 (아마도 tmp 폴더에 넣을 것인가?) 다른 대기열에 완료 및 위치 알림을 반환합니다. > 300 페이지 이상의 장기 실행 재무 보고서).

원하는 언어를 사용할 수 있습니다. Rhino가 Java/FOP와 직접 통신 할 수 있다면 문제가 발생하지 않습니다. 우리는 Jython과 Scala를 Java 위에 다양한 프로젝트에 사용했습니다.

관련 문제