Due to module load time, shared dependencies, and memory leaks, I like to preinstall large and commonly used libraries in the repository, particularly Spring due to its bulk.
In Geronimo 2 this was straightforward; I would simply install the JARs into the repository and depend on them in geronimo-application.xml. I've tried to do the same in Geronimo 3 but am having no end of problems. The first seems to be that Spring Security wrongly puts an upper bound on version compatibility in its OSGi manifest. I can put the JARs in my EAR and they work just fine; however if I put them in the repository they refuse to load even with dependencies specified. It seems if I list the dependencies explicitly it shouldn't try to help. However, even when I use a collection of older JARs I have (all 3.0.5) I still run into problems. I suspect now that I've learned about the new requirement that part of it is due to this "import-package" business. But it has problems resolving dependencies even before it gets to my application: Spring Security can't find Spring Framework, Spring Framework can't find AOPAlliance, etc. Why is there such a difference between placing a JAR inside my EAR and placing it in the repository and depending on it, particularly when it used to work fine (and of course placing these particular JARs in the EAR causes the server to become unusable after just a few redeployments)? Is there a workaround for this? And has anyone had luck preloading Spring into Geronimo 3? Thanks, -- Tim Howe http://quadium.net/~vsync/ My whole approach in broadcasting has always been "You are an important person just the way you are. You can make healthy decisions." ... I just feel that anything that allows a person to be more active in the control of his or her life, in a healthy way, is important. -- Fred Rogers
