On 2011-12-17, at 下午10:11, Ge@@ru wrote:
Hi, thanks for reply.
Yes, there are two different issue but with same target: permit deploy
of cxf bundle on production environment where:
- there is an offline environment (this relative to issue SMX-1003);
- bundle doesn't start correctly when servicemix go up (for spring +
cxf). In a production environment it isn't possible that after smx is
startup it is needed create an application for monitoring cxf bundle
and
call osgi:update if status isn't on 'Started'. But it isn't only a
visualization problem, bundle doesn't start and so jaxrs:server /
jaxws:server doesn't go up. Only after a call to osgi:update server go
up and ready to defined port.
No, I don't think so.
As I mentioned in my previous answer, for "Srping" status, it's just
missing the "status" but the bundle actually started(also the spring
context started succesfully) and more importantly, it function well.
I can verify it through the testcase you appended with SMX4-1003[1],
could you just try the SMX4.4 release candidate kit apache-servicemix-
full-4.4.0.tar.gz?
Moreover, If I read correctly, ARIES-626 is about in blueprint
configuration, xsd:include or xsd:import can't use local xsd, but it's
totally another issue, and through your testcase appended with
SMX4-1003[1], your testcase has nothing to do with ARIES-626.
Let's go through your testcase a little bit here.
You have three bundles, they are test-blueprint-osgi-lib, test-spring-
osgi-server and test-blueprint-osgi-cxf, the test-spring-osgi-server
use spring-dm configuration and export a serviceImpl,
the test-blueprint-osgi-cxf bundle use blueprint configuration and
import this serviceImpl and publish a jaxws webservice on port 10000.
Your blueprint configuration bundle has no xsd:include or xsd:import,
and it indeed started correctly when in offline mode, the bundle
status after restart in offline mode is
[ 156] [Active ] [ ] [ ] [ 60] test-blueprint-
osgi-lib (0.1.0.SNAPSHOT)
[ 157] [Active ] [ ] [ ] [ 60] Test Spring Osgi
Service (0.1.0.SNAPSHOT)
[ 158] [Active ] [Created ] [ ] [ 60] Test Blueprint
Client inside Route (0.1.0.SNAPSHOT)
You may want to say bundle 157 miss "Spring" status "Started", but as
I mentioned in my previous answer already, the bundle actually started
correctly but just missing the Spring status flag, this issue is
tracked by KARAF-1114[2]. And the port 10000 get started after
restart SMX in offline mode.
In summary, it MIGHT be an issue if your bundle use blueprint
configuration and has xsd:include or xsd:import and in offline mode.
However, spring-dm has no this problem.
And the ARIES-626 should be a general namespace handler schema issue
and all your blueprint configuration bundle might encounter it if you
use xsd:include or xsd:import and in offline mode, the workaround I
can suggest is use inline schema instead.
And as you already pointed out, this issue is out of Servicemix scope
and we can't pick it up until Karaf 3.x, so we can't wait that long
to release SMX4.4.
Hope this helps
[1]https://issues.apache.org/jira/browse/SMX4-1003
[2]https://issues.apache.org/jira/browse/KARAF-1114
Freeman
A new user that use servicemix how can create his bundle with cxf if
then it isn't possible use it on production environment.
With blueprint i see that with jaxrs (and without interceptor)
blueprint
resolver try to download xsd and when timeout expire bundle go up
correctly. (So, in this case there is a problem but bundle after 3/4
min
go up). But for jaxws with interceptors (i haven't try without
interceptors) go to Failure status when timeout expire ans so it is
not
usable.
For blueprint (after a chat to cxf channel) problem is been resolved
on
blueprint-0.4.0-SNAPSHOT but it isn't possible use it on smx-4.4.0
because require karaf-3.x (and others major dependencies changes).
So, I try to found a solution and I try spring + cxf that then doesn't
start correctly. Are there alternative without use of jbi ?
With aries blueprint it isn't possible resolve this for smx-4.4.0 but
for spring+cxf ? Can we found a solution or a workaround that permit
at
users to use smx-4.4.0 on production environment? I try to add
META-INF.cxf on Import-Package but without success.
On blueprint a possible (but very very bad workaround) is configure
smx
with a reverse http proxy and send request about this .xsd file to a
server that return this files on offline environment.
This problem isn't relative to servicemix but to a library/framework
used by servicemix but however, it isn't a well publicize. So, again
my
question, is it right release a version with this big problem? Maybe,
there are alternative that I dont' know and so sorry for this discuss.
Geaaru
On Sat, 2011-12-17 at 19:53 +0800, Freeman Fang wrote
Ok, figured out it's an karaf issue[1] and fixed it.
Again, IMO it's not a show stopper as the bundle function well
actually, so we can pick up this release after SMX4.4.
[1]https://issues.apache.org/jira/browse/KARAF-1114
Freeman
On 2011-12-17, at 上午10:11, Freeman Fang wrote:
Hi,
I don't think the problem you encountered here is same as it in
ARIES-626.
I did a quick test with the test case you appended with SMX4-1003 on
the SMX 4.4 releasse candidate kit apache-servicemix-
full-4.4.0.tar.gz, I can see "Test Spring Osgi Service" bundle
spring status isn't "Started" after I restart SMX BOTH with and
without internet connection.
So the status is
[ 158] [Active ] [ ] [ ] [ 60] Test Spring
Osgi Service (0.1.0.SNAPSHOT)
the expected one should be
[ 158] [Active ] [ ] [Started] [ 60] Test Spring
Osgi Service (0.1.0.SNAPSHOT)
However, this has nothing to do with offline mode, this is just that
the restart SMX can't show correct spring bundle status, even though
the spring bundle is actually in good shape.
I can see this on other bundles also(both online and offline), like
cxf-jaxrs example, which is pure spring configuration and has
nothing to do with blueprint.
As you describe it try to download spring xsd files, but I'm quiet
sure cxf-bundle.jar embedded all necessary xsd files so generally it
won't try to download the remote one.
If it need download something with offline mode, then osgi:update
the bundle won't make it correct.
The ARIES-626 is about in blueprint configuration, xsd:include or
xsd:import can't use local xsd, but it's totally another issue.
In summary, the problem you encounter is that restart smx4 can't
show spring bundle status correctly, though the spring bundle
actually in good shape and all function are good,would you please
create an issue to track it, so that we can fix it after 4.4
release(it's not a show stopper IMO as the bundle function well
actually) and I'm not sure so far where we need fix it(probably in
Karaf, not sure).
Freeman
On 2011-12-17, at 上午3:29, Ge@@ru wrote:
I don't know if we have ready for smx-4.4.0 :'(
I'm trying to use cxf on offline environment but I haven't found
yet a
solution.
* With blueprint + cxf it isn't possible deploy cxf bundle for
problem
describe on SMX-1003 (https://issues.apache.org/jira/browse/
ARIES-626)
* With spring there is a problem like for blueprint. Spring try to
download jaxrs.xsd and then doesn't start correctly (after a smx
restart)
smx@root> features:install examples-cxf-jaxrs
smx@root> shutdown
... restart of smx
(here sniffing of http request from smx)
127.0.0.1 - - [16/Dec/2011:20:17:36 +0100] "GET
http://cxf.apache.org/schemas/jaxrs.xsd HTTP/1.1" 200 9161
..
(here bundle is Active but not Started (only an osgi:update or a
redeploy set status to Started))
On production environment normally smx will be on offline
environment,
so, is it right release a smx-4.4.0 where isn't possible deploy/
restart
smx with cxf bundles?
Is there a way to avoid spring xml validation and permit start of
cxf
bundle correctly?
Thanks
Ge@@ru
---------------------------------------------
Freeman Fang
FuseSource
Email:[email protected]
Web: fusesource.com
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com
---------------------------------------------
Freeman Fang
FuseSource
Email:[email protected]
Web: fusesource.com
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com
---------------------------------------------
Freeman Fang
FuseSource
Email:[email protected]
Web: fusesource.com
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com