You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomee.apache.org by "pablo.a.saavedra@gmail.com" <pa...@gmail.com> on 2014/06/26 14:34:51 UTC

CXF Bus per endpoint

Hi All,

I am facing a classloader leak on application redeployment on tomee
(1.6.0.2). I tracked down the reason to the reflection metadata stored in
CXF's ExtensionManagerBus, which is not removed on redeployment and
prevents the classloader from being garbage collected.

The problem seems to be a custom JAX-RS provider (JacksonJaxbJsonProvider)
which is registered using the getSingletons() method of my application
subclass. I have asked in the CXF mailing list, and the best way to avoid
that would be to use one Bus per endpoint, and recycle the bus when the
application is undeployed.

Any way we can configure Tomee so that it uses a bus per endpoint? Any help
would be greatly appreciated.

Thanks in advance.

Re: CXF Bus per endpoint

Posted by Romain Manni-Bucau <rm...@gmail.com>.
just upgrading jar in tomee/lib.

BTW would be great to get the detail of the issue.



Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau


2014-06-27 19:38 GMT+02:00 pablo.a.saavedra@gmail.com <
pablo.a.saavedra@gmail.com>:

> Hi,
>
> I have discussed this further in the cxf mailing list, and they are gonna
> try and fix the leak on their side. What's the process to get a tomee
> version with an updated cxf version (2.6.15 in this case)
>
> Thanks
>
>
> On 26 June 2014 09:43, pablo.a.saavedra@gmail.com <
> pablo.a.saavedra@gmail.com> wrote:
>
> > Hi,
> >
> > thanks for the prompt response. I'll forward you Sergey's email, I cannot
> > find the message in the mailing list archives.
> >
> > Thanks
> >
> >
> > On 26 June 2014 09:39, Romain Manni-Bucau <rm...@gmail.com> wrote:
> >
> >> Hi
> >>
> >> That's not possible today. Do you have a link to the cxf list? seems
> >> highly
> >> wrong to not cleanup everything on undeployment. Remember we undeployed
> >> not
> >> that well in 1.6 but not sure it is linked or not
> >>
> >>
> >>
> >> Romain Manni-Bucau
> >> Twitter: @rmannibucau
> >> Blog: http://rmannibucau.wordpress.com/
> >> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> >> Github: https://github.com/rmannibucau
> >>
> >>
> >> 2014-06-26 14:34 GMT+02:00 pablo.a.saavedra@gmail.com <
> >> pablo.a.saavedra@gmail.com>:
> >>
> >> > Hi All,
> >> >
> >> > I am facing a classloader leak on application redeployment on tomee
> >> > (1.6.0.2). I tracked down the reason to the reflection metadata stored
> >> in
> >> > CXF's ExtensionManagerBus, which is not removed on redeployment and
> >> > prevents the classloader from being garbage collected.
> >> >
> >> > The problem seems to be a custom JAX-RS provider
> >> (JacksonJaxbJsonProvider)
> >> > which is registered using the getSingletons() method of my application
> >> > subclass. I have asked in the CXF mailing list, and the best way to
> >> avoid
> >> > that would be to use one Bus per endpoint, and recycle the bus when
> the
> >> > application is undeployed.
> >> >
> >> > Any way we can configure Tomee so that it uses a bus per endpoint? Any
> >> help
> >> > would be greatly appreciated.
> >> >
> >> > Thanks in advance.
> >> >
> >>
> >
> >
>

Re: CXF Bus per endpoint

Posted by "pablo.a.saavedra@gmail.com" <pa...@gmail.com>.
Hi,

I have discussed this further in the cxf mailing list, and they are gonna
try and fix the leak on their side. What's the process to get a tomee
version with an updated cxf version (2.6.15 in this case)

Thanks


On 26 June 2014 09:43, pablo.a.saavedra@gmail.com <
pablo.a.saavedra@gmail.com> wrote:

