Alex Savitsky created CAMEL-8541: ------------------------------------ Summary: Came main TestSupport class is incompatible with the CDI specification Key: CAMEL-8541 URL: https://issues.apache.org/jira/browse/CAMEL-8541 Project: Camel Issue Type: Bug Components: camel-test Affects Versions: 2.14.2, 2.12.5 Reporter: Alex Savitsky
JUnit4 test support class (org.apache.camel.test.junit4.TestSupport) contains the following declaration: {noformat} // CHECKSTYLE:OFF @Rule public TestName testName = new TestName(); // CHECKSTYLE:ON {noformat} In addition to being a terrible idea overall, this public field also breaks CDI integration, as any tests attempted to be bootstrapped in CDI will throw the following error (WELD trace is shown for an example): {noformat} org.jboss.weld.exceptions.DefinitionException: WELD-000075: Normal scoped managed bean implementation class has a public field: [EnhancedAnnotatedFieldImpl] @Rule public com.netotc.ha.route.TestCDI.testName at org.jboss.weld.bean.ManagedBean.checkBeanImplementation(ManagedBean.java:227) at org.jboss.weld.bean.AbstractClassBean.internalInitialize(AbstractClassBean.java:74) at org.jboss.weld.bean.ManagedBean.internalInitialize(ManagedBean.java:105) at org.jboss.weld.bean.RIBean.initialize(RIBean.java:66) at org.jboss.weld.bootstrap.ConcurrentBeanDeployer$5.doWork(ConcurrentBeanDeployer.java:121) at org.jboss.weld.bootstrap.ConcurrentBeanDeployer$5.doWork(ConcurrentBeanDeployer.java:118) at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:60) at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:53) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) {noformat} Suggesting to create a getter for this field, making the field private, and moving the @Rule annotation to the getter. -- This message was sent by Atlassian JIRA (v6.3.4#6332)