You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by arjjun dhar <dh...@yahoo.com> on 2013/09/01 14:41:20 UTC

Impact of asm library on CXF : for jaxrs:client

We use Apache CXF in our project. (No Kidding :p)

I had an interesting Observation today while upgrading CGLIB from 2.2.2. to
3.0
The new CGLib depends on asm version 3.3.1. 
Our CXF Unit Test cases started failing. Since "jaxrs:client" depends on
proxying the "serviceClass" attribute. Though, until now it was "OK" to use
a concrete Class or an Interface. After the upgrade it became strict about
only accepting interfaces .. so had to write a Interface for it

With the following TEST definition for a client


com.neurosys.events.service.jaxrs.IEventsQueryService (Interface) was
earlier com.neurosys.events.service.jaxrs.EventsQueryService (Class).


... is it possible for the CXF designers to ensure that a serviceClass could
also be a concrete Class?
Its just crazy to have to define an interface when you should in theory be
able to get away using a Class. ... and it did also work.

Just curious, maybe this is out of CXF scope. But thought id mention it.

thanks








--
View this message in context: http://cxf.547215.n5.nabble.com/Impact-of-asm-library-on-CXF-for-jaxrs-client-tp5733384.html
Sent from the cxf-user mailing list archive at Nabble.com.

Re: Impact of asm library on CXF : for jaxrs:client

Posted by Sergey Beryozkin <sb...@gmail.com>.
On 01/09/13 13:41, arjjun dhar wrote:
> We use Apache CXF in our project. (No Kidding :p)
>
> I had an interesting Observation today while upgrading CGLIB from 2.2.2. to
> 3.0
> The new CGLib depends on asm version 3.3.1.
> Our CXF Unit Test cases started failing. Since "jaxrs:client" depends on
> proxying the "serviceClass" attribute. Though, until now it was "OK" to use
> a concrete Class or an Interface. After the upgrade it became strict about
> only accepting interfaces .. so had to write a Interface for it
>
> With the following TEST definition for a client
>
>
> com.neurosys.events.service.jaxrs.IEventsQueryService (Interface) was
> earlier com.neurosys.events.service.jaxrs.EventsQueryService (Class).
>
>
> ... is it possible for the CXF designers to ensure that a serviceClass could
> also be a concrete Class?
> Its just crazy to have to define an interface when you should in theory be
> able to get away using a Class. ... and it did also work.
>
> Just curious, maybe this is out of CXF scope. But thought id mention it.
>

After updating to cglib-nodep 3.0 I see:

java.lang.NoClassDefFoundError: net/sf/cglib/asm/util/TraceClassVisitor

which is apparently related to
http://sourceforge.net/p/cglib/patches/5/

After getting this exception CXF defaults to JDK proxy aware helper, but 
the actual issue is that CXF simply can not load CGLIB by depending on 
cglib-nodep 3.0.

Cheers, Sergey

> thanks
>
>
>
>
>
>
>
>
> --
> View this message in context: http://cxf.547215.n5.nabble.com/Impact-of-asm-library-on-CXF-for-jaxrs-client-tp5733384.html
> Sent from the cxf-user mailing list archive at Nabble.com.
>