GVKun编程网logo

我们什么时候应该暂停,停止 Camel 路由器?我们应该让他们一直活着吗?

1

本文将为您提供关于我们什么时候应该暂停,停止Camel路由器?我们应该让他们一直活着吗?的详细介绍,同时,我们还将为您提供关于4K解码+路由器+HDMI收发ARM4核64bit、ApacheCamel

本文将为您提供关于我们什么时候应该暂停,停止 Camel 路由器?我们应该让他们一直活着吗?的详细介绍,同时,我们还将为您提供关于4K 解码 + 路由器 + HDMI 收发 ARM 4核64bit、Apache Camel 3.X迁移-ClassNotFoundException:org.apache.camel.impl.BreakpointSupport、Apache Camel camel-ldap 组件存在 LDAP 注入漏洞、Apache Camel camel-openapi-java模式定义无法正确生成的实用信息。

本文目录一览:

我们什么时候应该暂停,停止 Camel 路由器?我们应该让他们一直活着吗?

我们什么时候应该暂停,停止 Camel 路由器?我们应该让他们一直活着吗?

如何解决我们什么时候应该暂停,停止 Camel 路由器?我们应该让他们一直活着吗?

我们有多种不同的集成,每个都有自己的延迟要求。这些流可以每 1 天、1 小时或几分钟调用一次。我们应该考虑停止路由器还是挂起它们?这两者在内存使用方面的性能差异有多大?如果我们让所有路由器都保持活动状态有多糟糕?我使用文件组件做了一个简单的测试,将文件从一个目录移动到另一个目录。我看到骆驼在很短的时间间隔内进行轮询。我假设如果我们让所有路由器保持活动状态,它们将消耗大量资源,因为它们需要不断轮询。

当连接保持打开时,这对 websocket 组件有什么影响吗?

4K 解码 + 路由器 + HDMI 收发 ARM 4核64bit

4K 解码 + 路由器 + HDMI 收发 ARM 4核64bit

日前蓝莓电子技术有限公司宣布推出Blueberry Pi (A),它是基于Realtek 129x处理器设计,套件基于Linaro的96board规范.


Blueberry Pi的亮点包括:

系统和外围:

ARM Cortex-A53 Quad-Core processor with floating-point unit and NEON SIMD engine embedded, supporting the 64/32-bit ARMv8 architecture

ARM T820 GPU – Mali-450 8-core equivalent

Supports SATA III

Supports PCI Express1.1/2.0

Supports SDIO 3.0 interface

...

独立音视频DSP

Video DSP with HW acceleration

Decoding:

H.265 MP@L5.1 Main Tier

VP9 Profile 0

...

Encoding:

MPEG 4 SP@L5

H.264 BP, MP, HP@L4.2

H.264 MVC SHP 1080@30P


Audio DSP with HW acceleration

Decoding:

7.1 CH down-mix

MPEG I Layer 1, 2, 3 (2-CH) and MPEG II Layer 1, 2 (Multi-Channel)

LPCM, ADPCM, ALAC, FLAC, AAC, WAV, AIFF, VSELP, and OGG Vorbis

DTS HD, Dolby Digital Plus, TrueHD

WMA/WMA Pro, Dolby Digital AC3, and DTS

Recording:

LPCM/ADPCM/MP3/AAC audio recording


网络接口:

Supports RGMII/SGMII

Integrates 10/100/1000 Ethernet MAC and PHY

Integrates hardware NAT and IP6 engine for AP router application


存储接口:

Integrates USB3.0 Super Speed Dual-Role Device controller and PHY

with supports for Type C receptacle


HDMI 输出:

HDMI2.0a/MHL3.0,HDCP,and DVI 1.0 compliant transmitter

HDMI 输入:

One-chanel HDMI 2.0a compliant receiver

Supports video format up to 4K x 2k@59.94/60HZ


系统软件:

支持Android 6.x/Linux + OpenWrt


alex@blueberry-tek.com

13509624205


Apache Camel 3.X迁移-ClassNotFoundException:org.apache.camel.impl.BreakpointSupport

Apache Camel 3.X迁移-ClassNotFoundException:org.apache.camel.impl.BreakpointSupport

如何解决Apache Camel 3.X迁移-ClassNotFoundException:org.apache.camel.impl.BreakpointSupport

将应用程序从2.X迁移到3.X时,构建成功,但测试失败,并出现ClassNotFoundException:org.apache.camel.impl.BreakpointSupport

