First of all, the default jre export package version is 0, so if customer bundle import such package but not specify the version, then it always work, that's why I said we generally needn't specify the jre export package version.

And the main reason smx doesn't use the jaxb/jaxws api from jdk is that the SPI mechanism doesn't work in OSGi container, it can't load the proper implementation from bundles. So smx wrapped specs bundle(like JAXB/JAXWS) use OSGiLocator to make it working in OSGi container. So if you wanna cxf stuff work in KARAF, change the jre.properties only isn't enough, we need some features anyway, actually those features are already provided by both cxf and servicemix, I don't think we need reinvent the wheel in karaf.

Best Regards
Freeman



On 2011-8-30, at 下午7:48, Achim Nierbeck wrote:

Just to get this right,

for JAXB if someone needs a JAXB 2.2. he needs to provide it by
himself (or we can offer some nice features for it +1)
but for the included jre JAXB which causes all kinds of issues if you
even provide your own JAXB 2.2. I think it's a good solution
to set the version to 2.1.0. This way it's possible to provide another
JAXB version in the first place.
Or am I totally wrong here?

regards, Achim

2011/8/30 Freeman Fang <freeman.f...@gmail.com>:
I don't think hack jre.properties can support jaxb2.2 and create a default
feature which contain smx jaxb bundles should be the solution.

But I have little concern that this will make karaf more like smx and this actually is against our initial idea that keep karaf as a simple general
container.

Regards

Freeman

On 2011-8-30, at 下午7:32, Andreas Pieber wrote:

On Tue, Aug 30, 2011 at 13:17, Achim Nierbeck
<bcanh...@googlemail.com>wrote:

hmm, OK,

does it really prevent us from actually fixing the version of JAXB in
the jre property in conjunction with what Andreas just suggested?
I'd really favor changing the jre properties (I actually did that on a project fixing my issues with jaxb this way) and providing functional
features
out of the box for JAXB since this is still a highly used framework of
lots of developers. I really want this to work right away.
I myself spent already to much time haunting those nightmares ;)


I'm completely with Achim here (had the same nightmares). Still, if it is 2.2 we're looking for and jdk6 comes with 2.1 using a (default) feature or
a
default bundle might be the better solution?

Kind regards,
Andreas



regards, Achim

2011/8/30 Andreas Pieber <anpie...@gmail.com>:

Although it is a little bit otherwise defined in the JRE we may be able

to

provide features for those alternatives and completely remove them from

the

jre.properties? I think this would help users a lot at various
situations
and als remove some of the hacks from SMX :-)

Kind regards,
Andreas

On Tue, Aug 30, 2011 at 09:37, Freeman Fang <freeman.f...@gmail.com >

wrote:

Hi,

Not sure we should do it for JAXB(and also jaxws). As in most case the jaxb/jaxws api(as in JDK6 it use jaxws/jaxb 2.1 but in most case we
need

use

2.2, and also the SPI mechanism of jaxws doesn't work in OSGi
container)
from jdk isn't much useful and so in Servicemix we shipped jaxb
api/impl
bundle and comment it out from jdk, so if customer need use jaxb in

karaf,

he need do a bit hack anyway.

Best Regards
Freeman

On 2011-8-30, at 下午3:25, Achim Nierbeck wrote:

Hi,

I suggest we do this also for the jaxb bundles since those are a real

pain

:)

regards, Achim

2011/8/30 Freeman Fang <freeman.f...@gmail.com>:

Hi,

This commit[1] also do same for JDK1.7.
I'd say other JDK API are quite stable but javax.annotation is a

little

bit
different so several other bundles(such as activemq, you can get more details from [2]) which are popularly used in KARAF are explicitly
specify
javax.annotation import version as 1.1, and since JDK6, the
javax.annotation
is 1.1 compatible, so in this case, if we don't provide this change,
customer need hack the jre.properties themselves.
But for other jdk packages, 3rd party bundle usually just import but
without
specified version, so the default export from system bundle 0 should

