Hi,

I modified code as you suggested.  Removed the activator logic and converted it 
into simple bean.  The bundle when starts it does activate the spring framework 
which instantiates the beans and does DI.  The client bean is now POJO and its 
instantiated upon bundle start and destroyed on bundle stop.  Also the service 
reference is being set fine.

Now I have question on usage of osgi container like felix.  can I use it as 
middle tier for ejbs like the service bean made available to tomcat instance 
running outside felix via jndi lookup ?

Regards,

Miten.



________________________________
 From: Chetan Mehrotra <[email protected]>
To: miten mehta <[email protected]> 
Cc: "[email protected]" <[email protected]> 
Sent: Tuesday, May 29, 2012 3:54 PM
Subject: Re: activator with dependency injection for service
 

Not sure about your usecase here. But as I said you can configure Spring call 
any method of the ActivatorClient class of yours upon bean factory 
initialization which would happen once your bundle is activated. And in that 
call you can perform required invocation
Chetan Mehrotra



On Tue, May 29, 2012 at 10:36 AM, miten mehta <[email protected]> wrote:

Hi,
>
>
>Then how will I invoke the bean ? I thought that if I start/stop module the 
>activator start/stop happens and I can then invoke the remote method from 
>service reference in activator.
>
>
>Basically I have trying to write a client bean which can do a call to another 
>osgi module service (spring dm bean).
>
>
>Regards,
>
>
>Miten.
>
>
>
>________________________________
> From: Chetan Mehrotra <[email protected]>
>To: [email protected]; miten mehta <[email protected]> 
>Sent: Tuesday, May 29, 2012 9:22 AM
>Subject: Re: activator with dependency injection for service
> 
>
>
>The activator instance is created by OSGi framework itself outside of Spring. 
>Hence you would not be able to access services via DI. The one created through 
>your entry in spring cofig is a different instance. Instead you can remove 
>activator entry from your pom.xml and rely on Spring itself to call lifecycle 
>methods like init and destroy
>
><bean id="client" class="org.springframework.
>osgi.samples.ActivatorClient" scope="singleton" init="activate" 
>destroy="deactivate">
>   <property name="service" ref="simpleServiceOsgi"/>
></bean>
>
>Chetan Mehrotra
>
>
>
>On Mon, May 28, 2012 at 10:17 PM, miten mehta <[email protected]> wrote:
>
>Hi,
>>
>>I am trying to use spring dm in felix for doing a client module with 
>>activator in which I wanting to do dependency injection of service.  I am not 
>>getting the service set.  It gives Null pointer.  could one guide if I am 
>>doing things right ?
>>
>>
>>spring/bean_config.xml
>>------------------------
>>
>><?xml version="1.0" encoding="UTF-8"?>
>><beans xmlns="http://www.springframework.org/schema/beans";
>>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>  xmlns:osgi="http://www.springframework.org/schema/osgi";
>>  xsi:schemaLocation="http://www.springframework.org/schema/beans 
>>http://www.springframework.org/schema/beans/spring-beans.xsd
>>                      http://www.springframework.org/schema/osgi 
>>http://www.springframework.org/schema/osgi/spring-osgi.xsd";>
>>
>> 
>> 
>>  <osgi:reference id="simpleServiceOsgi" 
>>interface="org.springframework.osgi.samples.simpleservice.MyService"></osgi:reference>
>>
>><bean id="client" class="org.springframework.osgi.samples.ActivatorClient" 
>>scope="singleton">
>>   <property name="service" ref="simpleServiceOsgi"/>
>></bean>
>> 
>></beans>
>>
>>
>>pom.xml snippet:
>>-----------------
>><plugin>    <!-- (2) START -->
>>                <groupId>org.apache.felix</groupId>
>>                <artifactId>maven-bundle-plugin</artifactId>
>>                <extensions>true</extensions>
>>                <configuration>
>>                    <instructions>
>>                        <!-- 
>>>Export-Package>org.springframework.osgi.samples.simpleservice</Export-Package
>> -->
>>                       
>>                        
>><Private-Package>org.springframework.osgi.samples</Private-Package>
>>                        
>><Bundle-Activator>org.springframework.osgi.samples.ActivatorClient</Bundle-Activator>
>>                       
>>                    </instructions>
>>                </configuration>
>>            </plugin> 
>
>
>

Reply via email to