[
https://issues.apache.org/activemq/browse/CAMEL-1900?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ashwin Karpe updated CAMEL-1900:
--------------------------------
Description:
Please see the synopsis of my problem below...
=================================================================================
I recently submitted an camel-cache component based on Ehcache to the Apache
Camel community (CAMEL-1868). The component has an event based Cache consumer
and a Cache Producer to write to the cache.
I was planning on adding several processors that would do selective cache
contents based replacement at the payload/token/XPath level. I have the code
written and working however, I was planning on adding a nice model definition
to bring it all together via DSL. This is where I ran into a serious problem.
The problem is the following
a> The processors are in the cache component and I extended the base
interface processor and I can do the following in unit tests and it works.
from("cache://TestCache1").
filter(header("CACHE_KEY").isEqualTo("quote")).
process (new
CacheBasedTokenReplacer("cache://TestCache1","cache_key","##tag##")).
to("direct:next");
b> I put together a CamelCacheDefinition class (see attached)
in the camel-cache component (not camel-core)
that uses package org.apache.camel.model.cache
and extends ProcessorDefinition<CacheProcessorDefinition> from
package org.apache.camel.model
c> I would like the following effect
from("cache://TestCache1").
filter(header("CACHE_KEY").isEqualTo("quote")).
applycachevalue("cache://TestCache1","cache_key","##tag##").
to("direct:next");
The problem is that when I develop the unit test and try to do intellisense, I
do not see applycachevalue() against ProcessorDefinition (this part I
understand, since it is not seeing the CacheDefinition entry) since this
capabilty comes from the processorDefinition in came-core. What I am trying to
see is
a> How can I do this without having to modify the ProcessorDefinition
in camel-core and keep my CacheDefinition in the camel-cache component.
b> I do not wish to add the ehCache dependency in the camel-core and
bloat the core. Also, the Producer and Consumer ehCache components are all
related to the processors and I would like to avoid fragmentation of the
processors from the components.
b> If not and I do have to move the CacheDefinition into the
camel-core, can I still keep the processors in camel-cache component and
intellisense without side-effects ( I suspect I can through the groups setup in
camel-core but I need to verify)
======================================================================================
was:
Please see the synopsis of my problem below...
- Ashwin
============================================================================================
I recently submitted an camel-cache component based on Ehcache to the Apache
Camel community (CAMEL-1868). The component has an event based Cache consumer
and a Cache Producer to write to the cache.
I was planning on adding several processors that would do selective cache
contents based replacement at the payload/token/XPath level. I have the code
written and working however, I was planning on adding a nice model definition
to bring it all together via DSL. This is where I ran into a serious problem.
The problem is the following
a> The processors are in the cache component and I extended the base
interface processor and I can do the following in unit tests and it works.
from("cache://TestCache1").
filter(header("CACHE_KEY").isEqualTo("quote")).
process (new
CacheBasedTokenReplacer("cache://TestCache1","cache_key","##tag##")).
to("direct:next");
b> I put together a CamelCacheDefinition class (see attached)
- in the camel-cache component (not camel-core)
- that uses package org.apache.camel.model.cache
- and extends
ProcessorDefinition<CacheProcessorDefinition> from package
org.apache.camel.model
c> I would like the following effect
from("cache://TestCache1").
filter(header("CACHE_KEY").isEqualTo("quote")).
applycachevalue("cache://TestCache1","cache_key","##tag##").
to("direct:next");
The problem is that when I develop the unit test and try to do intellisense, I
do not see applycachevalue() against ProcessorDefinition (this part I
understand, since it is not seeing the CacheDefinition entry) since this
capabilty comes from the processorDefinition in came-core. What I am trying to
see is
a> How can I do this without having to modify the ProcessorDefinition
in camel-core and keep my CacheDefinition in the camel-cache component.
b> I do not wish to add the ehCache dependency in the camel-core and
bloat the core. Also, the Producer and Consumer ehCache components are all
related to the processors and I would like to avoid fragmentation of the
processors from the components.
b> If not and I do have to move the CacheDefinition into the
camel-core, can I still keep the processors in camel-cache component and
intellisense without side-effects ( I suspect I can through the groups setup in
camel-core but I need to verify)
======================================================================================
> Need to allow adding of model definitions and processors in camel components
> without involving the camel-core
> -------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-1900
> URL: https://issues.apache.org/activemq/browse/CAMEL-1900
> Project: Apache Camel
> Issue Type: Improvement
> Components: camel-core
> Affects Versions: 2.0-M3
> Reporter: Ashwin Karpe
>
> Please see the synopsis of my problem below...
> =================================================================================
> I recently submitted an camel-cache component based on Ehcache to the Apache
> Camel community (CAMEL-1868). The component has an event based Cache consumer
> and a Cache Producer to write to the cache.
>
> I was planning on adding several processors that would do selective cache
> contents based replacement at the payload/token/XPath level. I have the code
> written and working however, I was planning on adding a nice model definition
> to bring it all together via DSL. This is where I ran into a serious problem.
> The problem is the following
>
> a> The processors are in the cache component and I extended the base
> interface processor and I can do the following in unit tests and it works.
> from("cache://TestCache1").
> filter(header("CACHE_KEY").isEqualTo("quote")).
> process (new
> CacheBasedTokenReplacer("cache://TestCache1","cache_key","##tag##")).
> to("direct:next");
> b> I put together a CamelCacheDefinition class (see attached)
> in the camel-cache component (not camel-core)
> that uses package org.apache.camel.model.cache
> and extends ProcessorDefinition<CacheProcessorDefinition> from
> package org.apache.camel.model
> c> I would like the following effect
> from("cache://TestCache1").
> filter(header("CACHE_KEY").isEqualTo("quote")).
>
> applycachevalue("cache://TestCache1","cache_key","##tag##").
> to("direct:next");
>
> The problem is that when I develop the unit test and try to do intellisense,
> I do not see applycachevalue() against ProcessorDefinition (this part I
> understand, since it is not seeing the CacheDefinition entry) since this
> capabilty comes from the processorDefinition in came-core. What I am trying
> to see is
> a> How can I do this without having to modify the
> ProcessorDefinition in camel-core and keep my CacheDefinition in the
> camel-cache component.
> b> I do not wish to add the ehCache dependency in the camel-core
> and bloat the core. Also, the Producer and Consumer ehCache components are
> all related to the processors and I would like to avoid fragmentation of the
> processors from the components.
> b> If not and I do have to move the CacheDefinition into the
> camel-core, can I still keep the processors in camel-cache component and
> intellisense without side-effects ( I suspect I can through the groups setup
> in camel-core but I need to verify)
>
> ======================================================================================
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.