liurui-1 opened a new issue #2317:
URL: https://github.com/apache/camel-k/issues/2317


   Our Camel integration code cannot run on new  camel-k releases v1.4.0.  
There are a number of Java files in our camel integration app. So, we are using 
some Java files to share some public symbols for example constants and static 
methods. The Java Integrations are working very well on previous camel-k 
releases v1.3.x.  While with the new camel-k releases v1.4.0, it is failed 
because symbols from different Java files are isolated.
   
   For example, we have two Java files: Test1.java and Test2.java.
   
   //Test1.java
   ```
   // camel-k: language=java
   
   import org.apache.camel.builder.RouteBuilder;
   
   public class Test1 extends RouteBuilder {
   
   public static final String info = "from Test1";
   
   @Override
   public void configure() throws Exception {
     from("timer:tm1?period=1000")
       .setBody().constant("test1")
       .to("direct:test2");
   }
   
   }
   ```
   
   Test2.java
   ```
   // camel-k: language=java
   
   import org.apache.camel.builder.RouteBuilder;
   
   public class Test2 extends RouteBuilder {
   
   public void configure() throws Exception {
   
     from("direct:test2")
       .log("${body}")
       .process(exchange -> {
         System.out.println(Test1.info);
       });
   }
   
   }
   
   ```
   
   When you run the Camel integration with following command:
   `kamel run --dev --name mytest Test1.java Test2.java`
   
   You can find following error messages:
   
   ```
   [1] 2021-05-22 15:34:14,256 ERROR [org.apa.cam.qua.mai.CamelMainRuntime] 
(main) Failed to start application: org.apache.camel.RuntimeCamelException: 
org.joor.ReflectException: Compilation error: warning: unknown enum constant 
XmlAccessType.PROPERTY
   [1]   reason: class file for javax.xml.bind.annotation.XmlAccessType not 
found
   [1] warning: unknown enum constant XmlAccessType.NONE
   [1] warning: unknown enum constant XmlAccessType.FIELD
   [1] warning: unknown enum constant XmlAccessType.PROPERTY
   [1] /Test2.java:12: error: cannot find symbol
   [1]       System.out.println(Test1.info);
   [1]                          ^
   [1]   symbol:   variable Test1
   [1]   location: class Test2
   [1] 1 error
   [1] 4 warnings
   [1]
   [1]     at 
org.apache.camel.RuntimeCamelException.wrapRuntimeCamelException(RuntimeCamelException.java:51)
   [1]     at 
org.apache.camel.k.support.SourcesSupport.load(SourcesSupport.java:172)
   [1]     at 
org.apache.camel.k.support.SourcesSupport.loadSources(SourcesSupport.java:86)
   [1]     at 
org.apache.camel.k.listener.SourcesConfigurer.accept(SourcesConfigurer.java:79)
   [1]     at 
org.apache.camel.k.listener.AbstractPhaseListener.accept(AbstractPhaseListener.java:32)
   [1]     at 
org.apache.camel.k.quarkus.Application$ListenerAdapter.invokeListeners(Application.java:135)
   [1]     at 
org.apache.camel.k.quarkus.Application$ListenerAdapter.beforeConfigure(Application.java:97)
   [1]     at 
org.apache.camel.main.BaseMainSupport.postProcessCamelContext(BaseMainSupport.java:533)
   [1]     at 
org.apache.camel.quarkus.main.CamelMain.initCamelContext(CamelMain.java:116)
   [1]     at org.apache.camel.quarkus.main.CamelMain.doInit(CamelMain.java:86)
   [1]     at 
org.apache.camel.support.service.BaseService.init(BaseService.java:83)
   [1]     at 
org.apache.camel.quarkus.main.CamelMain.startEngine(CamelMain.java:137)
   [1]     at 
org.apache.camel.quarkus.main.CamelMainRuntime.start(CamelMainRuntime.java:49)
   [1]     at 
org.apache.camel.quarkus.core.CamelBootstrapRecorder.start(CamelBootstrapRecorder.java:45)
   [1]     at 
io.quarkus.deployment.steps.CamelBootstrapProcessor$boot-173480958.deploy_0(CamelBootstrapProcessor$boot-173480958.zig:101)
   [1]     at 
io.quarkus.deployment.steps.CamelBootstrapProcessor$boot-173480958.deploy(CamelBootstrapProcessor$boot-173480958.zig:40)
   [1]     at io.quarkus.runner.ApplicationImpl.doStart(ApplicationImpl.zig:523)
   [1]     at io.quarkus.runtime.Application.start(Application.java:90)
   [1]     at 
io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:100)
   [1]     at io.quarkus.runtime.Quarkus.run(Quarkus.java:66)
   [1]     at io.quarkus.runtime.Quarkus.run(Quarkus.java:42)
   [1]     at io.quarkus.runtime.Quarkus.run(Quarkus.java:119)
   [1]     at io.quarkus.runner.GeneratedMain.main(GeneratedMain.zig:29)
   [1]     at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   [1]     at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   [1]     at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   [1]     at java.base/java.lang.reflect.Method.invoke(Method.java:566)
   [1]     at 
io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:48)
   [1]     at 
io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:25)
   [1] Caused by: org.joor.ReflectException: Compilation error: warning: 
unknown enum constant XmlAccessType.PROPERTY
   [1]   reason: class file for javax.xml.bind.annotation.XmlAccessType not 
found
   [1] warning: unknown enum constant XmlAccessType.NONE
   [1] warning: unknown enum constant XmlAccessType.FIELD
   [1] warning: unknown enum constant XmlAccessType.PROPERTY
   [1] /Test2.java:12: error: cannot find symbol
   [1]       System.out.println(Test1.info);
   [1]                          ^
   [1]   symbol:   variable Test1
   [1]   location: class Test2
   [1] 1 error
   [1] 4 warnings
   [1]
   [1]     at org.joor.Compile.compile(Compile.java:102)
   [1]     at org.joor.Reflect.compile(Reflect.java:104)
   [1]     at org.joor.Reflect.compile(Reflect.java:79)
   [1]     at 
org.apache.camel.dsl.java.joor.JavaRoutesBuilderLoader.loadRoutesBuilder(JavaRoutesBuilderLoader.java:69)
   [1]     at 
org.apache.camel.impl.engine.DefaultRoutesLoader.findRoutesBuilders(DefaultRoutesLoader.java:100)
   [1]     at 
org.apache.camel.spi.RoutesLoader.findRoutesBuilders(RoutesLoader.java:66)
   [1]     at 
org.apache.camel.k.support.SourcesSupport.load(SourcesSupport.java:165)
   [1]     ... 27 more
   [1]
   [1] 2021-05-22 15:34:14,267 ERROR [io.qua.run.Application] (main) Failed to 
start application (with profile prod): org.joor.ReflectException: Compilation 
error: warning: unknown enum constant XmlAccessType.PROPERTY
   [1]   reason: class file for javax.xml.bind.annotation.XmlAccessType not 
found
   [1] warning: unknown enum constant XmlAccessType.NONE
   [1] warning: unknown enum constant XmlAccessType.FIELD
   [1] warning: unknown enum constant XmlAccessType.PROPERTY
   [1] /Test2.java:12: error: cannot find symbol
   [1]       System.out.println(Test1.info);
   [1]                          ^
   [1]   symbol:   variable Test1
   [1]   location: class Test2
   [1] 1 error
   [1] 4 warnings
   [1]
   [1]     at org.joor.Compile.compile(Compile.java:102)
   [1]     at org.joor.Reflect.compile(Reflect.java:104)
   [1]     at org.joor.Reflect.compile(Reflect.java:79)
   [1]     at 
org.apache.camel.dsl.java.joor.JavaRoutesBuilderLoader.loadRoutesBuilder(JavaRoutesBuilderLoader.java:69)
   [1]     at 
org.apache.camel.impl.engine.DefaultRoutesLoader.findRoutesBuilders(DefaultRoutesLoader.java:100)
   [1]     at 
org.apache.camel.spi.RoutesLoader.findRoutesBuilders(RoutesLoader.java:66)
   [1]     at 
org.apache.camel.k.support.SourcesSupport.load(SourcesSupport.java:165)
   [1]     at 
org.apache.camel.k.support.SourcesSupport.loadSources(SourcesSupport.java:86)
   [1]     at 
org.apache.camel.k.listener.SourcesConfigurer.accept(SourcesConfigurer.java:79)
   [1]     at 
org.apache.camel.k.listener.AbstractPhaseListener.accept(AbstractPhaseListener.java:32)
   [1]     at 
org.apache.camel.k.quarkus.Application$ListenerAdapter.invokeListeners(Application.java:135)
   [1]     at 
org.apache.camel.k.quarkus.Application$ListenerAdapter.beforeConfigure(Application.java:97)
   [1]     at 
org.apache.camel.main.BaseMainSupport.postProcessCamelContext(BaseMainSupport.java:533)
   [1]     at 
org.apache.camel.quarkus.main.CamelMain.initCamelContext(CamelMain.java:116)
   [1]     at org.apache.camel.quarkus.main.CamelMain.doInit(CamelMain.java:86)
   [1]     at 
org.apache.camel.support.service.BaseService.init(BaseService.java:83)
   [1]     at 
org.apache.camel.quarkus.main.CamelMain.startEngine(CamelMain.java:137)
   [1]     at 
org.apache.camel.quarkus.main.CamelMainRuntime.start(CamelMainRuntime.java:49)
   [1]     at 
org.apache.camel.quarkus.core.CamelBootstrapRecorder.start(CamelBootstrapRecorder.java:45)
   [1]     at 
io.quarkus.deployment.steps.CamelBootstrapProcessor$boot-173480958.deploy_0(CamelBootstrapProcessor$boot-173480958.zig:101)
   [1]     at 
io.quarkus.deployment.steps.CamelBootstrapProcessor$boot-173480958.deploy(CamelBootstrapProcessor$boot-173480958.zig:40)
   [1]     at io.quarkus.runner.ApplicationImpl.doStart(ApplicationImpl.zig:523)
   [1]     at io.quarkus.runtime.Application.start(Application.java:90)
   [1]     at 
io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:100)
   [1]     at io.quarkus.runtime.Quarkus.run(Quarkus.java:66)
   [1]     at io.quarkus.runtime.Quarkus.run(Quarkus.java:42)
   [1]     at io.quarkus.runtime.Quarkus.run(Quarkus.java:119)
   [1]     at io.quarkus.runner.GeneratedMain.main(GeneratedMain.zig:29)
   [1]     at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   [1]     at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   [1]     at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   [1]     at java.base/java.lang.reflect.Method.invoke(Method.java:566)
   [1]     at 
io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:48)
   [1]     at 
io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:25)
   [1]
   Condition "Ready" is "False" for Integration mytest
   
   ```
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to