草庐IT

camel_case

全部标签

java - 如何创建采用 XML 并将一些数据绑定(bind)到 JPA 注释的 POJO 的 Camel 路由?

我是ApacheCamel和模拟测试的新手,所以这里是......我有一个没有XSD架构的XML,我对其没有影响。此XML的子元素包含我想绑定(bind)到我的业务pojo的数据。这个POJO(WeatherCurrent)已经带有JPA注释,我正在考虑添加JAXB注释,以便拆分的XML可以映射到我的POJO。因为这个XML有一个根元素,我只想要它的子元素(metData),所以我无法使用@XmlRootElement,因此无法注释我的POJO。此处部分描述:http://camel.apache.org/splitter.html在使用Tokenizer语言流式处理大型XML负载一章

java - 如何避免 Java 中的 switch-case 语句

这个问题在这里已经有了答案:Convertingmany'ifelse'statementstoacleanerapproach[duplicate](7个答案)关闭6年前。我有一个TriggerType的枚举,可以在其中添加不同的触发器publicenumTriggerType{meta,data,list,toggle}这些触发器类型在不同的处理程序(例如组件、仪表板等)中使用,以通过switch-case识别在处理程序内部触发了哪个触发器,例如下面给出了通过switch-case使用触发器的ComponentHandler的代码片段@OverridepublicTriggerRe

java - 如何使用模拟端点在 Camel 测试中启动路由

我刚开始使用Camel,但在编写测试时遇到了一些问题。我的用例与cfxproxyexample完全相同.除了我不需要“RealWebservice”。现在我正在尝试使用注释方法编写单元测试(不是示例中包含的集成测试):@RunWith(CamelSpringJUnit4ClassRunner.class)@ContextConfiguration(locations={"classpath:application-context.xml"})@MockEndpointsAndSkippublicclassRoutesTest{@AutowiredCamelContextcamelCon

java - 在 Apache Camel 应用程序中,单元测试如何注入(inject)模拟端点来代替真实端点?

我正在实现messagetranslatorpattern使用ApacheCamel,使用来自RESTful端点的消息并将它们发送到AMQP端点。封闭的应用程序基于SpringBoot,因此我使用Camel的“spring-boot”组件来集成这两个框架。正如这个spring-boot链接中的文档所建议的,我正在一个@Configuration中实现我的Camel路由-扩展RouteBuilder的注释类:@ComponentpublicclassMyRestToAmqpRouterextendsRouteBuilder{@Overridepublicvoidconfigure()th

java - Apache Camel : What is actually being routed?

ApacheCamel路由中的“提升单元”或流程是什么?意思是,实际被路由的对象是什么?消息?交易所?我问是因为我认为Route由1+个Processor端点组成,而Exchange(包含Message)实际上是跨所有端点路由的。但是Exchange似乎可以同时具有入站和出站Message,这表明消息可以通过交换(相反通过处理器/端点进行交换)。有人可以帮助澄清为什么交换有入站和出站消息,以及实际传递到每个处理器/端点的路由是什么? 最佳答案 交换只是单个路由中消息的包装器对象。交换中的输入和输出消息用于处理不同的交换模式(MEP)

java - EIP/Apache Camel - 如何同时处理消息,但按组原子处理?

我有以下情况:有固定数量的组。有一个传入消息的TCP流。每条消息只与一个组相关。我开始Camel路线如下:publicclassMyMessageimplementsRunnable{publicvoidrun(){//omittedhere}}from("netty:tcp://localhost:7777?textline=true&sync=false")...//omittedhere:parsemessagetopojoMyMessage,setheader"group-identifier".to(seda:process);这个Camel路由消耗TCP流,解析每个传入消息

java - SonarQube 问题 "Add at least one assertion to this test case"用于带有断言的单元测试?

我在使用SonarQube时遇到问题,我的几个单元测试出现了问题,提示了以下问题:Addatleastoneassertiontothistestcase.每个测试用例都类似于这种格式(其中许多断言被委托(delegate)给具有公共(public)断言的方法,以避免重复):@TestpublicvoidcompanyNameOneTooLong()throwsException{AddressFormBeanformBean=getValidBean();formBean.setCompanyNameOne("123456789012345678901234567890123456"

java - Apache Camel - 路由事务

我有一个关于ApacheCamel的一般性问题。我无法找到聚合器是否已进行交易。如果是交易,交易是如何实现的,聚合的速度有多快? 最佳答案 将消息发送到聚合器可以在事务中运行。您需要一个带有聚合器的持久存储,让传出消息充当事务。请参阅有关持久性的文档http://camel.apache.org/aggregator2例如,开箱即用的基于JDBC和HawtDB(基于文件)持久性支持。它是可插拔的,因为您也可以构建您的自定义。CamelinAction书第8章和第9章对此进行了更详细的讨论。

java - Camel 是否为每条路线创建一个线程

最近我开始使用camel,我发现它有可能解决我的很多集成层需求。我创建了一个java客户端应用程序(不在任何容器中运行),我在其中定义了两条路由:路线1:将文件从传入的文件夹1移动到文件夹2route2:将文件内容从folderx移动到mq队列。我启动了我的应用程序,这些路由正在执行它们的工作,轮询这些文件夹并相应地路由消息。任何人都可以向我解释路线的工作原理。camel(context)是否为每条路线创建一个线程。到底发生了什么?注意:我在camel网站上找不到关于此的直接注释。 最佳答案 这取决于你在路由中使用的组件,创建和使用

java - 我们可以在 Java 的同一 switch 语句中的另一个 case 中调用 "case"吗?

我的意图是在同一个switch语句中调用另一个case中的两个case,switch(orderType){case1:statement1;break;case2:statement2;break;case3:**callcase1;****Callcase2;**break;default:break;`}我们可以用Java实现吗? 最佳答案 不,您不能跳转到另一个switchcase中的代码片段。但是,您可以将代码提取到一个可以从另一个案例中调用的自己的方法中:switch(orderType){case1:someMetho