2013-01-16 19 views
5

Może każdy wie, w jaki sposób program Apache CXF dopasowuje kanały HTTP skonfigurowane na wiosnę? To znaczy, tu jest definicja przewód:Strategia dopasowywania kanałów Apache CXF

<http-conf:conduit name="{http://abc.com/wsdl}MyPortHttp.http-conduit"> 
    <http-conf:client Connection="Keep-Alive" MaxRetransmits="1" ReceiveTimeout="180000" /> 
</http-conf:conduit> 

Co się stanie, jeśli pominąć .http-conduit udział? Gdzie jest kod faktycznego dopasowania? Moje szybkie wyszukiwanie nie przynosi efektu.

Odpowiedz

1

Jest to wykonywane głównie w org.apache.cxf.transport.http.HTTPTransportFactory#configure(Object, String, String). Następnie wysyła do org.apache.cxf.configuration.spring.ConfigurerImpl.configureBean(String, Object, boolean). Jeśli pominiesz część .http-conduit, konfiguracja nie będzie widoczna dla CXF, ponieważ ma bardzo proste zachowanie pasujące: przez symbol wieloznaczny lub według nazwy kanału (org.apache.cxf.transport.http.HTTPConduit.getBeanName() zawiera kodowany na stałe przyrostek .http-conduit).

Mam także do czynienia z dziwnym zachowaniem, gdy przewód wieloznaczny zastępuje specyficzny dla portu port. Sprawdź numer this.