Re: Registry binding, unbinding, and re-binding seems odd

2023-12-03 Thread Steve973
Thanks, Claus.  The BeanScope.Request option seems to have fixed that
part.  Thanks!

On Sun, Dec 3, 2023 at 3:30 AM Claus Ibsen  wrote:

> Hi
>
> A route or processor will often lookup the bean once and use that same
> instance all the time.
>
> The bind/unbind is not intended for dynamic.
>
> However the bean component has a cache option you can set to lookup always.
> A processor does not.
>
>
> On Sun, Dec 3, 2023 at 12:52 AM Steve973  wrote:
>
> > Hello.  I am binding a processor in the registry, which works fine.  At
> > some point, I unbind it, and then bind a different processor with the
> same
> > bean name.  I am even printing out the class name after I bind, in order
> to
> > verify it.
> >
> > The first print shows the original/temporary processor.
> >
> > After unbinding, it does not find the bean, so it is null.
> >
> > When I re-bind under the same name, it shows the proper class.
> >
> > So, that all seems like I would expect.  However, when I send an exchange
> > to a route to use this processor, which references the bean by name, it
> is
> > still using the original/temporary processor that I used "unbind" on!.  I
> > confirmed this because that temporary processor prints out a LOG message
> at
> > the error level.
> >
> > What could the problem be?
> >
> > Thanks,
> > Steve
> >
>
>
> --
> Claus Ibsen
> -
> @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2
>


Re: Registry binding, unbinding, and re-binding seems odd

2023-12-03 Thread Claus Ibsen
Hi

A route or processor will often lookup the bean once and use that same
instance all the time.

The bind/unbind is not intended for dynamic.

However the bean component has a cache option you can set to lookup always.
A processor does not.


On Sun, Dec 3, 2023 at 12:52 AM Steve973  wrote:

> Hello.  I am binding a processor in the registry, which works fine.  At
> some point, I unbind it, and then bind a different processor with the same
> bean name.  I am even printing out the class name after I bind, in order to
> verify it.
>
> The first print shows the original/temporary processor.
>
> After unbinding, it does not find the bean, so it is null.
>
> When I re-bind under the same name, it shows the proper class.
>
> So, that all seems like I would expect.  However, when I send an exchange
> to a route to use this processor, which references the bean by name, it is
> still using the original/temporary processor that I used "unbind" on!.  I
> confirmed this because that temporary processor prints out a LOG message at
> the error level.
>
> What could the problem be?
>
> Thanks,
> Steve
>


-- 
Claus Ibsen
-
@davsclaus
Camel in Action 2: https://www.manning.com/ibsen2