Did you try removing the lazy activation as suggested? On Saturday, August 27, 2016 at 3:21:07 PM UTC-5, [email protected] wrote: > > Hi All, > > Please see my setup and code. > > Version: apache-karaf-3.0.5 > > *Part 1*: Service class > > Service: > ------------ > package org.jrb.test; > > public interface MyService { > > public String echo(String message); > > } > > package org.jrb.test; > > public class MyServiceImpl implements MyService { > > public String echo(String message) { > return "Echo processed: " + message; > } > > } > > Blueprit: > ------------ > <?xml version="1.0" encoding="UTF-8"?> > <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" > default-activation="lazy"> > > <bean id="serviceBean" class="org.jrb.test.MyServiceImpl"/> > > <service id="MyService" ref="serviceBean" > interface="org.jrb.test.MyService"/> > > </blueprint> > > i can see my service in list: > ------------------------------------------ > onos> service:list | grep serviceBean > *osgi.service.blueprint.compname = serviceBean* > > > *Part 2*: consumer class for testing > > Blueprint > ------------- > <?xml version="1.0" encoding="UTF-8"?> > <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" > default-activation="lazy"> > > <reference id="MyService" interface="org.jrb.test.MyService"/> > <bean id="b" class="org.ct.command.AddCommand" activation="eager" > > <property name="serviceBn" ref="MyService" /> > </bean> > <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.1.0"> > <command> > <action class="org.ct.command.AddCommand"/> > </command> > </command-bundle> > > </blueprint> > > In Java: > ------------ > package org.ct.command; > > import org.apache.felix.gogo.commands.Action; > import org.apache.felix.gogo.commands.Argument; > import org.apache.felix.gogo.commands.Command; > import org.apache.felix.service.command.CommandSession; > > import org.jrb.test.MyService; > > @Command(scope = "onos", name = "service-add", description = "Adds a > Client") > public class AddCommand implements Action { > > public AddCommand() > { > } > > private MyService serviceBn; > > public void setServiceBn(MyService serviceBn) > { > this.serviceBn = serviceBn; > } > > public MyService getServiceBn() { > return service; > } > > @Override > public Object execute(CommandSession session) throws Exception { > System.out.println("Executing command add"); > > if(serviceBn != null) > System.out.println("serviceBn is not null"); > else > System.out.println("serviceBn is null !!"); > if(serviceBn != null) > System.out.println(serviceBn.echo("testing.....")); > > } > } > > In the above code, if i run the command "service-add", my serviceBn is > always NULL. The reference is not injecting the bean. > > Is there anything missing in my code? please help. > > > Regards, > Jayanth > > >
-- -- ------------------ OPS4J - http://www.ops4j.org - [email protected] --- You received this message because you are subscribed to the Google Groups "OPS4J" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