> Hi,
>
> thanks for the prompt response. I'll forward you Sergey's email, I cannot
> find the message in the mailing list archives.
>
> Thanks
>
>
> On 26 June 2014 09:39, Romain Manni-Bucau <rm...@gmail.com> wrote:
>
>> Hi
>>
>> That's not possible today. Do you have a link to the cxf list? seems
>> highly
>> wrong to not cleanup everything on undeployment. Remember we undeployed
>> not
>> that well in 1.6 but not sure it is linked or not
>>
>>
>>
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>> 2014-06-26 14:34 GMT+02:00 pablo.a.saavedra@gmail.com <
>> pablo.a.saavedra@gmail.com>:
>>
>> > Hi All,
>> >
>> > I am facing a classloader leak on application redeployment on tomee
>> > (1.6.0.2). I tracked down the reason to the reflection metadata stored
>> in
>> > CXF's ExtensionManagerBus, which is not removed on redeployment and
>> > prevents the classloader from being garbage collected.
>> >
>> > The problem seems to be a custom JAX-RS provider
>> (JacksonJaxbJsonProvider)
>> > which is registered using the getSingletons() method of my application
>> > subclass. I have asked in the CXF mailing list, and the best way to
>> avoid
>> > that would be to use one Bus per endpoint, and recycle the bus when the
>> > application is undeployed.
>> >
>> > Any way we can configure Tomee so that it uses a bus per endpoint? Any
>> help
>> > would be greatly appreciated.
>> >
>> > Thanks in advance.
>> >
>>
>
>

Re: CXF Bus per endpoint

Posted by "pablo.a.saavedra@gmail.com" <pa...@gmail.com>.
Hi,

thanks for the prompt response. I'll forward you Sergey's email, I cannot
find the message in the mailing list archives.

Thanks


On 26 June 2014 09:39, Romain Manni-Bucau <rm...@gmail.com> wrote:

> Hi
>
> That's not possible today. Do you have a link to the cxf list? seems highly
> wrong to not cleanup everything on undeployment. Remember we undeployed not
> that well in 1.6 but not sure it is linked or not
>
>
>
> Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
> 2014-06-26 14:34 GMT+02:00 pablo.a.saavedra@gmail.com <
> pablo.a.saavedra@gmail.com>:
>
> > Hi All,
> >
> > I am facing a classloader leak on application redeployment on tomee
> > (1.6.0.2). I tracked down the reason to the reflection metadata stored in
> > CXF's ExtensionManagerBus, which is not removed on redeployment and
> > prevents the classloader from being garbage collected.
> >
> > The problem seems to be a custom JAX-RS provider
> (JacksonJaxbJsonProvider)
> > which is registered using the getSingletons() method of my application
> > subclass. I have asked in the CXF mailing list, and the best way to avoid
> > that would be to use one Bus per endpoint, and recycle the bus when the
> > application is undeployed.
> >
> > Any way we can configure Tomee so that it uses a bus per endpoint? Any
> help
> > would be greatly appreciated.
> >
> > Thanks in advance.
> >
>

Re: CXF Bus per endpoint

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Hi

That's not possible today. Do you have a link to the cxf list? seems highly
wrong to not cleanup everything on undeployment. Remember we undeployed not
that well in 1.6 but not sure it is linked or not



Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau


2014-06-26 14:34 GMT+02:00 pablo.a.saavedra@gmail.com <
pablo.a.saavedra@gmail.com>:

> Hi All,
>
> I am facing a classloader leak on application redeployment on tomee
> (1.6.0.2). I tracked down the reason to the reflection metadata stored in
> CXF's ExtensionManagerBus, which is not removed on redeployment and
> prevents the classloader from being garbage collected.
>
> The problem seems to be a custom JAX-RS provider (JacksonJaxbJsonProvider)
> which is registered using the getSingletons() method of my application
> subclass. I have asked in the CXF mailing list, and the best way to avoid
> that would be to use one Bus per endpoint, and recycle the bus when the
> application is undeployed.
>
> Any way we can configure Tomee so that it uses a bus per endpoint? Any help
> would be greatly appreciated.
>
> Thanks in advance.
>