cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Kulp <dk...@apache.org>
Subject Re: Endorse jaxws 2.2 API jar
Date Tue, 22 Jun 2010 14:26:10 GMT
On Tuesday 22 June 2010 9:39:43 am Jim Ma wrote:
> Hi Dan,
> Looks nice,especially the jaxws 2.2 Providerimpl. Can we also use this
> profile to publish jaxws2.2 jar with different artifact id into maven
> repository?

Shouldn't need a new artifactId or anything.  I just need to update hudson to 
add the -Pjaxws22 profile onto the maven command line.   I'll do that now.

I may try and see if I can get this to be the default when run from maven, but 
not when the setup eclipse stuff is done.   I'll need to play a bit more.

The other thing I'm thinking of trying is when using Java5, make the default 
be jaxb2.2 and jaxws 2.2 across the board since we don't need to endorse 
anything.   That will probably screw up the kits a bit.  Not really sure 
though.   Must play a bit with it.  :-)


Dan


> Jim
> 
> On Jun 22, 2010, at 2:20, Daniel Kulp <dkulp@apache.org> wrote:
> > Jim,
> > 
> > I just committed some changes that I think should work for us.   Can
> > you give
> > it a look?
> > 
> > Basically, in jaxws module, I've separated out the jaxws 2.2
> > specific stuff
> > into a separate source tree.   I've added a "jaxws22" profile that
> > will add
> > the 2.2 stuff into the build and setup the endorsed stuff (for
> > compile only
> > right now, would need to add surefire as well if/when we need it) as
> > well as
> > include a different META-INF/services/...  file that points at the 2.2
> > provider.
> > 
> > By default,  "mvn install" or whatever will be jaxws 2.1.    With -
> > Pjaxws22,
> > it will create the jar with the 2.2 stuff.    Since the jaxws22
> > profile isn't
> > normally active, if you -Psetup.eclipse or intellij or whatever, it
> > will be
> > setup as jaxws 2.1 and the 2.2 stuff won't be visible in eclipse.
> > Thus,
> > normal development won't break.
> > 
> > What's good is that the 2.2 Provider will detect if 2.2 api jar is not
> > available and will return the 2.1 Endpoint if not.   Thus, it should
> > work fine
> > with 2.1 (non-endorsed) type stuff as well.    You can easily test
> > this by
> > building jaxws with -Pjaxws22 and going to the system tests and run
> > them.
> > Since they don't bring in 2.2 at all, and they still run completely
> > fine, it's
> > looking pretty good.
> > 
> > Anyway, I would need to update the release profiles to add the
> > jaxws22 profile
> > stuff and I still need to update the distribution to somehow take it
> > into
> > account and create the new jaxws22-endorsed lib dir as well.   But I
> > wanted
> > you to look at this so far.
> > 
> > Dan
> > 
> > On Friday 18 June 2010 11:11:16 am jim ma wrote:
> >>> Possibly not.  It would end up as a classpath ordering issue more
> >>> than
> >>> anything else.   The 2.2 jar would just need to be in front of the
> >>> other
> >>> jar on the classpath or in the classloader.    For the
> >>> distribution, we
> >>> can easily setup the manifest jar to put the 2.2 jar first, but
> >>> not put
> >>> it in lib.   To use 2.2, it would just be a matter of copying the
> >>> jar
> >>> into lib and the manifest would automatically pick it up first.
> >> 
> >> This can only fix the use case which uses manifest jar to pick up
> >> all cxf
> >> jars. It does not work for the other projects which explicitly add
> >> specific cxf jars to
> >> integrate cxf as their web service server . Using the classpath
> >> ordering is not easy for
> >> other projects embeds cxf to switch jaxws2.2 implementation .
> >> 
> >> Cheers,
> >> Jim

-- 
Daniel Kulp
dkulp@apache.org
http://dankulp.com/blog

Mime
View raw message