can you give it a try with the one i pointed out? *Romain Manni-Bucau* *Twitter: @rmannibucau <https://twitter.com/rmannibucau>* *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau* *Github: https://github.com/rmannibucau*
2012/10/19 Miguel Figueiredo <[email protected]> > Hi, > > I am using EJB 3.0 api: > > javax.ejb:ejb-api:jar:3.0:compile > > Best regards, > Miguel > > On Fri, Oct 19, 2012 at 3:19 PM, Romain Manni-Bucau > <[email protected]>wrote: > > > which are your API dependencies? > > > > we commonly only use org.apache.openejb:javaee-api:6.0-4 (not what you > are > > using) > > > > *Romain Manni-Bucau* > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>* > > *Blog: **http://rmannibucau.wordpress.com/*< > > http://rmannibucau.wordpress.com/> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau* > > *Github: https://github.com/rmannibucau* > > > > > > > > > > 2012/10/19 Miguel Figueiredo <[email protected]> > > > > > Hello, > > > > > > I have the following annotation according to EJB 3.0 spec: > > > > > > @Target(TYPE) > > > @Retention(RUNTIME) > > > public @interface ApplicationException { > > > > > > /** > > > * Indicates whether the container should cause the transaction to > > > * rollback when the exception is thrown. > > > */ > > > boolean rollback() default false; > > > > > > } > > > > > > In OpenEJB's AnnotationDeployer$ProcessAnnotatedBean we have the > > following > > > method which invokes the inherited() method of the ApplicationException > > > annotation: > > > > > > > > > private void processApplicationExceptions(Class<?> clazz, > > > AssemblyDescriptor assemblyDescriptor) { > > > /* > > > * @ApplicationException > > > */ > > > for (Method method : clazz.getMethods()) { > > > for (Class<?> exception : method.getExceptionTypes()) { > > > ApplicationException annotation = > > > exception.getAnnotation(ApplicationException.class); > > > if (annotation == null) continue; > > > if > > > (assemblyDescriptor.getApplicationException(exception) != null) { > > > > > > mergeApplicationExceptionAnnotation(assemblyDescriptor, exception, > > > annotation); > > > } else { > > > logger.debug("Found previously undetected > > > application exception {0} listed on a method {1} with annotation {2}", > > > method, exception, annotation); > > > > > > assemblyDescriptor.addApplicationException(exception, > > > annotation.rollback(), *annotation.inherited()*); > > > } > > > } > > > } > > > } > > > > > > I tried using OpenEJB 3.1.4 in it worked with a basic test. Is version > > 3.x > > > still being maintained? > > > > > > Here is the maven output with debug level: > > > > > > ------------------------------------------------------- > > > T E S T S > > > ------------------------------------------------------- > > > Running OpenEjbIntegrationTest > > > DEBUG - Using default 'tomee.deployement-exception-max-size=10' > > > DEBUG - Using default 'openejb.nobanner=true' > > > INFO - openejb.home = /home/miguel/workspace/... > > > INFO - openejb.base = /home/miguel/workspace/... > > > INFO - Created new singletonService > > > org.apache.openejb.cdi.ThreadSingletonServiceImpl@1ebd75b > > > INFO - Succeeded in installing singleton service > > > DEBUG - Using default > > > 'openejb.assembler=org.apache.openejb.assembler.classic.Assembler' > > > DEBUG - Instantiating assembler class > > > org.apache.openejb.assembler.classic.Assembler > > > DEBUG - Using default 'openejb.jndiname.failoncollision=true' > > > DEBUG - Using default 'javax.ejb.embeddable.EJBContainer=false' > > > DEBUG - Using default > > > 'openejb.configurator=org.apache.openejb.config.ConfigurationFactory' > > > DEBUG - Using default 'openejb.offline=false' > > > DEBUG - Using default 'openejb.validation.skip=false' > > > DEBUG - Using default 'openejb.deploymentId.format={ejbName}' > > > DEBUG - Using default 'openejb.debuggable-vm-hackery=false' > > > DEBUG - Using default 'openejb.webservices.enabled=true' > > > DEBUG - Using default 'openejb.vendor.config=ALL' Possible values are: > > > geronimo, glassfish, jboss, weblogic or NONE or ALL > > > DEBUG - Using default 'openejb.extract.configuration=true' > > > DEBUG - Using default > > > 'openejb.provider.default=org.apache.openejb.embedded' > > > INFO - Configuring Service(id=Default Security Service, > > > type=SecurityService, provider-id=Default Security Service) > > > INFO - Configuring Service(id=Default Transaction Manager, > > > type=TransactionManager, provider-id=Default Transaction Manager) > > > DEBUG - Using default 'openejb.system.apps=false' > > > DEBUG - Using default 'openejb.deployments.classpath=true' > > > DEBUG - Using default 'openejb.exclude-include.order=include-exclude' > > > DEBUG - Using default 'openejb.deployments.classpath.include=.*' > > > DEBUG - Using default 'openejb.deployments.classpath.exclude=' > > > DEBUG - Using default > > > 'openejb.deployments.classpath.require.descriptor=client' Possible > > values > > > are: ejb, client or NONE or ALL > > > DEBUG - Using default > > > 'openejb.deployments.classpath.filter.descriptors=false' > > > DEBUG - Using default > > > 'openejb.deployments.classpath.filter.systemapps=true' > > > DEBUG - Loaded default.exclusions > > > WARN - Inspecting classpath for applications: 72 urls. > > > WARN - ADJUST THE EXCLUDE/INCLUDE!!!. Current settings: > > > openejb.deployments.classpath.exclude='', > > > openejb.deployments.classpath.include='.*' > > > DEBUG - URLs after filtering: 72 > > > DEBUG - Annotations path: jar:file:/home/miguel/.m2/... > > > INFO - Searched 72 classpath urls in 2594 milliseconds. Average 36 > > > milliseconds per url. > > > DEBUG - Using default 'openejb.deployments.classpath.ear=true' > > > INFO - Beginning load: /home/miguel/.m2/repository/... > > > DEBUG - Using default 'antiJarLocking=false' > > > DEBUG - Using default 'openejb.tempclassloader.skip=none' Possible > > values > > > are: none, annotations, enums, all or NONE or ALL > > > DEBUG - Using default 'openejb.tempclassloader.skip=none' Possible > > values > > > are: none, annotations, enums, all or NONE or ALL > > > DEBUG - Using default 'openejb.modulename.useHash=false' > > > DEBUG - Using default 'openejb.modulename.useHash=false' > > > DEBUG - Using default 'openejb.webservices.enabled=true' > > > INFO - Beginning load: /home/miguel/.m2/repository/... > > > DEBUG - Using default 'openejb.tempclassloader.skip=none' Possible > > values > > > are: none, annotations, enums, all or NONE or ALL > > > DEBUG - Using default 'openejb.tempclassloader.skip=none' Possible > > values > > > are: none, annotations, enums, all or NONE or ALL > > > DEBUG - Using default 'openejb.modulename.useHash=false' > > > DEBUG - Using default 'openejb.modulename.useHash=false' > > > DEBUG - Using default 'openejb.webservices.enabled=true' > > > INFO - Beginning load: /home/miguel/workspace/... > > > DEBUG - Using default 'openejb.tempclassloader.skip=none' Possible > > values > > > are: none, annotations, enums, all or NONE or ALL > > > DEBUG - Using default 'openejb.tempclassloader.skip=none' Possible > > values > > > are: none, annotations, enums, all or NONE or ALL > > > DEBUG - Using default 'openejb.modulename.useHash=false' > > > DEBUG - Using default 'openejb.modulename.useHash=false' > > > DEBUG - Using default 'openejb.webservices.enabled=true' > > > INFO - Beginning load: /home/miguel/.m2/repository/... > > > DEBUG - Using default 'openejb.tempclassloader.skip=none' Possible > > values > > > are: none, annotations, enums, all or NONE or ALL > > > DEBUG - Using default 'openejb.tempclassloader.skip=none' Possible > > values > > > are: none, annotations, enums, all or NONE or ALL > > > DEBUG - Using default 'openejb.modulename.useHash=false' > > > DEBUG - Using default 'openejb.modulename.useHash=false' > > > DEBUG - Using default 'openejb.webservices.enabled=true' > > > INFO - Beginning load: /home/miguel/.m2/repository/... > > > DEBUG - Using default 'openejb.tempclassloader.skip=none' Possible > > values > > > are: none, annotations, enums, all or NONE or ALL > > > DEBUG - Using default 'openejb.tempclassloader.skip=none' Possible > > values > > > are: none, annotations, enums, all or NONE or ALL > > > DEBUG - Using default 'openejb.modulename.useHash=false' > > > DEBUG - Using default 'openejb.modulename.useHash=false' > > > DEBUG - Using default 'openejb.webservices.enabled=true' > > > INFO - Beginning load: /home/miguel/.m2/repository/... > > > DEBUG - Using default 'openejb.tempclassloader.skip=none' Possible > > values > > > are: none, annotations, enums, all or NONE or ALL > > > DEBUG - Using default 'openejb.tempclassloader.skip=none' Possible > > values > > > are: none, annotations, enums, all or NONE or ALL > > > DEBUG - Using default 'openejb.modulename.useHash=false' > > > DEBUG - Using default 'openejb.modulename.useHash=false' > > > DEBUG - Using default 'openejb.webservices.enabled=true' > > > INFO - Beginning load: /home/miguel/.m2/repository/... > > > DEBUG - Using default 'openejb.tempclassloader.skip=none' Possible > > values > > > are: none, annotations, enums, all or NONE or ALL > > > DEBUG - Using default 'openejb.tempclassloader.skip=none' Possible > > values > > > are: none, annotations, enums, all or NONE or ALL > > > DEBUG - Using default 'openejb.modulename.useHash=false' > > > DEBUG - Using default 'openejb.modulename.useHash=false' > > > DEBUG - Using default 'openejb.webservices.enabled=true' > > > INFO - Beginning load: /home/miguel/.m2/repository/... > > > DEBUG - Using default 'openejb.tempclassloader.skip=none' Possible > > values > > > are: none, annotations, enums, all or NONE or ALL > > > DEBUG - Using default 'openejb.tempclassloader.skip=none' Possible > > values > > > are: none, annotations, enums, all or NONE or ALL > > > DEBUG - Using default 'openejb.modulename.useHash=false' > > > DEBUG - Using default 'openejb.modulename.useHash=false' > > > DEBUG - Using default 'openejb.webservices.enabled=true' > > > INFO - Beginning load: /home/miguel/.m2/repository/... > > > DEBUG - Using default 'openejb.tempclassloader.skip=none' Possible > > values > > > are: none, annotations, enums, all or NONE or ALL > > > DEBUG - Using default 'openejb.tempclassloader.skip=none' Possible > > values > > > are: none, annotations, enums, all or NONE or ALL > > > DEBUG - Using default 'openejb.modulename.useHash=false' > > > DEBUG - Using default 'openejb.modulename.useHash=false' > > > DEBUG - Using default 'openejb.webservices.enabled=true' > > > INFO - Beginning load: /home/miguel/.m2/repository/... > > > DEBUG - Using default 'openejb.tempclassloader.skip=none' Possible > > values > > > are: none, annotations, enums, all or NONE or ALL > > > DEBUG - Using default 'openejb.tempclassloader.skip=none' Possible > > values > > > are: none, annotations, enums, all or NONE or ALL > > > DEBUG - Using default 'openejb.modulename.useHash=false' > > > DEBUG - Using default 'openejb.modulename.useHash=false' > > > DEBUG - Using default 'openejb.webservices.enabled=true' > > > INFO - Beginning load: /home/miguel/.m2/repository... > > > DEBUG - Using default 'openejb.tempclassloader.skip=none' Possible > > values > > > are: none, annotations, enums, all or NONE or ALL > > > DEBUG - Using default 'openejb.tempclassloader.skip=none' Possible > > values > > > are: none, annotations, enums, all or NONE or ALL > > > DEBUG - Using default 'openejb.modulename.useHash=false' > > > DEBUG - Using default 'openejb.modulename.useHash=false' > > > DEBUG - Using default 'openejb.webservices.enabled=true' > > > INFO - Beginning load: /home/miguel/.m2/repository/... > > > DEBUG - Using default 'openejb.tempclassloader.skip=none' Possible > > values > > > are: none, annotations, enums, all or NONE or ALL > > > DEBUG - Using default 'openejb.tempclassloader.skip=none' Possible > > values > > > are: none, annotations, enums, all or NONE or ALL > > > DEBUG - Using default 'openejb.modulename.useHash=false' > > > DEBUG - Using default 'openejb.modulename.useHash=false' > > > DEBUG - Using default 'openejb.webservices.enabled=true' > > > INFO - Configuring enterprise application: /home/miguel/workspace/... > > > DEBUG - No ejb-jar.xml found assuming annotated beans present: > > > /home/miguel/workspace/... > > > DEBUG - Searching for annotated application exceptions (see > OPENEJB-980) > > > DEBUG - Searching for annotated application exceptions (see > OPENEJB-980) > > > DEBUG - Searching for annotated application exceptions (see > OPENEJB-980) > > > DEBUG - Searching for annotated application exceptions (see > OPENEJB-980) > > > DEBUG - Searching for annotated application exceptions (see > OPENEJB-980) > > > DEBUG - Searching for annotated application exceptions (see > OPENEJB-980) > > > DEBUG - Searching for annotated application exceptions (see > OPENEJB-980) > > > DEBUG - Searching for annotated application exceptions (see > OPENEJB-980) > > > DEBUG - Searching for annotated application exceptions (see > OPENEJB-980) > > > DEBUG - Searching for annotated application exceptions (see > OPENEJB-980) > > > DEBUG - Searching for annotated application exceptions (see > OPENEJB-980) > > > DEBUG - Searching for annotated application exceptions (see > OPENEJB-980) > > > DEBUG - Using default 'openejb.callbacks.override=false' > > > DEBUG - Using default 'openejb.strict.interface.declaration=false' > > > WARN - Method 'lookup' is not available for 'javax.ejb.EJB'. The old > API > > > > 'file:/home/miguel/.m2/repository/javax/ejb/ejb-api/3.0/ejb-api-3.0.jar' > > > was found on the classpath. > > > DEBUG - Using default 'openejb.callbacks.override=false' > > > DEBUG - Using default 'openejb.strict.interface.declaration=false' > > > DEBUG - Using default 'openejb.callbacks.override=false' > > > DEBUG - Using default 'openejb.strict.interface.declaration=false' > > > DEBUG - Using default 'openejb.callbacks.override=false' > > > DEBUG - Using default 'openejb.callbacks.override=false' > > > DEBUG - Using default 'openejb.callbacks.override=false' > > > DEBUG - Using default 'openejb.callbacks.override=false' > > > DEBUG - Using default 'openejb.callbacks.override=false' > > > DEBUG - Using default 'openejb.strict.interface.declaration=false' > > > DEBUG - Using default 'openejb.callbacks.override=false' > > > DEBUG - Using default 'openejb.strict.interface.declaration=false' > > > DEBUG - Using default 'openejb.callbacks.override=false' > > > DEBUG - Using default 'openejb.strict.interface.declaration=false' > > > DEBUG - Using default 'openejb.callbacks.override=false' > > > DEBUG - Using default 'openejb.strict.interface.declaration=false' > > > DEBUG - Using default 'openejb.callbacks.override=false' > > > DEBUG - Using default 'openejb.strict.interface.declaration=false' > > > DEBUG - Using default 'openejb.callbacks.override=false' > > > DEBUG - Using default 'openejb.strict.interface.declaration=false' > > > DEBUG - Using default 'openejb.callbacks.override=false' > > > DEBUG - Using default 'openejb.strict.interface.declaration=false' > > > DEBUG - Using default 'openejb.callbacks.override=false' > > > DEBUG - Using default 'openejb.strict.interface.declaration=false' > > > DEBUG - Using default 'openejb.callbacks.override=false' > > > DEBUG - Using default 'openejb.strict.interface.declaration=false' > > > DEBUG - Using default 'openejb.callbacks.override=false' > > > DEBUG - Using default 'openejb.strict.interface.declaration=false' > > > DEBUG - Using default 'openejb.callbacks.override=false' > > > DEBUG - Using default 'openejb.strict.interface.declaration=false' > > > DEBUG - Using default 'openejb.callbacks.override=false' > > > DEBUG - Using default 'openejb.strict.interface.declaration=false' > > > DEBUG - Using default 'openejb.callbacks.override=false' > > > DEBUG - Using default 'openejb.strict.interface.declaration=false' > > > DEBUG - Using default 'openejb.callbacks.override=false' > > > DEBUG - Using default 'openejb.strict.interface.declaration=false' > > > DEBUG - Using default 'openejb.callbacks.override=false' > > > DEBUG - Found previously undetected application exception public void > > > method() throws Exception listed on a method class Exception with > > > annotation @javax.ejb.ApplicationException(rollback=true) > > > FATAL - OpenEJB has encountered a fatal error and cannot be started: > The > > > Assembler encountered an unexpected error while attempting to build the > > > container system. > > > java.lang.NoSuchMethodError: > javax.ejb.ApplicationException.inherited()Z > > > at > > > > > > > > > org.apache.openejb.config.AnnotationDeployer$ProcessAnnotatedBeans.processApplicationExceptions(AnnotationDeployer.java:2665) > > > at > > > > > > > > > org.apache.openejb.config.AnnotationDeployer$ProcessAnnotatedBeans.deploy(AnnotationDeployer.java:2176) > > > at > > > > > > > > > org.apache.openejb.config.AnnotationDeployer$ProcessAnnotatedBeans.deploy(AnnotationDeployer.java:1662) > > > at > > > > > > > > > org.apache.openejb.config.AnnotationDeployer.deploy(AnnotationDeployer.java:335) > > > at > > > > > > > > > org.apache.openejb.config.ConfigurationFactory$Chain.deploy(ConfigurationFactory.java:363) > > > at > > > > > > > > > org.apache.openejb.config.ConfigurationFactory.configureApplication(ConfigurationFactory.java:850) > > > at > > > > > > > > > org.apache.openejb.config.ConfigurationFactory.configureApplication(ConfigurationFactory.java:728) > > > at > > > > > > > > > org.apache.openejb.config.ConfigurationFactory.getOpenEjbConfiguration(ConfigurationFactory.java:511) > > > at > > > > > > > > > org.apache.openejb.assembler.classic.Assembler.getOpenEjbConfiguration(Assembler.java:361) > > > at > > > > org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:340) > > > at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:144) > > > at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:65) > > > at org.apache.openejb.OpenEJB.init(OpenEJB.java:290) > > > at org.apache.openejb.OpenEJB.init(OpenEJB.java:269) > > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > > at > > > > > > > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > > > at > > > > > > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > > > at java.lang.reflect.Method.invoke(Method.java:597) > > > at > > > org.apache.openejb.loader.OpenEJBInstance.init(OpenEJBInstance.java:36) > > > at > > > > > > > > > org.apache.openejb.core.LocalInitialContextFactory.init(LocalInitialContextFactory.java:69) > > > at > > > > > > > > > org.apache.openejb.core.LocalInitialContextFactory.init(LocalInitialContextFactory.java:51) > > > at > > > > > > > > > org.apache.openejb.core.LocalInitialContextFactory.getInitialContext(LocalInitialContextFactory.java:40) > > > at > > > > javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667) > > > at > > > javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288) > > > at javax.naming.InitialContext.init(InitialContext.java:223) > > > at javax.naming.InitialContext.<init>(InitialContext.java:175) > > > at > > > > > > > > > pt.ptinovacao.ni.common.testframework.OpenEjbIntegrationTest.setup(OpenEjbIntegrationTest.java:18) > > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > > at > > > > > > > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > > > at > > > > > > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > > > at java.lang.reflect.Method.invoke(Method.java:597) > > > at > > > > > > > > > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) > > > at > > > > > > > > > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) > > > at > > > > > > > > > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) > > > at > > > > > > > > > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27) > > > at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) > > > at > > > > > > > > > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68) > > > at > > > > > > > > > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47) > > > at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) > > > at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) > > > at > org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) > > > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) > > > at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) > > > at org.junit.runners.ParentRunner.run(ParentRunner.java:300) > > > at > > > > > > > > > org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62) > > > at > > > > > > > > > org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140) > > > at > > > > > > > > > org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127) > > > at org.apache.maven.surefire.Surefire.run(Surefire.java:177) > > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > > at > > > > > > > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > > > at > > > > > > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > > > at java.lang.reflect.Method.invoke(Method.java:597) > > > at > > > > > > > > > org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345) > > > at > > > > > > > > > org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009) > > > Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 5.449 > sec > > > <<< FAILURE! > > > > > > Results : > > > > > > Tests in error: > > > > testName(pt.ptinovacao.ni.common.testframework.OpenEjbIntegrationTest) > > > > > > Tests run: 1, Failures: 0, Errors: 1, Skipped: 0 > > > > > > [INFO] > > > > ------------------------------------------------------------------------ > > > [ERROR] BUILD FAILURE > > > [INFO] > > > > ------------------------------------------------------------------------ > > > [INFO] There are test failures. > > > > > > Please refer to /home/miguel/workspace/... for the individual test > > results. > > > [INFO] > > > > ------------------------------------------------------------------------ > > > [INFO] For more information, run Maven with the -e switch > > > [INFO] > > > > ------------------------------------------------------------------------ > > > [INFO] Total time: 9 seconds > > > [INFO] Finished at: Fri Oct 19 14:54:42 WEST 2012 > > > [INFO] Final Memory: 37M/251M > > > [INFO] > > > > ------------------------------------------------------------------------ > > > > > > Best regards, > > > Miguel > > > > > > > > > On Fri, Oct 19, 2012 at 2:48 PM, Jean-Louis MONTEIRO < > [email protected] > > > >wrote: > > > > > > > Hello, > > > > > > > > 4.x implements EJB 3.1 > > > > 3.x implements EJB 3.0 > > > > > > > > But EJB 3.1 does not break compatibility AFAIR, then, you should be > > able > > > to > > > > use 4.x. > > > > > > > > Could you share something (logs, etc)? > > > > > > > > JLouis > > > > > > > > > > > > 2012/10/19 Miguel Figueiredo <[email protected]> > > > > > > > > > Hello, > > > > > > > > > > I wan't to use OpenEJB in a JUnit environment in order to test EJBs > > > with > > > > > 3.0 API. Which OpenEJB version should I use for this purpose? > > > > > > > > > > For example I tried to use version 4.5.0 but I got the following > > error: > > > > > > > > > > FATAL - OpenEJB has encountered a fatal error and cannot be > started: > > > The > > > > > Assembler encountered an unexpected error while attempting to build > > the > > > > > container system. > > > > > java.lang.NoSuchMethodError: > > > javax.ejb.ApplicationException.inherited()Z > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.openejb.config.AnnotationDeployer$ProcessAnnotatedBeans.processApplicationExceptions(AnnotationDeployer.java:2665) > > > > > > > > > > Best regards, > > > > > Miguel > > > > > > > > > > -- > > > > > Miguel Figueiredo > > > > > Software Developer > > > > > http://jaragua.dyndns.org > > > > > > > > > > "I'm a pretty lazy person and am prepared to work quite hard in > order > > > to > > > > > avoid work." > > > > > -- Martin Fowler > > > > > > > > > > > > > > > > > > > > > -- > > > Miguel Figueiredo > > > Software Developer > > > http://jaragua.dyndns.org > > > > > > "I'm a pretty lazy person and am prepared to work quite hard in order > to > > > avoid work." > > > -- Martin Fowler > > > > > > > > > -- > Miguel Figueiredo > Software Developer > http://jaragua.dyndns.org > > "I'm a pretty lazy person and am prepared to work quite hard in order to > avoid work." > -- Martin Fowler >
