Hi, I am looking into enhancing the integration between Apache Felix and the JRebel [1] JVM agent. If you're not familiar with JRebel, it's a java agent which allows classes loaded into the JVM to be redefined as soon as they are recompiled e.g. in an IDE. For more information about its features, see [2].
JRebel already has basic support for Apache Felix by allowing classes for a deployed bundle to be reloaded without requiring a bundle repackage and reinstall. What I want to contribute is support for components managed using declarative services. The basic principle is that given a bundle which contains service components descriptors, watch for changes to those component descriptors and refresh the components when the respective descriptors have changed. I have taken a quick look at both JRebel and Felix to see how an implementation should look like. JRebel offers support for detecting class changes, but not generic filesystem changes. Therefore I'd have to rely on Felix code ( in org.apache.felix.scr ? ) to detect - when a bundle with component descriptors is deployed and start watching for changes to the descriptors - when changes to the mentioned descriptors are detected refresh the components I would like to validate that this is at all possible within Apache Felix and to ask which are the best places to start looking for adding the JRebel functionality. Any thoughts/pointers on how to best start developing this would be greatly appreciated. If this is feasible, I intend to develop this as a separate JRebel plugin and contribute it to the Apache Felix project. Thanks, Robert [1]: http://zeroturnaround.com/jrebel/ [2]: http://zeroturnaround.com/jrebel/features/