2014-06-06 1 views

답변

1

MOXyJsonProvider이라는 자체 하위 클래스를 만듭니다 (http://blog.bdoughan.com/2012/05/moxy-as-your-jax-rs-json-provider.html 참조). 그 서브 클래스에서 나는 preReadFrom 메소드를 오버라이드 할 것이다. 이 방법에서는 Unmarshaller.Listener을 설정합니다.

@Override 
protected void preReadFrom(Class<Object> type, Type genericType, 
     Annotation[] annotations, MediaType mediaType, 
     MultivaluedMap<String, String> httpHeaders, 
     Unmarshaller unmarshaller) throws JAXBException { 
    Unmarshaller.Listener ul = new YourUnmarshallerListener(); 
    unmarshaller.setListener(ul); 
} 

그런 다음 Unmarshaller.Listener는 객체가 비 정렬 화 될 때마다 계산하고 너무 많은 읽을 경우 오류가 밖으로 것입니다.

+0

멋진 아이디어! 고맙습니다! 나는이 코드가'@ Provider' 주석 덕분에 Glassfish에 자동으로 주입된다고 생각합니다. 맞습니까? – mrik974

관련 문제