Hi again,
During my tests of replacing plain file system access with a
factory-based resource wrapper, I noticed, that on shutdown of the
framework, the modules are not properly closed. Thus the jar files
remain open until either garbage collected or the vm exits.
Shouldn't the Felix.shutdown() method close those modules doing something like:
bundles = getBundles();
for (int i = 0; i < bundles.length; i++) {
BundleImpl bundle = (BundleImpl) bundles[i];
try {
IModule[] modules = bundle.getInfo().getModules();
for (int j = 0; j < modules.length; j++) {
m_factory.removeModule(modules[j]);
}
}
catch (Exception ex) {
m_logger.log(Logger.LOG_ERROR,
"Unable to remove " + bundle.getInfo().getLocation(), ex);
}
}
For my special use case - I create temporary files for the jar files
when running with a non-file system repository - this would enable the
JarFileX.close() method to remove the temporary files.
Regards
Felix