[
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.