Я пытаюсь написать строку непосредственно в OutputStream внутри метода writeTo для реализации интерфейса MessageBodyWriter. Я хочу сделать это внутри блока catch try, чтобы отправить сообщение, когда поймано исключение. Однако, когда я отлаживаю программу, я понимаю, что String никогда не записывается в OutputStream (size = -1).JAXB записывается в OutputStream внутри метода writeTo
код выглядит примерно так:
public void writeTo(final Object entityObject, final Class<?> aClass, final Type type,
final Annotation[] annotations, final MediaType mediaType,
final MultivaluedMap<String, Object> stringObjectMultivaluedMap,
final OutputStream outputStream) throws IOException, WebApplicationException {
try{
throw new JAXBException("error");
}catch(JAXBException j){
outputStream.write("HI".getBytes());
outputStream.flush();
}
и оператор журнала, если не уверены. Что произойдет, если вы сбросите или закройте поток? –
спасибо, что указал это вне. Я попытался промыть, но все равно не пошел. – denniss
Являются ли ваши вызовы outputStream генерированием исключений? –