Camel Route를 구현하는 데 문제가 있습니다. 여기에서 URl을 호출하고 JSON 응답을 Pojo로 변환합니다. 나는 Camel-Jackson을 사용합니다. 다음은 샘플 코드Java 힙 부족, 스택 오버플로 오류
from("direct:start")
.setHeader(Exchange.HTTP_METHOD, constant("GET"))
.to("URL")
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
int responseCode = exchange.getIn().getHeader(Exchange.HTTP_RESPONSE_CODE, Integer.class);
System.out.println(exchange.getIn().getBody());
System.out.println(responseCode);
}
})
.marshal(cont)
.process(new MyProcessor())
.end();
cont
는 잭슨의 데이터 형식입니다
연결 상태 (200)
로 설정하지만
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:541)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:644)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:152)
caused because of java.lang.StackOverflowError.
를 얻을. 나는 힙 메모리를 1024M로 늘렸다. 그러나 여전히 스택 오버플로 오류를 보여주고있다. 그러나 Json 파일은 단지 26KB입니다. 나는 http://www.jsonschema2pojo.org/ 사이트를 사용하여 json의 Pojos를 만들었습니다.
'-Xss m'플래그를 사용하여 스택 크기를 늘릴 수 있습니다. –
Erik
예. 나는 1GB 이상 증가 할 수 없다. 내 내부 메모리 2.2 기가 바이트에 대한 점령있다. 램의 총 점유 공간은 3.25GB입니다. 그러나 나는 프로그램이 더 많은 것을 요구한다고 생각합니다. – bks4line
그럴 경우 아래의 JonK : s 응답은 올바른 분석이라고 생각합니다. 그것은 도망 간 재귀 같은 것 같습니다. – Erik