Two birds with one stone. May be a bug though? The following error can be seen on the http://ci.apache.org/builders/openejb-trunk-win-sunjdk build. It is caused by a temp file issue, that may be more common on win platforms, which leads to an undeploy / destroy call.
INFO - Deployed Application(path=c:\slave4\openejb-trunk-win-sunjdk\build\itests\openejb-itests-client\target\openejb-itests-client-4.5.2-snapshot.jar) INFO - Assembling app: C:\slave4\openejb-trunk-win-sunjdk\build\itests\openejb-itests-beans\target\openejb-itests-beans-4.5.2-SNAPSHOT.jar INFO - Undeploying app: C:\slave4\openejb-trunk-win-sunjdk\build\itests\openejb-itests-beans\target\openejb-itests-beans-4.5.2-SNAPSHOT.jar WARNING - Application id 'openejb-itests-beans-4.5.2-SNAPSHOT' not found in: [openejb-itests-client-4.5.2-snapshot] SEVERE - Application could not be deployed: C:\slave4\openejb-trunk-win-sunjdk\build\itests\openejb-itests-beans\target\openejb-itests-beans-4.5.2-SNAPSHOT.jar org.apache.openejb.OpenEJBException: Creating application failed: C:\slave4\openejb-trunk-win-sunjdk\build\itests\openejb-itests-beans\target\openejb-itests-beans-4.5.2-SNAPSHOT.jar: The system cannot find the path specified at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:823) The WARNING above is caused on destroy, which occurs due to the case of 'SNAPSHOT' and 'snapshot'. To address the temp file issue I hardened org.apache.openejb.assembler.classic.CmpJarBuilder#openJarFile. I changed CoreContainerSystem to fallback to an insensitive key. It looks safe to me, but maybe there is a deeper implication here? Thís fixes the org.apache.openejb.assembler.classic.Assembler#destroyApplication call which was failing to get the AppContext. AppInfo.appId is a public field which is used for various lookups throughout. It's case is never checked or enforced and is often interpreted as an 'Object' key. Not really safe me thinks, but I didn't want to change interfaces without checking with you guys that have a much deeper understanding. Either AppInfo.appId needs to bet a getter/setter, or it's case needs to be enforced elsewhere. Your thoughts? Andy. -- View this message in context: http://openejb.979440.n4.nabble.com/Use-a-case-insensitive-key-fallback-for-CoreContainerSystem-AppContexts-tp4659844.html Sent from the OpenEJB Dev mailing list archive at Nabble.com.