I’m back to this upgrade from 4.5.2 to 4.6.0.2 and I’m seeing a new issue. All my ServletContextListeners are being invoked twice, in parallel.
I haven’t changed anything to do with them. They’re still specified once each in web.xml. Any idea what might be different between those two releases? Cheers, Geoff > On 17 Apr 2017, at 9:52 AM, JumpStart <[email protected]> > wrote: > > Romain, you were right about the problem being the compiler version. 4.5.2 > compiled with Java 8 but 4.6.0.2 doesn’t. > > Mark, I’m just stepping up one major release at a time because my experience > is that every major release has given me a small problem and it’s easier to > debug one small problem in isolation than many. Don’t forget that it’s not > just the code of OpenEJB that is changing, it’s often the dependent JARs that > are changing too. When debugging it’s preferable to have as few variables > changing as possible. > > Cheers, > > Geoff > >> On 16 Apr 2017, at 3:41 PM, Mark Struberg <[email protected]> wrote: >> >> Just out of curiosity: Why not using 4.7.4. >> Is 1:1 compatible with 4.5 and 4.6 >> >> LieGrue, >> strub >> >> >>> Am 12.04.2017 um 09:48 schrieb Romain Manni-Bucau <[email protected]>: >>> >>> Hi Geoff, >>> >>> are you sure you didn't recompile your application with java 8? 4.6 doesn't >>> support it if I recall correctly. The difference is the >>> xbean-finder-shaded/xbean-asm-shaded version. >>> >>> >>> Romain Manni-Bucau >>> @rmannibucau <https://twitter.com/rmannibucau> | Blog >>> <https://blog-rmannibucau.rhcloud.com> | Old Blog >>> <http://rmannibucau.wordpress.com> | Github >>> <https://github.com/rmannibucau> | >>> LinkedIn <https://www.linkedin.com/in/rmannibucau> | JavaEE Factory >>> <https://javaeefactory-rmannibucau.rhcloud.com> >>> >>> 2017-04-12 9:26 GMT+02:00 JumpStart <[email protected]>: >>> >>>> What changed in OpenEJB Standalone from 4.5.2 to 4.6.0.2 that would cause >>>> the stack trace below? >>>> >>>> I’m running collapsed EAR format, in an old version of Jetty, fired up in >>>> a Java program in Eclipse. >>>> >>>> Here’s what it logged with 4.6.0.2 … >>>> >>>> SLF4J: Class path contains multiple SLF4J bindings. >>>> SLF4J: Found binding in [jar:file:/git/xpro/xpro/web/ >>>> src/test/lib-test/slf4j-log4j12-1.7.21.jar!/org/slf4j/ >>>> impl/StaticLoggerBinder.class] >>>> SLF4J: Found binding in [jar:file:/devel/apache-openejb-4.6.0.2/lib/slf4j- >>>> jdk14-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] >>>> SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an >>>> explanation. >>>> SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] >>>> INFO [main] (Slf4jLog.java:67) - Logging to org.slf4j.impl. >>>> Log4jLoggerAdapter(org.mortbay.log) via org.mortbay.log.Slf4jLog >>>> INFO [main] (Slf4jLog.java:67) - jetty-6.1.24 >>>> Apr 11, 2017 9:32:17 AM org.apache.openejb.OpenEJB$Instance <init> >>>> INFO: ************************************************************ >>>> ******************** >>>> Apr 11, 2017 9:32:17 AM org.apache.openejb.OpenEJB$Instance <init> >>>> INFO: OpenEJB http://openejb.apache.org/ >>>> Apr 11, 2017 9:32:17 AM org.apache.openejb.OpenEJB$Instance <init> >>>> INFO: Startup: Tue Apr 11 09:32:17 UTC 2017 >>>> Apr 11, 2017 9:32:17 AM org.apache.openejb.OpenEJB$Instance <init> >>>> INFO: Copyright 1999-2013 (C) Apache OpenEJB Project, All Rights Reserved. >>>> Apr 11, 2017 9:32:17 AM org.apache.openejb.OpenEJB$Instance <init> >>>> INFO: Version: 4.6.0.2 >>>> Apr 11, 2017 9:32:17 AM org.apache.openejb.OpenEJB$Instance <init> >>>> INFO: Build date: 20140506 >>>> Apr 11, 2017 9:32:17 AM org.apache.openejb.OpenEJB$Instance <init> >>>> INFO: Build time: 03:09 >>>> Apr 11, 2017 9:32:17 AM org.apache.openejb.OpenEJB$Instance <init> >>>> INFO: ************************************************************ >>>> ******************** >>>> Apr 11, 2017 9:32:17 AM org.apache.openejb.OpenEJB$Instance <init> >>>> INFO: openejb.home = /devel/apache-openejb-4.6.0.2 >>>> Apr 11, 2017 9:32:17 AM org.apache.openejb.OpenEJB$Instance <init> >>>> INFO: openejb.base = /devel/apache-openejb-4.6.0.2 >>>> Apr 11, 2017 9:32:17 AM org.apache.openejb.cdi.CdiBuilder initializeOWB >>>> INFO: Created new singletonService org.apache.openejb.cdi. >>>> ThreadSingletonServiceImpl@7a8c8dcf >>>> Apr 11, 2017 9:32:17 AM org.apache.openejb.cdi.CdiBuilder initializeOWB >>>> INFO: Succeeded in installing singleton service >>>> Apr 11, 2017 9:32:20 AM org.apache.openejb.config.ConfigurationFactory >>>> init >>>> INFO: openejb configuration file is '/git/xpro/xpro/business/src/ >>>> test/conf/openejb.xml' >>>> Apr 11, 2017 9:32:21 AM org.apache.openejb.config.ConfigurationFactory >>>> configureService >>>> INFO: Configuring Service(id=OpenEJBSecurityService, >>>> type=SecurityService, provider-id=OpenEJBSecurityService) >>>> Apr 11, 2017 9:32:21 AM org.apache.openejb.config.ConfigurationFactory >>>> configureService >>>> INFO: Configuring Service(id=Default Transaction Manager, >>>> type=TransactionManager, provider-id=Default Transaction Manager) >>>> Apr 11, 2017 9:32:21 AM org.apache.openejb.config.ConfigurationFactory >>>> configureService >>>> INFO: Configuring Service(id=XproDS, type=Resource, provider-id=Default >>>> JDBC Database) >>>> Apr 11, 2017 9:32:21 AM org.apache.openejb.config.ConfigurationFactory >>>> configureService >>>> INFO: Configuring Service(id=XproDSUnmanaged, type=Resource, >>>> provider-id=Default JDBC Database) >>>> Apr 11, 2017 9:32:28 AM org.apache.openejb.config.ConfigurationFactory >>>> configureApplication >>>> WARNING: Jar not loaded. /git/xpro/xpro/collapsed/xpro.war. Unable to >>>> create annotation scanner for web module xpro: null >>>> org.apache.openejb.OpenEJBException: Unable to create annotation scanner >>>> for web module xpro: null >>>> at org.apache.openejb.config.DeploymentLoader.addWebModule( >>>> DeploymentLoader.java:838) >>>> at org.apache.openejb.config.DeploymentLoader.load( >>>> DeploymentLoader.java:219) >>>> at org.apache.openejb.config.ConfigurationFactory. >>>> configureApplication(ConfigurationFactory.java:767) >>>> at org.apache.openejb.config.ConfigurationFactory. >>>> getOpenEjbConfiguration(ConfigurationFactory.java:495) >>>> at org.apache.openejb.config.ConfigurationFactory. >>>> getOpenEjbConfiguration(ConfigurationFactory.java:575) >>>> at org.apache.openejb.assembler.classic.Assembler. >>>> getOpenEjbConfiguration(Assembler.java:429) >>>> at org.apache.openejb.assembler.classic.Assembler.build( >>>> Assembler.java:408) >>>> at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:148) >>>> at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:65) >>>> at org.apache.openejb.OpenEJB.init(OpenEJB.java:296) >>>> at org.apache.openejb.OpenEJB.init(OpenEJB.java:276) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke( >>>> NativeMethodAccessorImpl.java:62) >>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke( >>>> DelegatingMethodAccessorImpl.java:43) >>>> at java.lang.reflect.Method.invoke(Method.java:497) >>>> at org.apache.openejb.loader.OpenEJBInstance.init( >>>> OpenEJBInstance.java:36) >>>> at org.apache.openejb.core.LocalInitialContextFactory.init( >>>> LocalInitialContextFactory.java:96) >>>> at org.apache.openejb.core.LocalInitialContextFactory.init( >>>> LocalInitialContextFactory.java:60) >>>> at org.apache.openejb.core.LocalInitialContextFactory. >>>> getInitialContext(LocalInitialContextFactory.java:44) >>>> at javax.naming.spi.NamingManager.getInitialContext( >>>> NamingManager.java:684) >>>> at javax.naming.InitialContext.getDefaultInitCtx( >>>> InitialContext.java:313) >>>> at javax.naming.InitialContext.init(InitialContext.java:244) >>>> at javax.naming.InitialContext.<init>(InitialContext.java:192) >>>> at org.mortbay.jetty.plus.naming.NamingEntry.save(NamingEntry. >>>> java:191) >>>> at org.mortbay.jetty.plus.naming.NamingEntry.<init>( >>>> NamingEntry.java:58) >>>> at org.mortbay.jetty.plus.naming.EnvEntry.<init>(EnvEntry.java:46) >>>> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native >>>> Method) >>>> at sun.reflect.NativeConstructorAccessorImpl.newInstance( >>>> NativeConstructorAccessorImpl.java:62) >>>> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance( >>>> DelegatingConstructorAccessorImpl.java:45) >>>> at java.lang.reflect.Constructor.newInstance(Constructor.java:422) >>>> at org.mortbay.xml.XmlConfiguration.newObj( >>>> XmlConfiguration.java:608) >>>> at org.mortbay.xml.XmlConfiguration.configure( >>>> XmlConfiguration.java:256) >>>> at org.mortbay.xml.XmlConfiguration.configure( >>>> XmlConfiguration.java:214) >>>> at org.mortbay.jetty.deployer.ContextDeployer.createContext( >>>> ContextDeployer.java:369) >>>> at org.mortbay.jetty.deployer.ContextDeployer.deploy( >>>> ContextDeployer.java:263) >>>> at org.mortbay.jetty.deployer.ContextDeployer.access$000( >>>> ContextDeployer.java:67) >>>> at org.mortbay.jetty.deployer.ContextDeployer$ >>>> ScannerListener.fileAdded(ContextDeployer.java:89) >>>> at org.mortbay.util.Scanner.reportAddition(Scanner.java:410) >>>> at org.mortbay.util.Scanner.reportDifferences(Scanner.java:324) >>>> at org.mortbay.util.Scanner.scan(Scanner.java:280) >>>> at org.mortbay.jetty.deployer.ContextDeployer.doStart( >>>> ContextDeployer.java:327) >>>> at org.mortbay.component.AbstractLifeCycle.start( >>>> AbstractLifeCycle.java:50) >>>> at org.mortbay.jetty.Server.doStart(Server.java:201) >>>> at org.mortbay.component.AbstractLifeCycle.start( >>>> AbstractLifeCycle.java:50) >>>> at com.goxpro.xpro.web.RunJetty.main(RunJetty.java:84) >>>> Caused by: java.lang.IllegalArgumentException >>>> at org.apache.xbean.asm4.ClassReader.<init>(Unknown Source) >>>> at org.apache.xbean.asm4.ClassReader.<init>(Unknown Source) >>>> at org.apache.xbean.asm4.ClassReader.<init>(Unknown Source) >>>> at org.apache.xbean.finder.AnnotationFinder.readClassDef( >>>> AnnotationFinder.java:1120) >>>> at org.apache.xbean.finder.AnnotationFinder.<init>( >>>> AnnotationFinder.java:139) >>>> at org.apache.xbean.finder.AnnotationFinder.<init>( >>>> AnnotationFinder.java:152) >>>> at org.apache.xbean.finder.AsynchronousInheritanceAnnotat >>>> ionFinder.<init>(AsynchronousInheritanceAnnotationFinder.java:43) >>>> at org.apache.openejb.config.FinderFactory.newFinder( >>>> FinderFactory.java:114) >>>> at org.apache.openejb.config.FinderFactory.create( >>>> FinderFactory.java:68) >>>> at org.apache.openejb.config.FinderFactory.createFinder( >>>> FinderFactory.java:57) >>>> at org.apache.openejb.config.DeploymentLoader.addWebModule( >>>> DeploymentLoader.java:830) >>>> ... 44 more >>>> >>>> Apr 11, 2017 9:32:28 AM org.apache.openejb.util.OptionsLog info >>>> INFO: Using 'openejb.system.apps=true' >>>> Apr 11, 2017 9:32:28 AM org.apache.openejb.config.ConfigurationFactory >>>> configureApplication >>>> INFO: Configuring enterprise application: openejb >>>> Apr 11, 2017 9:32:30 AM org.apache.openejb.config.InitEjbDeployments >>>> deploy >>>> INFO: Using openejb.deploymentId.format '{ejbName}' >>>> Apr 11, 2017 9:32:30 AM org.apache.openejb.config.InitEjbDeployments >>>> deploy >>>> INFO: Auto-deploying ejb openejb/User: EjbDeployment(deployment-id= >>>> openejb/User) >>>> Apr 11, 2017 9:32:30 AM org.apache.openejb.config.InitEjbDeployments >>>> deploy >>>> INFO: Auto-deploying ejb openejb/Deployer: EjbDeployment(deployment-id= >>>> openejb/Deployer) >>>> Apr 11, 2017 9:32:30 AM org.apache.openejb.config.InitEjbDeployments >>>> deploy >>>> INFO: Auto-deploying ejb openejb/ConfigurationInfo: >>>> EjbDeployment(deployment-id=openejb/ConfigurationInfo) >>>> Apr 11, 2017 9:32:30 AM org.apache.openejb.config.InitEjbDeployments >>>> deploy >>>> INFO: Auto-deploying ejb MEJB: EjbDeployment(deployment-id=MEJB) >>>> Apr 11, 2017 9:32:30 AM org.apache.openejb.config.ConfigurationFactory >>>> configureService >>>> INFO: Configuring Service(id=Default Stateless Container, type=Container, >>>> provider-id=Default Stateless Container) >>>> Apr 11, 2017 9:32:30 AM org.apache.openejb.config.AutoConfig >>>> createContainer >>>> INFO: Auto-creating a container for bean openejb/User: >>>> Container(type=STATELESS, id=Default Stateless Container) >>>> Apr 11, 2017 9:32:30 AM org.apache.openejb.config.AppInfoBuilder build >>>> INFO: Enterprise application "openejb" loaded. >>>> ... >>>> >>>> >>>> And here’s what it logged with 4.5.2 … >>>> >>>> >>>> INFO [main] (Slf4jLog.java:67) - Logging to org.slf4j.impl. >>>> Log4jLoggerAdapter(org.mortbay.log) via org.mortbay.log.Slf4jLog >>>> INFO [main] (Slf4jLog.java:67) - jetty-6.1.24 >>>> Apr 12, 2017 7:11:24 AM org.apache.openejb.OpenEJB$Instance <init> >>>> INFO: ************************************************************ >>>> ******************** >>>> Apr 12, 2017 7:11:24 AM org.apache.openejb.OpenEJB$Instance <init> >>>> INFO: OpenEJB http://openejb.apache.org/ >>>> Apr 12, 2017 7:11:24 AM org.apache.openejb.OpenEJB$Instance <init> >>>> INFO: Startup: Wed Apr 12 07:11:24 UTC 2017 >>>> Apr 12, 2017 7:11:24 AM org.apache.openejb.OpenEJB$Instance <init> >>>> INFO: Copyright 1999-2012 (C) Apache OpenEJB Project, All Rights Reserved. >>>> Apr 12, 2017 7:11:25 AM org.apache.openejb.OpenEJB$Instance <init> >>>> INFO: Version: 4.5.2 >>>> Apr 12, 2017 7:11:25 AM org.apache.openejb.OpenEJB$Instance <init> >>>> INFO: Build date: 20130320 >>>> Apr 12, 2017 7:11:25 AM org.apache.openejb.OpenEJB$Instance <init> >>>> INFO: Build time: 03:56 >>>> Apr 12, 2017 7:11:25 AM org.apache.openejb.OpenEJB$Instance <init> >>>> INFO: ************************************************************ >>>> ******************** >>>> Apr 12, 2017 7:11:25 AM org.apache.openejb.OpenEJB$Instance <init> >>>> INFO: openejb.home = /devel/apache-openejb-4.5.2 >>>> Apr 12, 2017 7:11:25 AM org.apache.openejb.OpenEJB$Instance <init> >>>> INFO: openejb.base = /devel/apache-openejb-4.5.2 >>>> Apr 12, 2017 7:11:25 AM org.apache.openejb.cdi.CdiBuilder initializeOWB >>>> INFO: Created new singletonService org.apache.openejb.cdi. >>>> ThreadSingletonServiceImpl@74e52ef6 >>>> Apr 12, 2017 7:11:25 AM org.apache.openejb.cdi.CdiBuilder initializeOWB >>>> INFO: Succeeded in installing singleton service >>>> Apr 12, 2017 7:11:27 AM org.apache.openejb.config.ConfigurationFactory >>>> init >>>> INFO: openejb configuration file is '/git/xpro/xpro/business/src/ >>>> test/conf/openejb.xml' >>>> Apr 12, 2017 7:11:27 AM org.apache.openejb.config.ConfigurationFactory >>>> configureService >>>> INFO: Configuring Service(id=OpenEJBSecurityService, >>>> type=SecurityService, provider-id=OpenEJBSecurityService) >>>> Apr 12, 2017 7:11:28 AM org.apache.openejb.config.ConfigurationFactory >>>> configureService >>>> INFO: Configuring Service(id=Default Transaction Manager, >>>> type=TransactionManager, provider-id=Default Transaction Manager) >>>> Apr 12, 2017 7:11:28 AM org.apache.openejb.config.ConfigurationFactory >>>> configureService >>>> INFO: Configuring Service(id=XproDS, type=Resource, provider-id=Default >>>> JDBC Database) >>>> Apr 12, 2017 7:11:28 AM org.apache.openejb.config.ConfigurationFactory >>>> configureService >>>> INFO: Configuring Service(id=XproDSUnmanaged, type=Resource, >>>> provider-id=Default JDBC Database) >>>> Apr 12, 2017 7:11:39 AM org.apache.openejb.config.ConfigurationFactory >>>> configureApplication >>>> INFO: Configuring enterprise application: /git/xpro/xpro/collapsed/xpro. >>>> war >>>> Apr 12, 2017 7:11:46 AM org.apache.openejb.config.InitEjbDeployments >>>> deploy >>>> INFO: Auto-deploying ejb SessionEventService: EjbDeployment(deployment-id= >>>> SessionEventService) >>>> Apr 12, 2017 7:11:46 AM org.apache.openejb.config.InitEjbDeployments >>>> deploy >>>> INFO: Auto-deploying ejb PlannerEventService: EjbDeployment(deployment-id= >>>> PlannerEventService) >>>> ... lots of services ... >>>> Apr 12, 2017 7:11:47 AM org.apache.openejb.config.InitEjbDeployments >>>> deploy >>>> INFO: Auto-deploying ejb PlannerFinderService: EjbDeployment(deployment-id= >>>> PlannerFinderService) >>>> Apr 12, 2017 7:11:47 AM org.apache.openejb.config.ConfigurationFactory >>>> configureService >>>> INFO: Configuring Service(id=Default Singleton Container, type=Container, >>>> provider-id=Default Singleton Container) >>>> Apr 12, 2017 7:11:47 AM org.apache.openejb.config.AutoConfig >>>> createContainer >>>> INFO: Auto-creating a container for bean SessionEventService: >>>> Container(type=SINGLETON, id=Default Singleton Container) >>>> Apr 12, 2017 7:11:47 AM org.apache.openejb.config.ConfigurationFactory >>>> configureService >>>> INFO: Configuring Service(id=Default Stateless Container, type=Container, >>>> provider-id=Default Stateless Container) >>>> Apr 12, 2017 7:11:47 AM org.apache.openejb.config.AutoConfig >>>> createContainer >>>> INFO: Auto-creating a container for bean TesterService: >>>> Container(type=STATELESS, id=Default Stateless Container) >>>> Apr 12, 2017 7:11:47 AM org.apache.openejb.config.AutoConfig deploy >>>> INFO: Configuring PersistenceUnit(name=xpro, provider=org.hibernate.ejb. >>>> HibernatePersistence) >>>> Apr 12, 2017 7:11:47 AM org.apache.openejb.config.ReportValidationResults >>>> logResults >>>> WARNING: WARN ... xpro: The application [xpro] uses @Inject but CDI is not >>>> enabled. Maybe youd need to add a beans.xml file. >>>> Apr 12, 2017 7:11:47 AM org.apache.openejb.config.ReportValidationResults >>>> logResults >>>> WARNING: 1 warning for EjbModule(path=xpro) >>>> Apr 12, 2017 7:11:47 AM org.apache.openejb.config.AppInfoBuilder build >>>> INFO: Enterprise application "/git/xpro/xpro/collapsed/xpro.war" loaded. >>>> Apr 12, 2017 7:11:47 AM org.apache.openejb.util.OptionsLog info >>>> INFO: Using 'openejb.system.apps=true' >>>> Apr 12, 2017 7:11:47 AM org.apache.openejb.config.ConfigurationFactory >>>> configureApplication >>>> INFO: Configuring enterprise application: openejb >>>> Apr 12, 2017 7:11:47 AM org.apache.openejb.config.InitEjbDeployments >>>> deploy >>>> INFO: Using openejb.deploymentId.format '{ejbName}' >>>> Apr 12, 2017 7:11:47 AM org.apache.openejb.config.InitEjbDeployments >>>> deploy >>>> INFO: Auto-deploying ejb openejb/User: EjbDeployment(deployment-id= >>>> openejb/User) >>>> Apr 12, 2017 7:11:47 AM org.apache.openejb.config.InitEjbDeployments >>>> deploy >>>> INFO: Auto-deploying ejb openejb/Deployer: EjbDeployment(deployment-id= >>>> openejb/Deployer) >>>> Apr 12, 2017 7:11:47 AM org.apache.openejb.config.InitEjbDeployments >>>> deploy >>>> INFO: Auto-deploying ejb openejb/ConfigurationInfo: >>>> EjbDeployment(deployment-id=openejb/ConfigurationInfo) >>>> Apr 12, 2017 7:11:47 AM org.apache.openejb.config.InitEjbDeployments >>>> deploy >>>> INFO: Auto-deploying ejb MEJB: EjbDeployment(deployment-id=MEJB) >>>> Apr 12, 2017 7:11:47 AM org.apache.openejb.config.AppInfoBuilder build >>>> INFO: Enterprise application "openejb" loaded. >>>> ... >>>> >>>> >>>> Thanks in advance, >>>> >>>> Geoff >>>> >>>> >> >
