We have an integration testing framework in karaf based on pax-exam. You can find some of our integration tests at http://svn.apache.org/repos/asf/karaf/trunk/itests/
On Fri, Oct 15, 2010 at 22:24, Manuel Bernhardt <[email protected]>wrote: > Salut! > > On Fri, Oct 15, 2010 at 7:19 PM, Guillaume Nodet <[email protected]> wrote: > > Yeah, that has changed in 2.1 where Karaf does not display the > pre-installed > > bundle anymore. > > Try 'la' in the console to see all the bundles. The Aries Blueprint impl > is > > used by a lot of bundles in karaf. > > Indeed. Well then I'll probably have some more surprises with the two > Blueprint implementations running side-by-side > > >> The issue I have now is that we use the Karaf shell extensions in > >> order to talk to our bundles via the console. This worked nicely with > >> a <command-bundle> declaration as long as I didn't inject dependencies > >> with spring (but wired them via hand). Now, spring not being the one > >> initializing the shell <action> classes, the dependencies are not > >> initialized. > > > > Not sure to exactly follow what you did with spring. > > Mainly the shell extension (extending OsgiCommandSupport) has a member > that is injected via @AutoWired. The type is declared in the spring > bundle context. > > >> - how does the shell console look for it's extension points? Will it > >> only look in <command-bundle> definitions in a OSGI-INF/blueprint > >> path, or would it in theory be fine if the definition were in a spring > >> bundle-context definition file (with a custom namespace mapping). My > >> aim would be to have spring initialize the instance (and wire its > >> dependencies) but still have the shell know about it / how to talk to > >> it. > > > > The console looks for services in the registry. The custom blueprint > > namespace is just a simple way to expose the service. > > To add a command to the console if you're no using blueprint, register a > > service implementing the org.apache.felix.service.command.Function > interface > > and with the osgi.command.function and osgi.command.scope service > > properties. Try "ls -a 14' for example in the karaf console to see a > bunch > > of those methods. The helper classes are located in the > > o.a.karaf.shell.console bundle. > > Great, thanks! > > >> - it looks like http://karaf.apache.org/xmlns/shell/v1.0.0 isn't > >> online, whilst that would be handy to have > > > > Wanna raise a JIRA, that should be fixed. > > You can find it at > > > http://svn.apache.org/repos/asf/karaf/tags/karaf-2.1.0/shell/console/src/main/resources/org/apache/karaf/shell/console/commands/karaf-shell.xsd > > in the mean time. > > Will file a ticket > > >> - does what I am trying to do make any sense at all? (I'm rather new > >> to the latest OSGi spec, and am not sure what the usual practices are) > > > > What are you trying to do? Do you only need to register a set of commands > > using spring-dm ? Do you really need to use the blueprint implemnttion > from > > spring? > > Actually I don't care so much for the blueprint implementation. What I > am after is spring's dependency injection toolset and the integration > test facility ( > http://static.springsource.org/osgi/docs/2.0.0.M1/reference/html/testing.html#testing:integration > ). > If I understood things right, I do need spring dm to be running on the > platform in order to get those, or not? > > Thanks, > > Manuel > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/ ------------------------ Open Source SOA http://fusesource.com
