You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2009/09/09 13:30:14 UTC

[jira] Resolved: (CAMEL-1997) PackageScanDefinition missing public setter methods making it difficult to configure CamelContext via CamelContextFactoryBean using regular Spring definition

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

Claus Ibsen resolved CAMEL-1997.
--------------------------------

       Resolution: Fixed
    Fix Version/s: 2.1.0

trunk: 812889.

> 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
>             Fix For: 2.1.0
>
>
> 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.