java.lang.NoClassDefFoundError: org/apache/camel/impl/BreakpointSupport
    at java.lang.classLoader.defineClass1(Native Method)
    at java.lang.classLoader.defineClass(ClassLoader.java:763)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.urlclassloader.defineClass(urlclassloader.java:467)
    at java.net.urlclassloader.access$100(urlclassloader.java:73)
    at java.net.urlclassloader$1.run(urlclassloader.java:368)
    at java.net.urlclassloader$1.run(urlclassloader.java:362)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.urlclassloader.findClass(urlclassloader.java:361)
    at java.lang.classLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.classLoader.loadClass(ClassLoader.java:357)
    at java.lang.class.getDeclaredClasses0(Native Method)
    at java.lang.class.getDeclaredClasses(Class.java:1867)
    at java.lang.class$2.run(Class.java:1504)
    at java.lang.class$2.run(Class.java:1499)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.lang.class.getClasses(Class.java:1498)
    at org.testng.internal.ClassInfoMap.registerClass(ClassInfoMap.java:43)
    at org.testng.internal.ClassInfoMap.<init>(ClassInfoMap.java:29)
    at org.testng.internal.ClassInfoMap.<init>(ClassInfoMap.java:21)
    at org.testng.TestRunner.initMethods(TestRunner.java:369)
    at org.testng.TestRunner.init(TestRunner.java:271)
    at org.testng.TestRunner.init(TestRunner.java:241)
    at org.testng.TestRunner.<init>(TestRunner.java:167)
    at org.testng.SuiteRunner$DefaultTestRunnerFactory.newTestRunner(SuiteRunner.java:663)
    at org.testng.SuiteRunner.init(SuiteRunner.java:260)
    at org.testng.SuiteRunner.<init>(SuiteRunner.java:198)
    at org.testng.TestNG.createSuiteRunner(TestNG.java:1295)
    at org.testng.TestNG.createSuiteRunners(TestNG.java:1273)
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1128)
    at org.testng.TestNG.runSuites(TestNG.java:1049)
    at org.testng.TestNG.run(TestNG.java:1017)
    at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:72)
    at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:123)
