Thank you Willem, I'm forever indebted to you for this. "If there is only one camelContext in the spring applicationContext , you don't need to specify the camelContextId attribute, otherwise you need to specify it."
Thanks, that is exactly the behavior I expected. And that's CamelProxyFactoryBean current behavior too. willem.jiang wrote: > > Hi Hendy, > > I just created a JIRA for this issue and committed a fix for it. > Now you can use proxy out side of the camelContext. > If there is only one camelContext in the spring applicationContext , you > don't need to specify the camelContextId attribute, otherwise you need > to specify it. > > Please check it out the latest Camel 2.2-SNAPSHOT to try on this fix. > > Willem > > Willem Jiang wrote: >> >> Hendy Irawan wrote: >>> I'd love to have ability to put camel:proxy outside and set camelContext >>> myself. >>> >>> For simple purposes, I can configure Spring to autowire camelContext. >>> >>> >> I just checked the code of CamelNamespaceHandler.java[1] if you just >> want to define the <camel:proxy> out side of camelContext, we need to >> implement mapping the camelContextId into the camelContext instance >> ourselves, as there could be more than one camelContext in the spring >> application context. >> >> If you are OK for adding camelContextId attribute in the <camel:proxy> >> element, I will head to implement this feature shortly. >> >> [1]https://svn.apache.org/repos/asf/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java >> >> >> >> >>> >>> willem.jiang wrote: >>>> Hi, >>>> Current <camel:proxy> is not support to be defined out side of the >>>> camelContext. as we set the implicit camelContext into the >>>> CamelProxyFactoryBean when parsing the proxy element. >>>> >>>> If you want to use it outside the camelContext , you need to specify >>>> the camelContext property yourself. To avoid the user forget to >>>> specify the camelContext, we just let the proxy parser visible inside >>>> of the camelContext. >>>> >>>> Willem >>>> >>>> Hendy Irawan wrote: >>>>> The following works: >>>>> >>>>> <camelContext xmlns="http://camel.apache.org/schema/spring"> >>>>> <packageScan> >>>>> <package>com.soluvas.samples.eventfx.camel</package> >>>>> </packageScan> >>>>> <camel:proxy id="sensorEventListener" >>>>> serviceUrl="seda:Sensor.SensorEvent" >>>>> >>>>> serviceInterface="com.soluvas.samples.eventfx.camel.Listener" /> >>>>> </camelContext> >>>>> >>>>> but this doesn't work: >>>>> >>>>> <bean class="com.soluvas.samples.eventfx.camel.Sensor"> >>>>> <property name="sensorListener"> >>>>> <camel:proxy serviceUrl="seda:Sensor.SensorEvent" >>>>> >>>>> serviceInterface="com.soluvas.samples.eventfx.camel.Listener" /> >>>>> </property> >>>>> </bean> >>>>> >>>>> and I have to do this: >>>>> >>>>> <bean class="com.soluvas.samples.eventfx.camel.Sensor"> >>>>> <property name="sensorListener"> >>>>> <bean >>>>> class="org.apache.camel.spring.remoting.CamelProxyFactoryBean"> >>>>> <property name="serviceUrl" >>>>> value="seda:Sensor.SensorEvent"/> >>>>> <property name="serviceInterface" >>>>> value="com.soluvas.samples.eventfx.camel.Listener"/> >>>>> </bean> >>>>> </property> >>>>> </bean> >>>>> >>>>> It's too bad, because `camel:proxy` is very useful and makes Spring >>>>> Remoting >>>>> - Camel concise and readable. >>>>> >>>>> Is it intentional or is there plans to make camel:proxy works >>>>> everywhere >>>>> (even nested inside 'property')? >>>> >>>> >>> >> >> > > > -- View this message in context: http://old.nabble.com/camel%3Aproxy-doesn%27t-work-outside-camelContext-tp26971191p27010492.html Sent from the Camel - Users mailing list archive at Nabble.com.
