Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
0.5-incubating
-
None
-
None
Description
When using EJB timers in a batch and running this batch with the CLI runner, the following exception is thrown during startup:
Exception in thread "main" java.lang.reflect.InvocationTargetException 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.batchee.cli.bootstrap.Bootstrap.main(Bootstrap.java:62) Caused by: org.apache.batchee.container.exception.BatchContainerRuntimeException: org.apache.openejb.OpenEJBException: Creating application failed: /home/alexander/batchee/sample-batch.war: org/apache/openejb/quartz/SchedulerException at org.apache.batchee.cli.lifecycle.impl.OpenEJBLifecycle.start(OpenEJBLifecycle.java:83) at org.apache.batchee.cli.command.JobOperatorCommand.run(JobOperatorCommand.java:180) at org.apache.batchee.cli.BatchEECLI.main(BatchEECLI.java:166) ... 5 more Caused by: org.apache.openejb.OpenEJBException: Creating application failed: /home/alexander/batchee/sample-batch.war: org/apache/openejb/quartz/SchedulerException at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:1050) at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:721) at org.apache.batchee.cli.lifecycle.impl.OpenEJBLifecycle.start(OpenEJBLifecycle.java:79) ... 7 more Caused by: java.lang.NoClassDefFoundError: org/apache/openejb/quartz/SchedulerException at org.apache.openejb.assembler.classic.Assembler.initEjbs(Assembler.java:1506) at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:908) ... 9 more Caused by: java.lang.ClassNotFoundException: org.apache.openejb.quartz.SchedulerException at org.apache.batchee.cli.classloader.ChildFirstURLClassLoader.loadClass(ChildFirstURLClassLoader.java:173) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 11 more
I had a look at the dependencies and assembly/bin-openejb.xml and it looks like quartz-openejb-shade is still in the old org.apache.openejb.shade group (https://repo1.maven.org/maven2/org/apache/tomee/shade produces a 404).