简单的 Apache Camel SNMP 陷阱
我是Apache骆驼的新手,并试图接收一个简单的SNMP陷阱. 我拥有使用骆驼核和org.apache.servicemix.bundles.snmp4j的Maven项目. 我找不到任何SNMP示例,但是根据其他示例,我提出了此主要类: public class Main { public static Processor myProcessor = new Processor() { public void process(Exchange arg0) throws Exception { // save to database } }; public static void main(String[] args) { CamelContext context = new DefaultCamelContext(); context.addCompon
16 2024-04-22
编程技术问答社区
结合数据流的结果
我正在开发一个数据流管线,该管道读取文件集合,对于每个文件中的每一行,都执行一系列数据流块. 所有步骤已经完成了文件中的每一行,我想在文件本身上执行更多的块,但我不知道这是怎么可能的. 通过A TransformManyBlock拆分处理很简单,但是如何合并? 我曾经习惯于Apache骆驼的 解决方案 您可能应该研究JoinBlock和BatchedJoinBlock.他们俩都可以加入两个或三个来源,您可以为他们设置过滤器以专门收集一些项目. 一些有用的链接: 如何:使用JoinBlock从多个来源读取数据 其他解决方案 正确实现分离器和聚合器块将太复杂而无法实现,并且太麻烦了.因此,我想出了一个更简单的API,它封装了两个块,一个主块和一个细节块.每个块的处理选项不同.主块执行分裂和汇总操作,而细节块则执行每个细节的转换.关于两组选项的唯一要求是,这两个选项都必须相同.所有其他选项(MaxDegreeOfParallelism,BoundedCapa
2 2024-04-16
编程技术问答社区
哪个版本的Apache Camel Springboot启动器用于Spring Boot 2.5.0
来自Maven Central:这似乎是依赖性: org.apache.camel.camel.springboot»骆驼 - 弹簧 - 启动器:3.11.0取决于org.springframework.boot.boot»spring-boot-starter 2.5.1.5.1 org.apache.camel.camel.springboot»骆驼 - 弹簧启动»3.10.0取决于org.springframework.boot.boot»spring-boot-starter 2.4.5 我们应该在运行Spring Boot 2.5.0 的项目中使用哪一个 较低的是兼容或较高的. 我想我要问的是...如果骆驼弹簧靴启动器想要(至上?)Spring-boot-starter 2.4.5,那么Spring Boot 2.5.0在那里就可以了已经,还是它会导入春季靴2.4.5? 我想了解依赖性的工作方式. 更新: 我尝试使用Spring B
20 2024-04-04
编程技术问答社区
使用Apache Camel框架将数据持久化为Oracle数据库中的BLOB/CLOB数据类型
需要使用 Apache Camel 框架将数据(XML)存储到Oracle DB中 BLOB数据类型. 执行正常查询是可以的.但是,当我试图将数据持续到BLOB中时,Oracle DB想要一种兼容类型. 我尝试使用 utl_raw.cast_to_raw 尝试将原始数据转换为blob兼容类型. 这对于较小的数据工作正常,但是当数据像具有2048多个字符的大型请求xml一样时,错误 sql错误:ora-06502:pl/sql:数字:或值错误:原始变量长度太长. 有人可以帮助我知道如何使用Apache Camel将数据超过2048个字符存储在BLOB数据类型中? 任何帮助都非常感谢. 解决方案 这是一个使用HSQLDB测试时正常工作的典范(我没有方便的Oracle数据库,但应该可以使用相同): // This is just to have some relatively large ammount of data to insert in the BLOB
10 2024-04-01
编程技术问答社区
骆驼http4通过Https使用基本认证下载文件
我正在尝试从 https url下载文件,该文件需要基本的身份验证.我正在使用http4 我正在尝试从URL下载 - 下载文件后,我需要将其保存到文件夹中.这是我的代码的外观 from(xxx) .to("http4://ebc.cybersource.com/ebc/DownloadReport/xxx.csv?authMethod=Basic&authUsername=scott&authPassword=tiger") .to("file:target/messages/download"); 这是我遇到的错误 - java.lang.UnsupportedOperationException: Cannot consume from http endpoint at org.apache.camel.component.http4.HttpEndpoint.createConsumer(HttpEndpoint.java:120) at org.apache.ca
12 2024-03-29
编程技术问答社区
无法使用apache camel读取条形码
嗨,我试图使用以下代码读取图像中的条形码,但是我无法读取该文件,因为它包含多个条形码.有什么工作吗? @GetMapping(value = "OCR/Apachecamel") @ApiOperation(value = "Get result from Barcode Apachecamel library") public BarcodeInfo GetApachecamelResult() throws Exception { try { InputStream barCodeInputStream = new FileInputStream("images/multiple.png"); BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer( new BufferedImageLuminan
6 2024-03-27
编程技术问答社区
使用骆驼测试支持对骆驼路线进行单元测试
我想正确的单位和集成测试用例来测试所有功能流.有人可以分享您关于如何创建模拟端点以观看文件创建目录并通过多个路线进行处理并将文件移至其他目录的想法. . 监视新文件创建的目录/hello目录. 如果有基于文件前缀的文件,则使用容器名称更新标题. 根据文件名上传到适当的Azure Blob容器. 进行API调用并在处理后将文件移至/success目录. fileWatcherRoute.java @Service public class FileWatcherRoute extends RouteBuilder { @Value("${watcher-base-url}") private String baseUrl; @Value("${watcher-subscription-key}") private String subscriptionKey; @Override public void configure() {
2 2024-03-26
编程技术问答社区
如何使用Camel-avro-consumer & producer?
我看不到如何使用骆驼 - 阿瓦罗组件来生产和消费kafka avro消息?目前,我的骆驼路线是这个.为了使用Camel-Kafka-avro消费者和生产商与模式注册和其他道具一起工作,应该更改什么. props.put(AbstractKafkaAvroSerDeConfig.SCHEMA_REGISTRY_URL_CONFIG, "http://localhost:8081"); props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class); props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, KafkaAvroDeserializer.class); props.put(KafkaAvroDeserializerConfig.SPECIFIC_AVRO_READER_CONFIG, tr
8 2024-03-21
编程技术问答社区
Camel组件端点的密码选项被更改,如何防止?
在骆驼中,我正在使用HTTP4组件在远程服务器上提出REST请求. 组件文档指出,凭据应在端点上的选项中放置在此类选项中: https4://myremote.server.com/?authUsername=xxx&authPassword=yyy 这效果很好,直到有人在另一个环境上放置了带有"+"字符的密码. 我们注意到,"+"字符是作为服务器中的一个空间传输的,该空间会生成错误. 通过在骆驼文档中进行更深入的搜索,我们找到了https4://myremote.server.com/?authUsername=xxx&authPassword=RAW(yyy) 保持密码不变. 不幸的是,此功能仅在Camel 2.11版本中引入,目前我们不打算升级到ServiceMix 5.1.x. 我们目前在ServiceMix 4.5.x上,骆驼版本为2.10.7. 我在路线中尝试了这些(一个): .setProperty("Authorization
4 2024-03-20
编程技术问答社区
如何在Apache Camel中用Oauth Header调用REST API?
我正在使用oauth1.0授权使用API​​.我想使用授权oauth标题致电该API: - 我已经从服务器中创建了从服务器接收的令牌/密钥的授权标题. 我已经在处理器(实现骆驼处理器的类)中做了所有这些事情,现在想做: - 在处理器本身中使用此oauth标头(类型字符串)的标头调用REST API. 否则将此标头发送到交换中,并在骆驼的to()端点中获取此值,然后在其中调用REST API. 我只想用oauth标头在处理器中打电话. 然后,如果可能的话,请尝试访问to()端点中的标头并进行呼叫. 解决方案 您可以在处理器中设置授权标头,然后使用.to() 发送其余的请求 public void process(Exchange exchange) throws Exception { String token = //your logic to get the token exchange.getIn().setHeader("Authori
4 2024-03-20
编程技术问答社区
Apache Camel HTTPS4基本认证
Camel-HTTP4是否支持基本身份验证? 遵循此和其他帖子 chamel http4/p> 我正在使用骆驼2.17.3版本.使用Camel-HTTP4组件.该路由将 https4 multipart请求发送到休息端点.休息服务在Siteminder后面.拥有TrustStore/Ketstore/CERT所有设置,并且可以正常工作,只是发送基本验证会造成麻烦. 使用Postman我能够用基本验证来调用REST服务.但是,骆驼路由的所有电话都会失败并获得HTTP错误403. 我尝试以下选项使其正常工作: 在HTTPConFiguration中添加了基本验证 - 获得HTTP错误401 如上所述,添加了"授权"标题,如上所述 - 获取HTTP错误403 和添加的方法,用户,传递给http_query -403在SiteMinder日志中也可见清晰的文本密码,这不是很好,因此可以尝试此选项. 请用一些有效的例子来帮助解决此问题并解释原因. 骆驼放下
16 2024-03-20
编程技术问答社区
一个ESB应该如何打包/部署?
我试图将头缠绕在Apache骆驼上,这似乎是轻量级的ESB.如果我正确理解骆驼/ESB,那么您可以将骆驼路线视为节点和边缘的图形.每个节点都是路由上的端点(可以消耗/产生消息).每个边缘都是两个不同端点(1个生产者和1个消费者)之间的路线. 假设这是正确的,我有一个实用的问题:最佳实践决定了部署应用程序的ESB/骆驼路线?我应该将其包装成自己的罐子,还是值得自己充满EJB,Web服务和其他罐子的耳朵? 我想我在问应该如何部署/架构骆驼路线或ESB,例如: my-esb.ear/ ejb1.jar/ MyEJB_1.class ejb2.jar/ MyEJB_2.class webservice.war/ MyWebService.class 或... my-esb.jar/ MyEJB_1.class MyEJB_2.class MyWebService.class
14 2024-03-03
编程技术问答社区
骆驼处理器中的业务逻辑与服务端点的关系
在骆驼路线中,我应该考虑将我的业务逻辑放在离散托管的bean端点,例如消息驱动的bean或Web服务,而不是在骆驼处理器中实现它? 将骆驼仅用于调解和编排,使用处理器作为过滤器而不是作为业务逻辑容器的简洁分离.但是,我目前不希望看到EJB容器的需求,似乎我需要一个人来主持MDB. 如此清洁的体系结构与较小的足迹,更少的技术 - 有人对此有思想,观点或强烈的感觉吗? 解决方案 我通常使用骆驼执行以下... 任何 component Integration(file,jms,http等) 实现 eip eip .) 基于计时器的进程(使用计时器或 quartz ) 异常处理(重试逻辑,错误记录/通知/排队) 否则,对于自我包含的业务逻辑(尤其是旧版集成),使用Pojos或WebServices可能是可取的.这可以促进可测试性,并使您的应用程序更模块化,等等.然后,您可以使用骆驼进行以下... 使用处理器. 将这些服务连接到路线 管理/监视消息流
8 2024-03-03
编程技术问答社区
在Apache Storm bolt中使用Apache Camel ProducerTemplate
我正在尝试编写简单的风暴 +骆驼项目. 我的Storm拓扑分析推文和一个螺栓应将推文发送给Apache Camel路由,而Apache Camel路由又使用WebSocket通知某些WebApp. 我无法使它起作用,因为在尝试使用构建时,从螺栓中收到的notSerializable Exceptions. 我已经尝试了什么: 通过Bolt的构造函数中的CamelContext通过 - 导致NotSerializable Exception 通过Storm Conf中的CamelContext通过,并将其在Bolt的准备方法中使用它来访问Gian.结果: 14484 [main]错误 java.lang.illegalargumentException:拓扑conf不可行 at BackType.storm.testing $ submit_local_topology.invoke(testing.clj:262)〜[Storm-Core-0.9.4.4.j
10 2024-03-01
编程技术问答社区
骆驼在注册表中找不到 "sftp "组件并关机
我正在使用Camel-SFTP组件将文件上传到SFTP服务器. 代码很简单: File source = new File(path); final String sftpUri = "sftp://" + userId + "@" + serverAddress + "/" + remoteDirectory+"?password="+pwd; CamelContext context = new DefaultCamelContext(); context.addRoutes(new RouteBuilder() { @Override public void configure() throws Exception { from("file:/" + path).to(sftpUri); } }); context.start(); Thread.sleep(10000); context.stop(); 但是,骆驼在找到S
6 2024-02-28
编程技术问答社区
camel-hdfs2 没有文件系统的方案:hdfs
在我的OSGI项目(基于Karaf)中使用Camel-HDFS2时,我遇到了一些错误 我的环境: Apache Karaf v4.0.4 apache骆驼v2.15.2 apache骆驼hdfs2 v2.15.2 错误是: No FileSystem for scheme: hdfs 错误细节: 2016-07-07 15:59:52,141 | ERROR | pool-14-thread-1 | BlueprintCamelContext | 36 - org.apache.camel.camel-blueprint - 2.15.2 | Error occurred during starting Camel: CamelContext(intelligenceCollectorWorkCamelContext) due Failed to create Producer for endpoint: Endpoin
6 2024-02-28
编程技术问答社区
希望使用CAMEL、CXF和Karaf访问静态资源
我是骆驼,CXF和卡拉夫的新手. 我想使用CXF和KARAF使用Camel访问静态文件. 想知道最好的方法. 我已经通过NET进行了搜索,发现基于CXF的REST Web服务可以编写相同. 还有其他更简单的方法吗? 我们正在使用JBOSS保险丝服务器. 解决方案 有一种更好的方法. 步骤1 在您的maven插件中添加 src/main/webapp/tag,以便可以将捆绑包作为karaf容器将其视为WAB. 使用并声明您的自定义上下文路径. 默认情况下,Maven将以捆绑符号名称为上下文. 第2步. 写Web.xml.将其放在/src/main/webapp/web-inf下. 步骤3. 将静态资源文件放在WebApp文件夹下. 步骤4. 使用Maven命令MVN清洁安装并在Karaf中部署jar 构建代码来生成捆绑jar 步骤5 使用以下链接访问静态资源. http://:8181// 其他解决方案 要解决此问题,我们可以定义一个重定向列表,该列表将包含
6 2024-02-28
编程技术问答社区