Caused by: java.lang.classNotFoundException: org.apache.camel.impl.BreakpointSupport
    at java.net.urlclassloader.findClass(urlclassloader.java:381)
    at java.lang.classLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.classLoader.loadClass(ClassLoader.java:357)
    ... 35 more```
pom.xml
${camel.version} --> 3.5.0 (tried 3.1.0 to 3.5.0)
${testng.version} --> 6.14.3
<dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-spring</artifactId>
        <version>${camel.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-support</artifactId>
        <version>${camel.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-base</artifactId>
        <version>${camel.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-core</artifactId>
        <version>${camel.version}</version>
      </dependency>
      <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>${testng.version}</version>
        <scope>test</scope>
      </dependency>

类:BreakpointSupport未在应用程序中使用,它主要是来自骆驼模块之一的引用,在最新版本的骆驼中,BreakpointSupport已移至org.apache.camel.processor.interceptor,但仍在尝试从旧位置获取。

解决方法

发现了问题!

camel-testng已过时,骆驼鼓励使用junit。 转向Junit5解决了该问题。

Apache Camel camel-ldap 组件存在 LDAP 注入漏洞

Apache Camel camel-ldap 组件存在 LDAP 注入漏洞

漏洞描述

Apache Camel 是一个基于规则路由和中介引擎,提供企业集成模式的 Java 对象的实现,通过应用程序接口来配置路由和中介的规则。

受影响版本的 Apache Camel 的 camel-ldap 组件中由于 LdapProducer.java 类没有对 ldap 搜索字符串有效过滤存在 ldap 注入漏洞。攻击者可利用此漏洞向 camel-ldap 服务发送恶意构造 ldap 搜索字符串绕过 ldap 过滤器,从而获取对 Apache Camel 目录的未授权访问权限,查看或修改系统目录中的敏感文件信息。

漏洞名称 Apache Camel camel-ldap 组件存在 LDAP 注入漏洞
漏洞类型 LDAP查询中使用的特殊元素转义处理不恰当(LDAP注入)
发现时间 2022-12-06
漏洞影响广度
MPS编号 MPS-2022-63953
CVE编号 CVE-2022-45046
CNVD编号 -

影响范围

org.apache.camel:camel-ldap@[3.14.0, 3.14.6)

org.apache.camel:camel-ldap@[3.18.0, 3.18.4)

修复方案

升级org.apache.camel:apache-camel到 3.14.6 或 3.18.4 或更高版本

参考链接

https://www.oscs1024.com/hd/MPS-2022-63953

https://nvd.nist.gov/vuln/detail/CVE-2022-45046

https://camel.apache.org/security/CVE-2022-45046.html

https://github.com/apache/camel/commit/ad44f93fa9df74b2accde0b8812f6798f92ad0bf

    

情报订阅

OSCS(开源软件供应链安全社区)通过最快、最全的方式,发布开源项目最新的安全风险动态,包括开源组件安全漏洞、事件等信息。同时提供漏洞、投毒情报的免费订阅服务,社区用户可通过配置飞书、钉钉、企业微信机器人,及时获得一手情报信息推送:

https://www.oscs1024.com/cm/?src=osc

具体订阅方式详见:

https://www.oscs1024.com/docs/vuln-warning/intro/?src=osc

Apache Camel camel-openapi-java模式定义无法正确生成

Apache Camel camel-openapi-java模式定义无法正确生成

如何解决Apache Camel camel-openapi-java模式定义无法正确生成

我在Apache Camel中遇到一个问题,在我的RestDeFinition type outType 中定义的POJO在我的openapi模式中无法正确生成。当我换回旧的camel-swagger-java组件时,我的架构正在正确生成所有对象定义,但是这是在swagger v2中而不是openapi v3中,这就是为什么我要使用此组件。

在这里我缺少什么可以让骆驼openapi-java正确生成吗?

依赖版本:

camel / camel-openapi-java = v 3.4.3

示例类别:

public class RequestBean {

    private int propertyA;
    private boolean propertyB;

    public int getPropertyA() {
        return propertyA;
    }

    public void setPropertyA(int propertyA) {
        this.propertyA = propertyA;
    }

    public boolean isPropertyB() {
        return propertyB;
    }

    public void setPropertyB(boolean propertyB) {
        this.propertyB = propertyB;
    }
}
public class JavaBean {
    private String propertyA;
    private String propertyB;
    private int propertyC;

    public String getPropertyA() {
        return propertyA;
    }

    public void setPropertyA(String propertyA) {
        this.propertyA = propertyA;
    }

    public String getPropertyB() {
        return propertyB;
    }

    public void setPropertyB(String propertyB) {
        this.propertyB = propertyB;
    }

    public int getPropertyC() {
        return propertyC;
    }

    public void setPropertyC(int propertyC) {
        this.propertyC = propertyC;
    }
}

其他配置和定义:


 restConfiguration()
                .apiComponent("openapi")
                .bindingMode(RestBindingMode.json)
                .apicontextpath("api-doc")
                .apiProperty("api.title","Test Camel Service")
                .apiProperty("api.version","1.0.0")
                .apiProperty("cors","true");




        rest()
                .path("/test")
                .description("Test Path")
                .post("testPost").id("testPost").consumes("application/json").produces("application/json")
                .type(RequestBean.class)
                .outType(JavaBean.class)
             .to("direct:a");

生成的架构:

{
  "openapi" : "3.0.2","info" : {
    "title" : "Test Camel Service","version" : "1.0.0"
  },"servers" : [ {
    "url" : ""
  } ],"paths" : {
    "/test/testPost" : {
      "post" : {
        "requestBody" : {
          "description" : "","content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RequestBean"
              }
            }
          },"required" : true
        },"tags" : [ "test" ],"responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/JavaBean"
                }
              }
            },"description" : "Output type"
          }
        },"operationId" : "testPost","x-camelContextId" : "camel-1","x-routeId" : "testPost"
      }
    }
  },"components" : {
    "schemas" : {
      "RequestBean" : {
        "type" : "RequestBean","x-className" : {
          "format" : "com.example.test.RequestBean","type" : "string"
        }
      },"JavaBean" : {
        "type" : "JavaBean","x-className" : {
          "format" : "com.example.test.JavaBean","type" : "string"
        }
      }
    }
  },"tags" : [ {
    "name" : "test","description" : "Test Path"
  } ]
}

关于我们什么时候应该暂停,停止 Camel 路由器?我们应该让他们一直活着吗?的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于4K 解码 + 路由器 + HDMI 收发 ARM 4核64bit、Apache Camel 3.X迁移-ClassNotFoundException:org.apache.camel.impl.BreakpointSupport、Apache Camel camel-ldap 组件存在 LDAP 注入漏洞、Apache Camel camel-openapi-java模式定义无法正确生成的相关知识,请在本站寻找。

本文标签: