[ 
https://issues.apache.org/activemq/browse/CAMEL-1997?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen reassigned CAMEL-1997:
----------------------------------

    Assignee: Claus Ibsen

> PackageScanDefinition missing public setter methods making it difficult to 
> configure CamelContext via CamelContextFactoryBean using regular Spring 
> definition
> -------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-1997
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-1997
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.0.0
>         Environment: N/A
>            Reporter: Alan Feng
>            Assignee: Claus Ibsen
>            Priority: Minor
>
> In order to use spring features like "depends-on" and 
> PropertyPlaceholderConfigure, it is desirable to configure the CamelContext 
> using the standard Spring boolean definition (bean and property tags, etc), 
> instead of the shortcut xbean style definition (<camelContext> tag).
> However, the org.apache.camel.spring.CamelContextFactoryBean, which is 
> typically used to configure the CamelContext bean, uses the 
> org.apache.camel.model.PackageScanDefinition class to hold the package 
> scanning information. This class does not have any public setter for its 
> private properties and can only be configured via xbean. This makes it very 
> hard to configure the CamelContext bean using the standard Spring bean 
> definition. Please add the public setters to this class so it can be used by 
> Spring directly.
> At present, a workaround is to implement a subclass of the 
> org.apache.camel.model.PackageScanDefinition to add the missing setters. A 
> sample Spring definition would look like this:
>     <bean id="camel" class="org.apache.camel.spring.CamelContextFactoryBean" 
> depends-on="my-other-bean">
>         <property name="trace" value="false"/>
>         <property name="packageScan">
>             <bean class="com.mypackage.CamelPackageScanDefinition">
>                 <property 
> name="packageList"><value>${route.packageScan}</value></property>
>             </bean>
>         </property>
>         </bean>
>     <bean id="template" 
> class="org.apache.camel.spring.CamelProducerTemplateFactoryBean">
>         <property name="camelContext" ref="camel"/>
>     </bean>
> In the above sample, the CamelPackageScanDefinition is the custom subclass.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to