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/

Reply via email to