Since http://bugs.caucho.com/ is down currently, I'm posting this bug here.
When running Resin 4.0.37 under Windows, I am getting problem with the same extension being loaded twice by com.caucho.config.extension.ExtensionManager. The reason for this is that in the Enumeration<URL> e on line 133 the same path is represented twice, with different casing on the drive letter. I.e. it contains both jar:file:/C:/foo/resin-pro-4.0.37/lib/jsf-impl-2.2.4.jar!/META-INF/services/javax.enterprise.inject.spi.Extension and jar:file:/c:/foo/resin-pro-4.0.37/lib/jsf-impl-2.2.4.jar!/META-INF/services/javax.enterprise.inject.spi.Extension In the particular case, this results in an exception as of below and Resin refused to boot at all. The workaround that I have found so far is to set the RESIN_HOME environment varible with the driver letter in upper case. With lower case drive letter or RESIN_HOME unset, the duplicates appear. Here is the exception in our case: com.caucho.config.ConfigException: @Named('csfFLOWDISCOVERYCDIHELPER') is a duplicate name for ManagedBeanImpl[FlowDiscoveryCDIHelper, {@javax.inject.Named(value=csfFLOWDISCOVERYCDIHELPER), @Default(), @Any()}, name=csfFLOWDISCOVERYCDIHELPER] ManagedBeanImpl[FlowDiscoveryCDIHelper, {@javax.inject.Named(value=csfFLOWDISCOVERYCDIHELPER), @Default(), @Any()}, name=csfFLOWDISCOVERYCDIHELPER] at com.caucho.config.inject.InjectManager.addBeanByName(InjectManager.java:729) at com.caucho.config.inject.InjectManager.addBeanImpl(InjectManager.java:1392) at com.caucho.config.inject.InjectManager.addBean(InjectManager.java:1341) at com.caucho.config.extension.BeforeBeanDiscoveryImpl.addAnnotatedType(BeforeBeanDiscoveryImpl.java:61) at com.sun.faces.flow.FlowDiscoveryCDIExtension.beforeBeanDiscovery(FlowDiscoveryCDIExtension.java:104) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at com.caucho.config.extension.ExtensionManager$ExtensionObserver.notify(ExtensionManager.java:688) at com.caucho.config.event.EventManager.fireLocalEvent(EventManager.java:300) at com.caucho.config.event.EventManager.fireLocalEvent(EventManager.java:289) at com.caucho.config.event.EventManager.fireExtensionEvent(EventManager.java:273) at com.caucho.config.extension.ExtensionManager.fireBeforeBeanDiscovery(ExtensionManager.java:498) at com.caucho.config.inject.InjectManager.fireBeforeBeanDiscovery(InjectManager.java:3205) at com.caucho.config.inject.InjectManager.addBeanDiscover(InjectManager.java:1303) at com.caucho.config.inject.InjectManager.addBeanDiscover(InjectManager.java:1283) at com.caucho.env.service.ResinSystem.<init>(ResinSystem.java:145) at com.caucho.env.service.ResinSystem.<init>(ResinSystem.java:99) at com.caucho.server.resin.Resin.<init>(Resin.java:236) at com.caucho.server.resin.Resin.<init>(Resin.java:182) at com.caucho.server.resin.Resin.main(Resin.java:1436) -- </Mattias> _______________________________________________ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest