You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by "Sameer Tiwari (Jira)" <ji...@apache.org> on 2020/09/02 06:53:00 UTC

[jira] [Created] (OPENEJB-2147) open-ejb upgrade from 3.1.4 doesn't support java 8 lambda expressions

Sameer Tiwari created OPENEJB-2147:
--------------------------------------

             Summary: open-ejb upgrade from 3.1.4 doesn't support java 8 lambda expressions
                 Key: OPENEJB-2147
                 URL: https://issues.apache.org/jira/browse/OPENEJB-2147
             Project: OpenEJB
          Issue Type: Bug
          Components: container system
            Reporter: Sameer Tiwari


We have following versions in our poms

<openejb.javaee-api.version>5.0-3</openejb.javaee-api.version> <openejb.core.version>3.1.4</openejb.core.version>

Our build time unit tests work with above versions with java 8 as long as there's +*NO Java 8 lambda expressions in code*+

As soon as we add any lambda expression we get errors like following:
{code:java}

-------------------------------------------------------------------------------------------------------------- T E S T S-------------------------------------------------------Running com.alcatel.hdm.iwe.restapi.test.resource.ZeroTouchResourceTestApache OpenEJB 3.1.4    build: 20101112-03:32http://openejb.apache.org/ERROR - FATAL ERROR: Unknown error in Assembler.  Please send the following stack trace and this message to users@openejb.apache.org : java.lang.ArrayIndexOutOfBoundsException: 25460 at org.apache.xbean.asm.ClassReader.readClass(Unknown Source) at org.apache.xbean.asm.ClassReader.accept(Unknown Source) at org.apache.xbean.asm.ClassReader.accept(Unknown Source) at org.apache.openejb.util.AnnotationFinder.readClassDef(AnnotationFinder.java:253) at org.apache.openejb.util.AnnotationFinder.find(AnnotationFinder.java:157) at org.apache.openejb.config.DeploymentLoader.discoverModuleType(DeploymentLoader.java:1210) at org.apache.openejb.config.DeploymentsResolver.processUrls(DeploymentsResolver.java:365) at org.apache.openejb.config.DeploymentsResolver.loadFromClasspath(DeploymentsResolver.java:217) at org.apache.openejb.config.ConfigurationFactory.getOpenEjbConfiguration(ConfigurationFactory.java:379) at org.apache.openejb.assembler.classic.Assembler.getOpenEjbConfiguration(Assembler.java:300) at org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:279) at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:125) at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:60) at org.apache.openejb.OpenEJB.init(OpenEJB.java:271) at org.apache.openejb.OpenEJB.init(OpenEJB.java:250) 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:498) at org.apache.openejb.loader.OpenEJBInstance.init(OpenEJBInstance.java:36) at org.apache.openejb.client.LocalInitialContextFactory.init(LocalInitialContextFactory.java:71) at org.apache.openejb.client.LocalInitialContextFactory.init(LocalInitialContextFactory.java:53) at org.apache.openejb.client.LocalInitialContextFactory.getInitialContext(LocalInitialContextFactory.java:42) 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:216) at motive.test.BaseServiceTest.initialize(BaseServiceTest.java:119) 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:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.RunBefores.invokeMethod(RunBefores.java:33) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283) at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
 {code}
 

So we modified those versions to below:

<openejb.javaee-api.version>6.0-6</openejb.javaee-api.version> <openejb.core.version>4.7.5</openejb.core.version>

Then some of our classes were using following Response class 

javax.ws.rs.core.Response from javax.ws.rs module however upon add above versions, it started picking up this class from above ones and we got many compilation errors about readEntity method missing for javax.ws.rs.core.Response class

If we try and add javax.ws.rs maven module in poms then we get some other issues about 

 

{color:#FF0000}*Caused by: java.lang.NoSuchMethodError: javax.ejb.ApplicationException.inherited()Z*{color}

So could you please help us with this openejb upgrade procedure?

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)