Spring team does not like that we use directly the ApplicationContext
directly in a bundle. This is a little bit explained in the documentation :
http://static.springframework.org/osgi/docs/1.2.0/reference/html-single/#bnd-app-ctx:app-creation*"Note: the application context is published as a service primarily to
facilitate testing, administration, and management. Accessing this context
object at runtime and invoking getBean() or similar operations is
discouraged. The preferred way to access a bean defined in another
application context is to export that bean as an OSGi service from the
defining context, and then to import a reference to that service in the
context that needs access to the service. Going via the service registry in
this way ensures that a bean only sees services with compatible versions of
service types, and that OSGi platform dynamics are respected.*"
From my point of view, this approach imposes that you use spring injection
to retrieve by example a bean created instead of
ApplicationContext.getBean() in a java class
Regards,
Charles
On Thu, Jun 25, 2009 at 9:37 AM, Franz Seidl <
franz.g.seidl@...> wrote:
> In Spring, there is the ApplicationContextAware-Interface. Won't that do
> what
> you need?
> Just out of curiosity: Why can't you inject the bean?
>
> Regards,
> Franz
>
> Charles Moulliard schrieb am Dienstag, 23. Juni 2009:
> > I will provide an example :
> >
> > Bundle A
> >
> > In this bundle, I instantiate a bean with parameters like this :
> >
> > <bean id="emxHeader"
> > class="com.xpectis.x3s.model.backoffice.emx.common.Header">
> > <property name="beginString" value="FIX.4.1"/>
> > <property name="bodyLength" value="58"/>
> > <property name="msgSeqNum" value="32"/>
> > <property name="msgType" value="0"/>
> > <property name="sendCompId" value="CLIENT"/>
> > <property name="clientCompId" value="20090619-08:46:35"/>
> > <property name="targetCompId" value="SERVER"/>
> > </bean>
> >
> > In the same bundle, I would like from a Java class to retrieve the bean
> and
> > use it to do a transformation (using DataFormat of Camel : POJO to FIX
> > message) locally. The result of this transformation will be next made
> > available to another bundle B though a service (getFIXMessage).
> >
> > Regards,
> >
> > Charles Moulliard
> > Senior Enterprise Architect
> > Apache Camel Committer
> >
> > *****************************
> > blog :
http://cmoulliard.blogspot.com> >
> > On Tue, Jun 23, 2009 at 1:19 AM, Guillaume Nodet <
gnodet@...>
> wrote:
> > > Not sure what you mean. If you create your own spring-dm powered
> > > bundle, the application context will be exported as an OSGi service
> > > (unless you configure your bundle to not do so).
> > > You can access this object through the OSGi registry and manipulate it
> > > as any other application context.
> > >
> > > On Mon, Jun 22, 2009 at 12:16, Charles Moulliard<
cmoulliard@...>
> > >
> > > wrote:
> > > > Hi,
> > > >
> > > > I would like to know How I can retrieve the
> > > >
> org.springframework.osgi.context.support.OsgiBundleXmlApplicationContex
> > > >t published in an OSGI bundle (using Apache Karaf) ? Is there any
> helper
> > >
> > > class
> > >
> > > > in karaf that I use to have access to beans created by Spring ?
> > > >
> > > > Regards,
> > > >
> > > > Charles Moulliard
> > > > Senior Enterprise Architect
> > > > Apache Camel Committer
> > > >
> > > > *****************************
> > > > blog :
http://cmoulliard.blogspot.com> > >
> > > --
> > > Cheers,
> > > Guillaume Nodet
> > > ------------------------
> > > Blog:
http://gnodet.blogspot.com/> > > ------------------------
> > > Open Source SOA
> > >
http://fusesource.com> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail:
users-unsubscribe@...
> > > For additional commands, e-mail:
users-help@...
> --
> Franz Seidl
> Bremerstraße 1, App. 131
> 67663 Kaiserslautern
> Telefon +49 (0) 631 6251291
> Mobil +49 (0) 173 6777026
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
users-unsubscribe@...
> For additional commands, e-mail:
users-help@...
>
>