Я строю небольшой API вокруг JMS API для моего проекта.По сути, мы создаем код, который будет обрабатывать логику соединения, и упростим публикацию сообщений, предоставив метод, такой как Client.send (String message).
Одна из обсуждаемых сейчас идей заключается в том, что мы предоставляемозначает, что пользователи прикрепляют перехватчики к этому клиенту.Мы будем применять перехватчики после подготовки сообщения JMS и перед его публикацией.
Например, если мы хотим поставить метку времени для сообщения и написать перехватчик для этого, тогда мы будем применять это
...some code ...
Message message = session.createMessage()
..do all the current processing on the message and set the body
for(interceptor:listOfInterceptors){
interceptor.apply(message)
}
Один из интрецепторов, о которых мы думали, - это сжатие тела сообщения.Но когда мы пытаемся прочитать тело сообщения в перехватчике, мы получаем сообщение MessageNotReadableException.Раньше я обычно сжимал содержимое перед тем, как задавать его в качестве тела сообщения - поэтому мне никогда не приходилось беспокоиться об этом исключении.
Есть ли способ обойти это исключение?