You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Tadayoshi Sato (JIRA)" <ji...@apache.org> on 2017/03/08 12:39:38 UTC
[jira] [Assigned] (CAMEL-10964) CXF http-jetty transport reverse
proxy configuration will not work when using @BeanInject in RouteBuilder
bean
[ https://issues.apache.org/jira/browse/CAMEL-10964?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tadayoshi Sato reassigned CAMEL-10964:
--------------------------------------
Assignee: Tadayoshi Sato (was: Grzegorz Grzybek)
> CXF http-jetty transport reverse proxy configuration will not work when using @BeanInject in RouteBuilder bean
> --------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-10964
> URL: https://issues.apache.org/jira/browse/CAMEL-10964
> Project: Camel
> Issue Type: Bug
> Components: camel-blueprint, camel-cxf
> Affects Versions: 2.18.2
> Reporter: Tadayoshi Sato
> Assignee: Tadayoshi Sato
>
> Inside a {{RouteBuilder}} another bean is injected from registry using {{@BeanInject}}:
> {code:java}
> public class GreeterBuilder extends RouteBuilder {
> @BeanInject
> Configuration configuration;
> @Override
> public void configure() throws Exception {
> from("cxf:bean:routerEndpoint")
> ...
> }
> ...
> {code}
> CXF http-jetty transport is configured with reverse proxy inside blueprint context like this:
> {code}
> <blueprint ...>
> <httpj:engine-factory bus="cxf">
> <httpj:engine port="7771">
> <httpj:connector>
> <bean id="connector" class="org.eclipse.jetty.server.ServerConnector">
> <argument ref="server" />
> <argument>
> <array>
> <ref component-id="httpConnectionFactory" />
> </array>
> </argument>
> <property name="port" value="7771" />
> </bean>
> </httpj:connector>
> </httpj:engine>
> </httpj:engine-factory>
> <bean id="server" class="org.eclipse.jetty.server.Server" />
> <bean id="httpConfiguration" class="org.eclipse.jetty.server.HttpConfiguration">
> <property name="customizers">
> <list>
> <bean class="org.eclipse.jetty.server.ForwardedRequestCustomizer" />
> </list>
> </property>
> </bean>
> <bean id="httpConnectionFactory" class="org.eclipse.jetty.server.HttpConnectionFactory">
> <argument ref="httpConfiguration" />
> </bean>
> ...
> {code}
> However, the reverse proxy won't work as long as {{@BeanInject}} is present in the {{RouteBuilder}} bean.
> The root cause is that the {{camel-blueprint}}'s {{CamelInjector}} triggers earlier startup of the blueprint Camel context before the route is fully up, so the http-jetty transport configuration is not correctly connected to the CXF endpoint.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)