be

fine
IMHO.
[1]http://svn.apache.org/**viewvc?rev=1162478&view=rev<

http://svn.apache.org/viewvc?rev=1162478&view=rev>

[2]https://issues.apache.org/**jira/browse/KARAF-835<

https://issues.apache.org/jira/browse/KARAF-835>

Best Regards
Freeman




On 2011-8-30, at 下午12:30, Andreas Pieber wrote:

I'm a little bit curious because none of the other exported packages

has

a
version; I'm basically not against adding versions here, but

shouldn't

we
do
the same for 1.5 and 1.7? Is there any way we can easily lookup
which
versions are used by which JRE?

Kind regards,
Andreas

On Sun, Aug 28, 2011 at 05:46, <ff...@apache.org> wrote:

Author: ffang

Date: Sun Aug 28 03:46:53 2011
New Revision: 1162476

URL: http://svn.apache.org/viewvc?**rev=1162476&view=rev<

http://svn.apache.org/viewvc?rev=1162476&view=rev>

Log:
[KARAF-840]specify javax.annotation packages version to 1.1.0 for
jre-1.6
as Annotation 1.1 Spec is used for Java 6

Modified:


karaf/branches/karaf-2.2.x/**assemblies/apache-karaf/src/**
main/filtered-resources/etc/**jre.properties

Modified:

karaf/branches/karaf-2.2.x/**assemblies/apache-karaf/src/**
main/filtered-resources/etc/**jre.properties
URL:

http://svn.apache.org/viewvc/**karaf/branches/karaf-2.2.x/**
assemblies/apache-karaf/src/**main/filtered-resources/etc/**
jre.properties?rev=1162476&r1=**1162475&r2=1162476&view=diff<


http://svn.apache.org/viewvc/karaf/branches/karaf-2.2.x/assemblies/apache-karaf/src/main/filtered-resources/etc/jre.properties?rev=1162476&r1=1162475&r2=1162476&view=diff



= = = ===========================**==============================**
==================
---

karaf/branches/karaf-2.2.x/**assemblies/apache-karaf/src/**
main/filtered-resources/etc/**jre.properties
(original)
+++

karaf/branches/karaf-2.2.x/**assemblies/apache-karaf/src/**
main/filtered-resources/etc/**jre.properties
Sun Aug 28 03:46:53 2011
@@ -153,8 +153,8 @@ jre-1.6= \
javax.accessibility, \
javax.activation, \
javax.activity, \
- javax.annotation, \
- javax.annotation.processing, \
+ javax.annotation;version="1.1"**, \
+ javax.annotation.processing;**version="1.1", \
javax.crypto, \
javax.crypto.interfaces, \
javax.crypto.spec, \




------------------------------**---------------
Freeman Fang

FuseSource
Email:ff...@fusesource.com
Web: fusesource.com
Twitter: freemanfang
Blog: http://freemanfang.blogspot.**com<

http://freemanfang.blogspot.com>













--
--
*Achim Nierbeck*


Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/**display/paxweb/Pax+Web/<

http://wiki.ops4j.org/display/paxweb/Pax+Web/>

Committer & Project Lead
blog <http://notizblog.nierbeck.de/**>


------------------------------**---------------
Freeman Fang

FuseSource
Email:ff...@fusesource.com
Web: fusesource.com
Twitter: freemanfang
Blog: http://freemanfang.blogspot.**com <

http://freemanfang.blogspot.com>














--
--
*Achim Nierbeck*


Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/>
Committer & Project Lead
blog <http://notizblog.nierbeck.de/>


---------------------------------------------
Freeman Fang

FuseSource
Email:ff...@fusesource.com
Web: fusesource.com
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com













--
--
*Achim Nierbeck*


Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/>
Committer & Project Lead
blog <http://notizblog.nierbeck.de/>

---------------------------------------------
Freeman Fang

FuseSource
Email:ff...@fusesource.com
Web: fusesource.com
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com









Reply via email to