2014-01-15 5 views
5

Мы вполне довольны интеграцией с весной, за исключением случаев, когда ситуация не работает должным образом. Тогда действительно сложно узнать, что происходит (мы используем xml-конфигурацию). Может кто-то указать мне на компоненты java за компонентами интеграции весны, чтобы их отладить. Например: если у меня есть headerValueRouter, где я могу установить точку останова, чтобы узнать, каково фактическое значение заголовка внутри сообщения, непосредственно перед тем, как компонент выполняет маршрутизацию. Может быть, есть даже список int: component-> java class?Как отлаживать весеннюю интеграцию

ответ

2

Правда. Список существует, но это не так прямо, как вы можете ожидать. Каждый компонент xml переходит к некоторому парсеру. И последний настраивает компонент (ы) интеграции Spring. Вы можете найти отображение из исходного кода любой версии AbstractIntegrationNamespaceHandler.

На самом деле мы пытаемся отобразить имена xml-тегов с именами классов Java. Таким образом, <header-value-router> ->HeaderValueRouterParser ->HeaderValueRouter.

+0

Спасибо, что помогает. Другое дело: существует ли общий интерфейс, реализуемый всеми компонентами? Чтобы мы могли создать аспект или перехватчик, который окружает этот общий метод интерфейса для разработки? –

+0

Предположим, что 'MessageHandler' для вас. С другой стороны, вам нужно понять, что вы хотите «перехватить» ... –

+0

Я думал о перехвате чего-то вроде handleMessage, чтобы я мог видеть состояние сообщения до и после для компонента с отдельным идентификатором. Другим вариантом, который мы в настоящее время используем, является наличие компонента отладочного трансформатора, который мы можем использовать для целей отладки, а затем снова удалить, но это просто сделать в цепочке. Насколько дорого обойти каждый отдельный компонент si с цепочкой с точки зрения производительности и потребления памяти? –

Смежные вопросы