You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2023/11/23 17:47:47 UTC

(camel) branch CAMEL-20141 created (now f0b53ba88f7)

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a change to branch CAMEL-20141
in repository https://gitbox.apache.org/repos/asf/camel.git


      at f0b53ba88f7 CAMEL-20141: Add debug logging to Java compiler via joor to better see what happens

This branch includes the following new commits:

     new f0b53ba88f7 CAMEL-20141: Add debug logging to Java compiler via joor to better see what happens

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(camel) 01/01: CAMEL-20141: Add debug logging to Java compiler via joor to better see what happens

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch CAMEL-20141
in repository https://gitbox.apache.org/repos/asf/camel.git

commit f0b53ba88f7b6d31243ff69554cb7e7728bcd831
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Nov 23 16:54:21 2023 +0100

    CAMEL-20141: Add debug logging to Java compiler via joor to better see what happens
---
 .../java/org/apache/camel/language/joor/JoorCompiler.java     |  2 ++
 .../org/apache/camel/language/joor/JoorScriptingCompiler.java |  2 ++
 .../java/org/apache/camel/dsl/java/joor/CompilationUnit.java  |  5 +++++
 .../apache/camel/dsl/java/joor/JavaRoutesBuilderLoader.java   |  5 ++++-
 .../java/org/apache/camel/dsl/java/joor/MultiCompile.java     | 11 +++++++++++
 5 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorCompiler.java b/components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorCompiler.java
index d6e59d2f94f..b957440d29e 100644
--- a/components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorCompiler.java
+++ b/components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorCompiler.java
@@ -104,8 +104,10 @@ public class JoorCompiler extends ServiceSupport implements StaticService {
             if (LOG.isDebugEnabled()) {
                 LOG.debug("Compiling code:\n\n{}\n", code);
             }
+            LOG.debug("Compiling: {}", className);
             Reflect ref = Reflect.compile(className, code);
             Class<?> clazz = ref.type();
+            LOG.debug("Compiled to Java class: {}", clazz);
             answer = (JoorMethod) clazz.getConstructor(CamelContext.class).newInstance(camelContext);
         } catch (Exception e) {
             throw new JoorCompilationException(className, code, e);
diff --git a/components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorScriptingCompiler.java b/components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorScriptingCompiler.java
index 7855cca7708..1be6bc8e29c 100644
--- a/components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorScriptingCompiler.java
+++ b/components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorScriptingCompiler.java
@@ -93,8 +93,10 @@ public class JoorScriptingCompiler extends ServiceSupport implements StaticServi
                 co = new CompileOptions();
                 co = co.classLoader(cl);
             }
+            LOG.debug("Compiling: {}", className);
             Reflect ref = Reflect.compile(className, code, co);
             Class<?> clazz = ref.type();
+            LOG.debug("Compiled to Java class: {}", clazz);
             answer = (JoorScriptingMethod) clazz.getConstructor(CamelContext.class).newInstance(camelContext);
         } catch (Exception e) {
             throw new JoorCompilationException(className, code, e);
diff --git a/dsl/camel-java-joor-dsl/src/main/java/org/apache/camel/dsl/java/joor/CompilationUnit.java b/dsl/camel-java-joor-dsl/src/main/java/org/apache/camel/dsl/java/joor/CompilationUnit.java
index e53b365f1ec..3f802eafc50 100644
--- a/dsl/camel-java-joor-dsl/src/main/java/org/apache/camel/dsl/java/joor/CompilationUnit.java
+++ b/dsl/camel-java-joor-dsl/src/main/java/org/apache/camel/dsl/java/joor/CompilationUnit.java
@@ -112,4 +112,9 @@ public class CompilationUnit {
         return files;
     }
 
+    @Override
+    public String toString() {
+        String names = String.join(", ", files.keySet());
+        return "CompilationUnit[" + names + "]";
+    }
 }
diff --git a/dsl/camel-java-joor-dsl/src/main/java/org/apache/camel/dsl/java/joor/JavaRoutesBuilderLoader.java b/dsl/camel-java-joor-dsl/src/main/java/org/apache/camel/dsl/java/joor/JavaRoutesBuilderLoader.java
index 54ea61bf897..b3605946ff7 100644
--- a/dsl/camel-java-joor-dsl/src/main/java/org/apache/camel/dsl/java/joor/JavaRoutesBuilderLoader.java
+++ b/dsl/camel-java-joor-dsl/src/main/java/org/apache/camel/dsl/java/joor/JavaRoutesBuilderLoader.java
@@ -181,7 +181,10 @@ public class JavaRoutesBuilderLoader extends ExtendedRouteBuilderLoaderSupport {
             }
         }
 
-        LOG.debug("Compiling unit: {}", unit);
+        if (LOG.isDebugEnabled()) {
+            String names = String.join(", ", unit.getInput().keySet());
+            LOG.debug("Compiling: {}", names);
+        }
         CompilationUnit.Result result = MultiCompile.compileUnit(unit);
 
         // remember the last loaded resource-set if route reloading is enabled
diff --git a/dsl/camel-java-joor-dsl/src/main/java/org/apache/camel/dsl/java/joor/MultiCompile.java b/dsl/camel-java-joor-dsl/src/main/java/org/apache/camel/dsl/java/joor/MultiCompile.java
index 05a85739c67..24984f7ad82 100644
--- a/dsl/camel-java-joor-dsl/src/main/java/org/apache/camel/dsl/java/joor/MultiCompile.java
+++ b/dsl/camel-java-joor-dsl/src/main/java/org/apache/camel/dsl/java/joor/MultiCompile.java
@@ -94,7 +94,9 @@ public final class MultiCompile {
             try {
                 Class<?> clazz = cl.loadClass(cn);
                 result.addResult(cn, clazz, null);
+                LOG.debug("Class already compiled: {}", cn);
             } catch (ClassNotFoundException ignore) {
+                LOG.debug("Class must be compiled: {}", cn);
                 files.add(new CharSequenceJavaFileObject(cn, code));
             }
         });
@@ -143,7 +145,11 @@ public final class MultiCompile {
             StringWriter out = new StringWriter();
             CompilationTask task = compiler.getTask(out, fileManager, dc, options, null, files);
 
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Compiling files: {}", files);
+            }
             boolean success = task.call();
+            LOG.debug("Compiled success: {}", success);
             // after compilation then we need to clean up some unexpected output
             cleanupWaste();
 
@@ -351,6 +357,11 @@ public final class MultiCompile {
         public CharSequence getCharContent(boolean ignoreEncodingErrors) {
             return content;
         }
+
+        @Override
+        public String toString() {
+            return className;
+        }
     }
 
     /**