That's it, and it's what you can find in the command archetype ;)
Regards JB On 04/01/2016 03:29 PM, Cristiano Costantini wrote:
Hi, yes I confirm it by myself, the @Reference is resolved from the OSGi service registry. Specifically, in the old command implementation I was injecting inside the commands other beans directly taken from the the same beans.xml file. Now I have to publish as OSGi services. So in summary, previously I was using: <bean id="myService" class="net.cristcost.MyService" /> <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.0.0"> <command name="test/hello"> <action class="net.cristcost.HelloCommand"> <property name="myService" ref="myService" /> </action> </command> </command-bundle> Now I've changed the code of net.cristcost.HelloCommand with @Service and @Reference on the myService field, plus my blueprint.xml has changed into: <bean id="myService" class="net.cristcost.MyService" /> <service ref="myService" interface="net.cristcost.MyService" /> ...and the instruction <Karaf-Commands>*</Karaf-Commands> on the pom.xml ! Thank you Cristiano Il giorno ven 1 apr 2016 alle ore 15:11 Cristiano Costantini <[email protected] <mailto:[email protected]>> ha scritto: Yeah! that's what I'm searching to achieve... I've finally found the documentation page at https://karaf.apache.org/manual/latest/developers-guide/extending.html and in my initial attempts, I also was missing that it is required to add this instruction on the pom: <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <configuration> <instructions> <Karaf-Commands>*</Karaf-Commands> </instructions> </configuration> </plugin> but I still don't understand how @Reference works... it is not explained on the guide: In the Jdbc command example, @Reference private JdbcService jdbcService; how the JdbcService it injected? is it resolved from OSGi services? Thank you Cristiano Il giorno ven 1 apr 2016 alle ore 14:59 Morgan Hautman <[email protected] <mailto:[email protected]>> ha scritto: Hi Christiano, If you mean custom commands, the jdbc command is an example: https://github.com/apache/karaf/tree/master/jdbc/src/main/java/org/apache/karaf/jdbc/command Regards, Morgan 2016-04-01 14:26 GMT+02:00 Cristiano Costantini <[email protected] <mailto:[email protected]>>: Hi all, in my application I've developed some shell command using the now @Deprecated org.apache.karaf.shell.console.OsgiCommandSupport Is there any guide or can you suggest me an example on how to implement the commands with the new API? Thanks. Cristiano
-- Jean-Baptiste Onofré [email protected] http://blog.nanthrax.net Talend - http://www.talend.com
