This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push: new 33b383e1193 CAMEL-21948: camel-console - BeanDevConsole should ignore lazy bean that cannot be loaded 33b383e1193 is described below commit 33b383e1193fbee4bbf6d3b28445cc8f0e5339b1 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Thu Apr 17 10:17:20 2025 +0200 CAMEL-21948: camel-console - BeanDevConsole should ignore lazy bean that cannot be loaded --- .../apache/camel/impl/console/BeanDevConsole.java | 159 +++++++++++---------- 1 file changed, 83 insertions(+), 76 deletions(-) diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/BeanDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/BeanDevConsole.java index 1c0ec76b95f..566c04d1a32 100644 --- a/core/camel-console/src/main/java/org/apache/camel/impl/console/BeanDevConsole.java +++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/BeanDevConsole.java @@ -66,37 +66,41 @@ public class BeanDevConsole extends AbstractDevConsole { StringBuilder sb = new StringBuilder(); BeanIntrospection bi = PluginHelper.getBeanIntrospection(getCamelContext()); - Map<String, Object> beans = getCamelContext().getRegistry().findByTypeWithName(Object.class); - Stream<String> keys = beans.keySet().stream().filter(r -> accept(r, filter)).sorted(String::compareToIgnoreCase); - keys.forEach(k -> { - Object bean = beans.get(k); - if (bean != null) { - boolean include = internal || !bean.getClass().getName().startsWith("org.apache.camel."); - if (include) { - sb.append(String.format(" %s (class: %s)%n", k, bean.getClass().getName())); - - Map<String, Object> values = new TreeMap<>(); - if (properties) { - try { - bi.getProperties(bean, values, null); - } catch (Throwable e) { - // ignore - } - values.forEach((pk, pv) -> { - if (pv == null) { - if (nulls) { - sb.append(String.format(" %s = null%n", pk)); - } - } else { - String t = pv.getClass().getName(); - sb.append(String.format(" %s (%s) = %s%n", pk, t, pv)); + try { + Map<String, Object> beans = getCamelContext().getRegistry().findByTypeWithName(Object.class); + Stream<String> keys = beans.keySet().stream().filter(r -> accept(r, filter)).sorted(String::compareToIgnoreCase); + keys.forEach(k -> { + Object bean = beans.get(k); + if (bean != null) { + boolean include = internal || !bean.getClass().getName().startsWith("org.apache.camel."); + if (include) { + sb.append(String.format(" %s (class: %s)%n", k, bean.getClass().getName())); + + Map<String, Object> values = new TreeMap<>(); + if (properties) { + try { + bi.getProperties(bean, values, null); + } catch (Throwable e) { + // ignore } - }); + values.forEach((pk, pv) -> { + if (pv == null) { + if (nulls) { + sb.append(String.format(" %s = null%n", pk)); + } + } else { + String t = pv.getClass().getName(); + sb.append(String.format(" %s (%s) = %s%n", pk, t, pv)); + } + }); + } } } - } - sb.append("\n"); - }); + sb.append("\n"); + }); + } catch (Exception e) { + // ignore + } return sb.toString(); } @@ -113,58 +117,61 @@ public class BeanDevConsole extends AbstractDevConsole { root.put("beans", jo); BeanIntrospection bi = PluginHelper.getBeanIntrospection(getCamelContext()); - Map<String, Object> beans = getCamelContext().getRegistry().findByTypeWithName(Object.class); - Stream<String> keys = beans.keySet().stream().filter(r -> accept(r, filter)).sorted(String::compareToIgnoreCase); - - keys.forEach(k -> { - Object bean = beans.get(k); - if (bean != null) { - boolean include = internal || !bean.getClass().getName().startsWith("org.apache.camel."); - if (include) { - Map<String, Object> values = new TreeMap<>(); - if (properties) { - try { - bi.getProperties(bean, values, null); - } catch (Throwable e) { - // ignore + try { + Map<String, Object> beans = getCamelContext().getRegistry().findByTypeWithName(Object.class); + Stream<String> keys = beans.keySet().stream().filter(r -> accept(r, filter)).sorted(String::compareToIgnoreCase); + keys.forEach(k -> { + Object bean = beans.get(k); + if (bean != null) { + boolean include = internal || !bean.getClass().getName().startsWith("org.apache.camel."); + if (include) { + Map<String, Object> values = new TreeMap<>(); + if (properties) { + try { + bi.getProperties(bean, values, null); + } catch (Throwable e) { + // ignore + } } - } - JsonObject jb = new JsonObject(); - jb.put("name", k); - jb.put("type", bean.getClass().getName()); - jo.put(k, jb); - - if (!values.isEmpty()) { - JsonArray arr = new JsonArray(); - values.forEach((pk, pv) -> { - Object value = pv; - String type = pv != null ? pv.getClass().getName() : null; - if (type != null) { - value = Jsoner.trySerialize(pv); - if (value == null) { - // cannot serialize so escape - value = Jsoner.escape(pv.toString()); - } else { - // okay so use the value as-s - value = pv; + JsonObject jb = new JsonObject(); + jb.put("name", k); + jb.put("type", bean.getClass().getName()); + jo.put(k, jb); + + if (!values.isEmpty()) { + JsonArray arr = new JsonArray(); + values.forEach((pk, pv) -> { + Object value = pv; + String type = pv != null ? pv.getClass().getName() : null; + if (type != null) { + value = Jsoner.trySerialize(pv); + if (value == null) { + // cannot serialize so escape + value = Jsoner.escape(pv.toString()); + } else { + // okay so use the value as-s + value = pv; + } } - } - JsonObject jp = new JsonObject(); - jp.put("name", pk); - if (type != null) { - jp.put("type", type); - } - jp.put("value", value); - boolean accept = value != null || nulls; - if (accept) { - arr.add(jp); - } - }); - jb.put("properties", arr); + JsonObject jp = new JsonObject(); + jp.put("name", pk); + if (type != null) { + jp.put("type", type); + } + jp.put("value", value); + boolean accept = value != null || nulls; + if (accept) { + arr.add(jp); + } + }); + jb.put("properties", arr); + } } } - } - }); + }); + } catch (Exception e) { + // ignore + } return root; }