felix-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Guillaume Nodet <gno...@gmail.com>
Subject Re: A question about felix karaf and Spring DM
Date Wed, 07 Apr 2010 10:11:33 GMT
On Wed, Apr 7, 2010 at 07:19, Tribon Cheng <tribon1980@gmail.com> wrote:

> Hi ,Guillaume, My target is to use only one BP implementation in karaf, and
> unfortunately i choose the springdm which
>
> is not used by karaf now, I need BP implementation to be exclusive in one
> container because i don't want one serivce to
>
> be registered twice.
>

Note that if both blueprint implementations do export the api and if all the
blueprint bundles
do import the api package as suggested by the spec, running two blueprint
implementations
should be fine (without the bundles being extended twice),


>
> Looking inside the karaf related module, i found there were several places
> where karaf denpended on gerinimo BPIMP tightly:
>
> 1) As you said there are two NamespaceHandlers which implement gerinimo's
> NamespaceHandler
>
> 2) The ext
> namespace(org.apache.geronimo.blueprint.ext.ExtNamespaceHandler) such as
> "property-placeholder" which is used by karaf-shell-console and
> karaf-admin,
> maybe by more other models.
>
>
> Maybe i can provide NamespaceHander based on springdm for above gerinimo
> specific namespace handlers , but it's not a
>
> nice way. I don't catch your mind to provide a neutral way. neutral proxy
> NamespaceHandler implementation or neutral namespace
>
> declaration instead of existed ones?
>
>
What I think is about having the same xml schema being supported by two
custom namespace
handlers: one for geronimo / aries blueprint, one for spring-dm.  We
obviously have the implementations
for geronimo / aries and we can dig those for spring-dm from an earlier
version:
   http://svn.apache.org/repos/asf/servicemix/smx4/kernel/tags/kernel-1.1.0

This way, we could switch easily between implementations based on user need,
same as
we do between equinox and felix.

That would work for our custom namespaces (the two ones)  we define in
karaf.

For the ext and cm namespaces, what I would propose is to create a new
namespace in karaf
with would be implemented for geronimo/blueprint and spring-dm, the same way
we do for the
jaas and shell namespaces.  So we'd have two additional namespaces specific
to karaf.

On Wed, Apr 7, 2010 at 1:50 PM, Tribon Cheng <tribon1980@gmail.com> wrote:
>
> > It's my pleasure that i can provide this patch.
> >
> > Would you mind giving me some related resources(like web links) to get
> > advanced touch to custom namespaces?
> >
> > I know that there are two custom NamespaceHandler in karaf which depend
> on
> > geronimo implementation as following:
> >
> > "public class NamespaceHandler implements
> > org.apache.geronimo.blueprint.NamespaceHandler"
> >
> > Do you mean that i provide a neutral implementation of custom
> > NamespaceHandler which depends neither
> >
> > georinimo or springDM? It is seems to need a serial of neutral class like
> > MetaBean?
> >
> > Another problem is how to register the new custom NamespaceHanler? Now it
> > is registered in blueprint configuration xml file
> >
> > which is recognized by geronimo BP implementation.
> >
> > Give me some help! thanks!
> >
> >   On Tue, Apr 6, 2010 at 10:26 PM, Guillaume Nodet <gnodet@gmail.com
> >wrote:
> >
> >> So I've had a closer look at what would be required.
> >> The problem right now is that karaf defines two custom namespaces but
> >> custom
> >> namespaces aren't standardized by the blueprint spec yet (it's being
> >> worked
> >> on though).
> >> In the meantime, we could support both spring-dm and aries blueprint
> >> implementation (former geronimo blueprint implementation) by providing
> two
> >> implementations of the same namespace.
> >> I think there would be one remaining thing to do which is to provide a
> >> neutral way to access the ConfigAdmin and properties placeholders, which
> >> basically mean rewriting those namespaces (it should mostly be some
> >> repackaging thingy as both aries and spring-dm support almost the same
> >> features).  This way, we could switch easily between spring-dm and
> aries.
> >> If you're willing to go that way and provide some patches, i'd be happy
> to
> >> help.
> >>
> >> On Tue, Apr 6, 2010 at 15:03, Tribon Cheng <tribon1980@gmail.com>
> wrote:
> >>
> >> > thank you for your answer, Guillaume.
> >> > Do you mean that i modify the blueprint configuration xml file
> contained
> >> in
> >> > karaf-jaas.jar and karaf-shell.jar,
> >> > and use spring-dm specific features instead?
> >> > In this way I can remove the geronimo blueprint bundle from karaf,
> it's
> >> > right?
> >> > thanks a lot!
> >> >
> >> >
> >> > On Tue, Apr 6, 2010 at 5:28 PM, Guillaume Nodet <gnodet@gmail.com>
> >> wrote:
> >> >
> >> > > Karaf works well with Spring-DM 1.2.x afaik.
> >> > > If you really need to use 2.0.x, i suppose it should be possible by
> >> > > modifying the blueprint xml to use spring-dm specific features
> instead
> >> of
> >> > > the geronimo ones.
> >> > > Though, it should be possible to have two blueprint extenders under
> >> > certain
> >> > > conditions, so we should try to support that if possible.
> >> > >
> >> > > On Tue, Apr 6, 2010 at 11:06, Tribon Cheng <tribon1980@gmail.com>
> >> wrote:
> >> > >
> >> > > > I just want to find a OSGI runtime framework which can provide
> well
> >> > > > management, hot deploy, log config and so on.
> >> > > >
> >> > > > So karaf is a good candidate. But for the blueprint implement,
I'd
> >> > perfer
> >> > > > to
> >> > > > choose SpringDM to obtain more features of Spring.
> >> > > >
> >> > > > The problem is that karaf contains the geronimal blueprint
> >> > implementation
> >> > > > and Karaf-Shell,Karaf-JAAS have strong* dependencies *
> >> > > > **
> >> > > > *on it, if i install another blueprint implementation like
> SpringDm,
> >> >  the
> >> > > > blueprint config file will be parsed twice, once by*
> >> > > > **
> >> > > > *geronimal and the other by springdm.*
> >> > > > **
> >> > > > *can someone give me some suggestions, thanks a lot.*
> >> > > >
> >> > > >
> >> > > > --
> >> > > > Contribute to Enterprise Integration
> >> > > >
> >> > >
> >> > >
> >> > >
> >> > > --
> >> > > Cheers,
> >> > > Guillaume Nodet
> >> > > ------------------------
> >> > > Blog: http://gnodet.blogspot.com/
> >> > > ------------------------
> >> > > Open Source SOA
> >> > > http://fusesource.com
> >> > >
> >> >
> >> >
> >> >
> >> > --
> >> > Contribute to Enterprise Integration
> >> >
> >>
> >>
> >>
> >> --
> >>  Cheers,
> >> Guillaume Nodet
> >> ------------------------
> >> Blog: http://gnodet.blogspot.com/
> >> ------------------------
> >> Open Source SOA
> >> http://fusesource.com
> >>
> >
> >
> >
> > --
> > Contribute to Enterprise Integration
> >
>
>
>
> --
> Contribute to Enterprise Integration
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message