나는 며칠 전에 Calabash XML을 다운로드하여 명령 프롬프트에서 쉽게 작업 할 수있었습니다. 그런 다음 Java 코드에서 실행하려고 시도했지만 아무 API도 없다는 것을 알았습니다 (예 : Calabash 기본 메소드는 어디에서나 코드 호출을 사용하여 방대합니다). 메인 메서드에서 거대한 청크를 래퍼 클래스에 복사하고 System.out에서 바이트 배열 출력 스트림 (그리고 결국 String)으로 전환해야하므로 작업이 매우 복잡했습니다. 즉실행중인 코드에서 코드
.. .
ByteArrayOutputStream baos = new ByteArrayOutputStream(); // declare at top
...
WritableDocument wd = null;
if (uri != null) {
URI furi = new URI(uri);
String filename = furi.getPath();
FileOutputStream outfile = new FileOutputStream(filename);
wd = new WritableDocument(runtime,filename,serial,outfile);
} else {
wd = new WritableDocument(runtime,uri,serial, baos); // new "baos" parameter
}
성능은 정말 느린 예를 들면 정말로 보인다 내가 때마다 많은처럼 보이지 않는다 17ms했다하지만 몽고 DB 호출 및 암호화 전화 등 내 스프링 REST 컨트롤러가 3/4 평균에 걸릴 평균적으로 간단한 필터를 1000 배 ...
<p:filter>
<p:with-option name="select" select="'/result/meta-data/neighbors/document/title'" />
</p:filter>
를 실행 ms.
코드에서 칼라 바쉬를 실행할 때이 문제가 발생 했습니까? 내가 속력을 내기 위해 할 수있는 일이 있습니까?
XProcRuntime runtime = new XProcRuntime(config);
이 한 번 생성하고 재사용 할 수 -
는 예를 들면, 나는이 매번 호출되고? Calamet를 사용하기 위해 돈을 지불하고 싶지는 않지만 실제로 코드에서 허용 가능한 성능으로 Xproc을 작동시키려는 경우 도움이됩니다.
좋습니다. 이 프로젝트에서는 성능이 중요합니다 (XProc가 제공하는 유연성도 마찬가지입니다). Servlex를 살펴 봅니다. 불행하게도 우리는 Quixprox를 GPL로 사용할 수 없습니다. 그것은 수치 스럽습니다. 감사! – bobmarksie