Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-5507

CamelBlueprintTestSupport Cannot correctly delete target\bundles\routetest.jar

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.10.0
    • 2.10.1, 2.11.0
    • camel-test, osgi
    • None
    • Windows 7, Fuse IDE

    • Unknown

    Description

      When creating a new fuse project using the camel-blueprint archetype and having multiple test methods it has problems deleting 'target\bundles\routetest.jar' in the setUp method of CamelBlueprintTestSupport

      Reproduction steps:

      • Create new fuse project from camel-blueprint archetype
      • Open the RouteTest.java in (src/test/java/com/mycompany/camel/blueprint/RouteTest.java)
      • Copy the 'testRoute()' method a couple of times and give it a different method name to best see this problem.
      • Run the maven tests

      The console will say this after the first test runs:

                          Thread-7] BlueprintCamelContext          INFO  Apache Camel 2.9.0.fuse-7-061 (CamelContext: blueprintContext) is shutdown in 0.005 seconds. Uptime 0.085 seconds.
      [                          main] TestSupport                    WARN  Deletion of file: C:\FuseIDEEnterprise-2.1.462\workspace\camel-blueprint\target\bundles\routetest.jar failed
      [                          main] TestSupport                    WARN  Deletion of file: C:\FuseIDEEnterprise-2.1.462\workspace\camel-blueprint\target\bundles failed
      [                          main] TestSupport                    WARN  Deletion of file: C:\FuseIDEEnterprise-2.1.462\workspace\camel-blueprint\target\bundles\routetest.jar failed
      [                          main] TestSupport                    WARN  Deletion of file: C:\FuseIDEEnterprise-2.1.462\workspace\camel-blueprint\target\bundles failed
      [                          main] TestSupport                    WARN  Deletion of file: C:\FuseIDEEnterprise-2.1.462\workspace\camel-blueprint\target\bundles\routetest.jar failed
      [                          main] TestSupport                    WARN  Deletion of file: C:\FuseIDEEnterprise-2.1.462\workspace\camel-blueprint\target\bundles failed
      [                          main] TestSupport                    WARN  Deletion of file: C:\FuseIDEEnterprise-2.1.462\workspace\camel-blueprint\target\bundles\routetest.jar failed
      [                          main] TestSupport                    WARN  Deletion of file: C:\FuseIDEEnterprise-2.1.462\workspace\camel-blueprint\target\bundles failed
      [                          main] TestSupport                    WARN  Deletion of file: C:\FuseIDEEnterprise-2.1.462\workspace\camel-blueprint\target\bundles\routetest.jar failed
      [                          main] TestSupport                    WARN  Deletion of file: C:\FuseIDEEnterprise-2.1.462\workspace\camel-blueprint\target\bundles failed
      [                          main] CamelBlueprintHelper           INFO  Using Blueprint XML file: /C:/FuseIDEEnterprise-2.1.462/workspace/camel-blueprint/target/classes/OSGI-INF/blueprint/blueprint.xml
      

      You can also also get PojoSR class loader issues when running the exact same project as JUnit tests, rather than maven tests. But these errors may be related so I won't raise a ticket for that.

      I will however give the stack trace for this, in case it isn't related

      org.osgi.framework.BundleException: Unable to start bundle
      	at de.kalpatec.pojosr.framework.PojoSRBundle.start(PojoSRBundle.java:144)
      	at de.kalpatec.pojosr.framework.PojoSR.startBundles(PojoSR.java:405)
      	at de.kalpatec.pojosr.framework.PojoSR.<init>(PojoSR.java:322)
      	at de.kalpatec.pojosr.framework.PojoServiceRegistryFactoryImpl.newPojoServiceRegistry(PojoServiceRegistryFactoryImpl.java:51)
      	at org.apache.camel.test.blueprint.CamelBlueprintHelper.createBundleContext(CamelBlueprintHelper.java:111)
      	at org.apache.camel.test.blueprint.CamelBlueprintTestSupport.setUp(CamelBlueprintTestSupport.java:35)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.lang.reflect.Method.invoke(Unknown Source)
      	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
      	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
      	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
      	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
      	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
      	at org.junit.rules.TestWatchman$1.evaluate(TestWatchman.java:48)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
      	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
      	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
      	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
      	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
      	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
      	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
      	at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
      	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
      	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
      	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
      	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
      	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
      	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
      Caused by: java.lang.NoClassDefFoundError: org/eclipse/core/runtime/Plugin
      	at java.lang.ClassLoader.defineClass1(Native Method)
      	at java.lang.ClassLoader.defineClass(Unknown Source)
      	at java.security.SecureClassLoader.defineClass(Unknown Source)
      	at java.net.URLClassLoader.defineClass(Unknown Source)
      	at java.net.URLClassLoader.access$100(Unknown Source)
      	at java.net.URLClassLoader$1.run(Unknown Source)
      	at java.net.URLClassLoader$1.run(Unknown Source)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at java.net.URLClassLoader.findClass(Unknown Source)
      	at java.lang.ClassLoader.loadClass(Unknown Source)
      	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
      	at java.lang.ClassLoader.loadClass(Unknown Source)
      	at de.kalpatec.pojosr.framework.PojoSRBundle.start(PojoSRBundle.java:130)
      	... 30 more
      Caused by: java.lang.ClassNotFoundException: org.eclipse.core.runtime.Plugin
      	at java.net.URLClassLoader$1.run(Unknown Source)
      	at java.net.URLClassLoader$1.run(Unknown Source)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at java.net.URLClassLoader.findClass(Unknown Source)
      	at java.lang.ClassLoader.loadClass(Unknown Source)
      	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
      	at java.lang.ClassLoader.loadClass(Unknown Source)
      	... 43 more
      

      Attachments

        Activity

          People

            davsclaus Claus Ibsen
            alanfoster Alan Foster
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: