Awesome. Thanks

On 16 May 2017 at 11:54, Luca Burgazzoli <[email protected]> wrote:

> Yeah, it will be available in camel 2.20.x out of the box like:
>
> EhcacheComponent component = new EhcacheComponent());
> component.setCacheManager(manager);
>
> Main main = new Main();
> main.bind("ehcache", component);
>
> I will back-port some of the changes I made today in 2.19.x so it will
> be available in the next camel 2.19 patch.
>
>
> ---
> Luca Burgazzoli
>
>
> On Tue, May 16, 2017 at 5:47 PM, Henri Tremblay
> <[email protected]> wrote:
> > Nothing. It's perfect ;-)
> >
> > In fact I wanted to inject the cache manager. It seemed highly supported
> by
> > all the code except from constructors and builders.
> >
> > CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder()
> >     .withCache("testCache",
> > CacheConfigurationBuilder.newCacheConfigurationBuilder(String.class,
> > String.class,
> >         ResourcePoolsBuilder.newResourcePoolsBuilder().heap(10,
> > EntryUnit.ENTRIES)))
> >     .build(true);
> >
> > Main main = new Main();
> > main.getOrCreateCamelContext().addComponent("ehcache", new
> EhcacheComponent() {
> >     @Override
> >     protected Endpoint createEndpoint(String uri, String remaining,
> > Map<String, Object> parameters) throws Exception {
> >         EhcacheConfiguration configuration = EhcacheConfiguration.create(
> >             getCamelContext(),
> >             remaining,
> >             parameters);
> >         configuration.setCacheManager(cacheManager);
> >         return new EhcacheEndpoint(uri, this, configuration);
> >     }
> > });
> >
> >
> > On 16 May 2017 at 10:55, Luca Burgazzoli <[email protected]> wrote:
> >
> >> In camel 2.19.x EhcacheConfiguration is an internal object used to
> >> holds the endpoint configurations but in 2.20.0 you can provide your
> >> own instance on component level so it will provides the defaults for
> >> every endpoint (i.e. you'll be able to set the default cache manager
> >> so you do not need to set it for each endpoint).
> >>
> >> Just asking, what do you want to achieve with "an overloaded version
> >> of the component or endpoint" ? Because if the component lacks any
> >> functionality we are more that happy to improve it :)
> >>
> >> ---
> >> Luca Burgazzoli
> >>
> >>
> >> On Tue, May 16, 2017 at 4:41 PM, Henri Tremblay
> >> <[email protected]> wrote:
> >> > Thanks. Looks much better now. I've posted my new answer to SO. And
> >> indeed,
> >> > the official documentation is not talking about a possible cache
> manager
> >> to
> >> > pass.
> >> >
> >> > I still have one question though. Is it normal that
> EhcacheConfiguration
> >> > can be instantiated? It seems normal to want to propose an overloaded
> >> > version of the component or endpoint. And it is currently impossible
> >> > (without overloading EhcacheConfiguration but I'm not sure it is
> >> allowed).
> >> >
> >> > On 16 May 2017 at 05:28, Luca Burgazzoli <[email protected]>
> wrote:
> >> >
> >> >> Yes it is possible using the cacheManager uri option.
> >> >> The docs on website may be out of sync, for the latest doc have a
> look
> >> >> at: https://github.com/apache/camel/blob/master/components/
> >> >> camel-ehcache/src/main/docs/ehcache-component.adoc
> >> >>
> >> >> I will add the missing info to the camel website doc.
> >> >>
> >> >> Also answered on StackOverflow.
> >> >>
> >> >> ---
> >> >> Luca Burgazzoli
> >> >>
> >> >>
> >> >> On Mon, May 15, 2017 at 8:11 PM, Henri Tremblay
> >> >> <[email protected]> wrote:
> >> >> > Hi,
> >> >> >
> >> >> > Following a stack overflow question (
> >> >> > http://stackoverflow.com/questions/43915633/how-to-
> >> >> access-apache-camel-eh-cache-outside-camel-context)
> >> >> > I realized that it is impossible cleanly.
> >> >> >
> >> >> > Am I right?
> >> >> >
> >> >> > Let's rephrase the problem here:
> >> >> >
> >> >> > Camel is using camel-ehcache but the same cache manager can be used
> >> >> > somewhere else. So I would like to do one of these:
> >> >> > 1- Give my own cache manager to camel
> >> >> > 2- Retrieve camel cache manager
> >> >> >
> >> >> > The problem is EhcacheConfiguration. All ways to create this class
> >> have
> >> >> the
> >> >> > default scope. It feels like a bug to me. Because, being able to
> >> create
> >> >> it,
> >> >> > I could call setCacheManager and be done with it.
> >> >> >
> >> >> > I also noticed that the EhcacheEndpoint can't pass the "managed"
> >> flag. It
> >> >> > seems useful in the case of a shared CacheManager to set it to
> false.
> >> >> >
> >> >> > So, am I missing something?
> >> >> >
> >> >> > Thanks,
> >> >> > Henri Tremblay
> >> >> > Ehcache developer
> >> >> > Java Champion
> >> >>
> >>
>

Reply via email to