无法在weblogic 12c上部署Spring Boot应用(非web)war文件
我的应用程序不是Web应用程序,我必须将Spring Boot Camel应用程序部署到WebLogic 12服务器. 当我将战争文件部署到WebLogic 时,我会遇到此错误 我正在使用MVN Clean Compile Package命令来构建战争文件 java.io.FileNotFoundException: Could not open ServletContext resource [/CamelContext.xml] Message icon - Error Could not open ServletContext resource [/CamelContext.xml] 我的目录结构 我的 pom.xml
0 2023-12-01
编程技术问答社区
Camel Json验证抛出NoJsonBodyValidationException
我正在尝试执行"传入请求"请求进行标题验证.我推荐骆驼json架构验证器组件并遵循以下步骤,以在我的项目中实施,即 在build.gradle 在我的Spring Boot项目的资源文件夹中添加员工.最初,我有打开API 3.0 YAML规范文件,然后将其转换为JSON 使用以下代码调用验证 rest(/employee).id("get-employee") .produces(JSON_MEDIA_TYPE) .get() .description("The employee API") .outType(EmployeeResponse.class) .responseMessage() .code(HttpStatus.OK.toString()) .message("Get Employee") .endResponseMessage() .route() .to("js
0 2023-11-13
编程技术问答社区
Camel json验证器对json草案07的支持
我们正在使用Apache Camel Java DSL和JSON-Validator组件来验证JSON请求针对JSON模式.根据骆驼文档,当前的骆驼版本为2.22.0,使用Networknt JSON Schema库支持JSON Schema V4,V6,V7和V2019-09.但是,当我尝试JSON模式选秀07时,运行测试时会出现错误:com.networknt.schema.jsonschema.jsonschemaexception:Unknown Metaschema: http://json-schema.org/draft-07/schema# ". 当我恢复回JSON Schema Draft 04时,它可以正常工作. 关于如何工作的任何想法? 解决方案 默认草稿是第四个草稿,但是您可以通过定义bean来覆盖模式验证器(JSonschemaloader). @Bean(name = "mySchemaLoader") public JsonSc
0 2023-11-13
编程技术问答社区
当塔基urrewretrite支持雅加达和塔基乌尔鲁特尔的替代方案时
当前内部使用tuckey urlrewretrite,因此我的项目使用雅加达(Jakarta)来支持tomcat 10. 所以我想知道何时将Tuckey Urlrewrite软件包迁移到雅加达. 我想知道是否还有其他包裹可以用来替换Tuckey Urlrewrite来支持Spring应用程序中的Urlrewrite功能. 解决方案 根据 org.tuckey urlrewritefilter 5.1.1 请参阅Maven Repo 其他解决方案 如果您使用的是tomcat,则应使用它的内置重写阀. 其他解决方案 似乎有人已经使用个人groupID(而不是org.tuckey>)发布了Maven Central存储库中的软件包更改.实际上,除非这里有人具有在org.tuckey gro
0 2023-11-10
编程技术问答社区
骆驼http端点动态形成的url
我想使用的 { from("direct:a").to (someUrl).processor(new Processor(){ @Override public void process(Exchange arg0) throws Exception { // do something } }); where someUrl is of the type http://xyz.com/{id}?test=&test1= } ,此URL会在每个请求上更改路线. 我已经尝试过的.将参数作为标头传递,并尝试使用标题(" test")在路线中访问,并使用$ {in.header.test}似乎都不起作用. 任何建议都会非常有帮助. 解决方案 请参阅此常见问题骆驼中的动态到端点: https://camel.apache.org/manual/latest/faq/how-to-to-to-
4 2023-11-09
编程技术问答社区
骆驼http4和url编码的密码被解释为单独的参数
我们有一个Apache骆驼(2.13.2)应用程序,该应用使用HTTP4与Web服务器进行通信,使用NTLM进行auth. 端点定义为(伪): ... .to("http4://thegreat.server.com/uri?authUsername=" + user + "&authPassword=" + pass + "&authenticationPreemptive=true&authMethod=NTLM&authDomain=DOMAIN&authHost=host") .to("otherEndpoint"); 只要pass变量包含"非特殊"字符. 但是,如果pass包含例如"abcd&def" -camel将作为查询参数分隔符将andepret插入. . 但是编码ampersand(即"abcd%26def")的URL完全没有区别? 我们仍然以骆驼调用端点"http://thegreat.server.com/uri?auth
2 2023-11-09
编程技术问答社区
如何动态添加日期到骆驼路由xml '到uri'。
我正在添加新的骆驼路由XML.我很难将日期价值带入URI. //...some lines .... ... .... ..... file://C:/mywork/${date:now:yyyy}-${date:now:MM}-${date:now:dd} When I use this as above getting CaughtExceptionType: groovy.lang.MissingPropertyException, CaughtExceptionMessage: No such property: yyyy
0 2023-11-09
编程技术问答社区
我如何在Camel路由中使用java布尔条件?
我正在使用骆驼将文件从一个端点传输到另一个端点.我正在开始多个路线,其中一些路由需要解密文件.如何根据布尔条件在特定路线中进行特定路线中的umarshal过程? from(source) .choice() .when(isEncrypted())) //Java boolean value .unmarshal(decrypt(pgpEncryptionDetails)) .endChoice() to(destination); PGPDataFormat decrypt(PGPEncryptionDetails pgpEncryptionDetails) { PGPDataFormat pgpDataFormat = new PGPDataFormat(); pgpDataFormat.setKeyFileName(pgpEncryptionDetails.getPrivateKeyPath()); pgpData
2 2023-11-09
编程技术问答社区
Apache Camel分割JSONArray时去掉双引号
我已经使用jsonpathexpression拆分了jsonarray,但是结果删除了每个json中的每一个双引号,这是我的RouteBuilder. from("timer:scheduler?repeatCount=1") .to("http:localhost:8901/rest/getData") .split(new JsonPathExpression("$.[*]")) .process(new Processor() { @java.lang.Override public void process(Exchange exchange) throws Exception { String input = exchange.getIn().getBody(String.class); exchange.getIn().
4 2023-11-09
编程技术问答社区
Apache Camel SNMP路由的简单单元测试
我遇到了一些工作的骆驼弹簧启动单元测试,该测试可以测试简单的SNMP路线.这是我到目前为止所拥有的: snmproute.kt open class SnmpRoute(private val snmpProperties: SnmpProperties, private val repository: IPduEventRepository) : RouteBuilder() { @Throws(Exception::class) override fun configure() { logger.debug("Initialising with properties [{}]", snmpProperties) from("snmp:0.0.0.0:1161?protocol=udp&type=TRAP") .process { exchange ->
4 2023-11-07
编程技术问答社区
如何在camel单元测试中模拟多个组件?
我在骆驼版2.13.1中使用CamelTestSupport. 我想做这样的事情来嘲笑两个不同的组件: @Override public String isMockEndpoints() { return "(activemq|exec)*"; } 我不能只用"*"模拟所有内容,因为我正在使用的Activiti框架中遇到错误,这依赖于activiti组件. 你们中有任何人找到了这样做的方法吗? 解决方案 您可以使用正则表达式,因此它类似: return "(activemq.*|exec.*)" 请参阅此页面的底部 http://camel.apache.org/intercept/intercept
4 2023-11-07
编程技术问答社区
Spock模拟验证返回0次调用
IM正在使用包含骆驼处理器类的Spring Boot Java服务,如下所示: public class MyProc implements Processor { @Autowired private LogService logService; public void process(Exchange e) { // exchange object processing logService.update(e) } } 我有以下SPOCK测试: class MyProcTest extends Specification { @Shared def logService = Mock(LogService) @Shared def proc = new MyProc() def ctx = new DefaultCamelContext()
4 2023-11-07
编程技术问答社区
如何在不改变生产代码的情况下测试一条骆驼路线?
我有一个简单的骆驼路线: @Component public class HelloRoute extends RouteBuilder { String startEndpoint; @Override public void configure() { from(startEndpoint).process(new HelloProcessor()); } } 用于测试,我阅读的所有内容都说要添加一个模拟端点,以存储结果: from(startEndpoint).process(new HelloProcessor()).to("mock:result"); 这意味着我必须更改代码以包括模拟,并且它将在生产中运行. Camel Documentatiuon很明显不要在生产中使用模拟: https://camel.apache.org/mock.org/mock.html 如何编写使用模拟来评估结果的单元测试
0 2023-11-07
编程技术问答社区
如何在Apache Camel中测试多个RouteBuilders
我想在单个单元测试中测试多个骆驼路由构造器 我拥有的: 更改状态的自定义骆驼处理器 public class MyProcessor implements Processor { MyState state; public MyProcessor(MyState state) {this.state = state;} @Override public void process(Exchange exchange) throws Exception { state.setState(state.getState() + 5); }} 两个简单的路由构建器:第一个将消息从"直接:start"路由到"直接:endroute1"第二次从"直接:endRoute1"接收消息,并在某个地方路由"模拟:endroute2" > public class MyRouteBuilder1 extends RouteBuilder { My
0 2023-11-07
编程技术问答社区
使用adviceWith与OnException定义的Camel路由测试
我有一个非常简单的骆驼路由定义,其中只包括一些onexception谓词来处理相应的例外和一些日志仪. from("hazelcast:seda:someQueue") .id("someQueueID") .onException(CustomException.class) .handled(true) .log(LoggingLevel.WARN, "custom exception noticed") .end() .onException(IOException.class, FileNotFoundException.class) .asyncDelayedRedelivery() .redeliveryDelay(3*1000*60) // 3 Minutes .maximumRedeliveries(3) .log(LoggingLevel
0 2023-11-07
编程技术问答社区
用MockEndpoints测试Camel
我有一系列通过ActiveMQ消息队列进行通信的"管道式"组件.每个组件使用骆驼将这些队列中的每一个都视为终点.每个组件都使用相同的基本模式: 每个组件将消息从输入队列中移出,处理消息,然后将1个以上的消息放在出站/输出队列上.然后,"输出"队列成为链中下一个组件的"输入"队列.非常基本. 我现在正在尝试使用骆驼测试API提供的MockEndpoints为每个组件提供袖子测试.我一直在挤在骆驼网站上的Javadocs和几个示例上,但是很难连接所有点. 在我看来,对于每个组件,我的单元测试的一部分将要完成以下三件事: 测试以查看是否有消息在等待特定的"输入"队列 将这些消息删除并处理它们 将新消息推入"输出"队列并验证他们在那里做到的 i 相信我需要为每个队列创建MockEndpoints这样: @EndpointInject(uri = "mock:inputQueue") protected MockEndpoint intputQueue;
0 2023-11-07
编程技术问答社区
Apache Camel和Spring的类型转换问题
我正在尝试将我的骆驼弹簧(Camel 2.20.2; Spring 4.3.14)配置外部化到application.properties属性文件中.该属性文件具有以下内容: net.sender1.port = 47000 net.sender1.address = 127.255.255.255 application.properties文件位于src/main/resources内,并通过maven shade-plugin复制到目标罐. 我的骆驼上下文看起来像这样:
4 2023-10-31
编程技术问答社区