2016-08-02 2 views
1

Мое требование, чтобы рассчитать общее время, затраченное на внешних источников, таких как JDBC, веб-службы и т.д.,информация Endpoint в запросе-обработчика-техника цепи

Я добавил запрос обработчика-консультации цепь в требуемые конечные точки и рассчитали время. Он работает отлично. Мне также нужно добавить идентификатор компонента конечной точки. Есть ли способ получить идентификатор конечной точки через класс консультаций.

Ex:

<int-jdbc:stored-proc-outbound-gateway id="myProcID" request-channel="myChannel" data-source="dataSource" 
.... 
     <int-jdbc:request-handler-advice-chain> 
      <ref bean="statsAdvice" /> 
     </int-jdbc:request-handler-advice-chain> 
    </int-jdbc:stored-proc-outbound-gateway> 

Могу ли я получить идентификатор конечной точки JDBC в классе советы? Пожалуйста, предложите. Спасибо заранее.

Класс рекомендаций расширяет AbstractRequestHandlerAdvice и когда я пытаюсь использовать NamedComponent component = (NamedComponent) target;

Я получаю ниже исключение - org.springframework.messaging.MessageHandlingException: error occurred in message handler [org.springframework.integration.jdbc.StoredProcOutboundGateway#0]; nested exception is java.lang.ClassCastException: org.springframework.integration.handler.AbstractReplyProducingMessageHandler$AdvisedRequestHandler

Fix работает хорошо с 4.3.2 выпуска:

((AbstractReplyProducingMessageHandler.RequestHandler) target).getAdvisedHandler().getComponentName(); 

ответ

0

Если ваш совет расширяет AbstractRequestHandlerAdvice целевой объект доступен в качестве параметра doInvoke - см the javadocs.

Отдайте его NamedComponent и позвоните по телефону getComponentName().

Если вы внесли MethodInterceptor напрямую, используйте invocation.getThis(), чтобы получить ссылку на обработчик.

+0

см. Отредактированный вопрос .. –

+0

Ваша помощь очень ценится. –

+0

О, да; Прости; Я забыл об этом обертке - мы должны предоставить доступ к его делегату; откройте усовершенствование [JIRA Issue] (https://jira.spring.io/browse/INT). –

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