草庐IT

java - 使用 camel 从 FTP 动态重命名文件

我正在尝试使用camel将一些文件从FTP路由到HDFS。总的来说,我的路线似乎工作正常,但是只要有一个名称中有空格的文件,路线就会失败。尝试将文件复制到HDFS失败。这些文件是动态的,每天都在变化,所以我无法通过.setHeader进行特定的包含和更改文件名,也无法在FTP上重命名文件。在将文件路由到HDFS之前,是否可以使用camel动态重命名名称中有空格的文件? 最佳答案 存储在名为“CamelFileName”的消息header中的文件名,您可以这样使用:from("sftp:...").process(newProcess

java - 在 Hadoop 2 中使用 camel-hdfs 组件

我是servicemix和osgi的新手,我想知道是否有人在servicemix中将camelhdfs组件与hadoop2.x集群一起使用取得了成功。我尝试过此操作,但遇到了IPC版本不匹配问题。为了解决这个问题,我fork了camel-hdfs组件,修改了hadoop依赖项,并且在作为独立应用程序部署并通过所有测试时,只需对组件进行很小的更改就可以正常工作。现在的挑战是在servicemix中运行它,初始化hadoop类存在问题,即使我使用wrap:*命令将依赖的hadoop库包装为一个包。我得到的一个示例异常是Exceptioninthread"SpringOsgiExtender

php - 在 PHP 中将 UpperCase CamelCase 分解为 Upper Case Camel Case

现在,我正在通过拆分、切片和内爆来实现它:$exploded=implode('',array_slice(preg_split('/(?=[A-Z])/','ThisIsATest'),1));//$exploded="ThisIsATest"更漂亮的版本:$capital_split=preg_split('/(?=[A-Z])/','ThisIsATest');$blank_first_ignored=array_slice($capital_split,1);$exploded=implode('',$blank_first_ignored);但是,问题是当您输入类似'Some

java - android中字符串的 Camel 大小写验证

我有一个Stringtest="TheMountainview",我需要字符串中空格后的所有字符都需要大写,例如上面的文本'M'空格后为大写,String中空格后的每个字符都需要反射(reflect)条件。我需要一个正则表达式或条件来检查空格后的所有字符是否为大写,否则我需要将空格后的字符串更改为大写字符(如果它是小写)。如果有人知道意味着帮助我。谢谢。 最佳答案 不需要正则表达式。试试这个例子,也许有帮助:publicclassCapitalize{publicstaticStringcapitalize(Strings){if(

java - 调用http组件时 Camel 线程ID发生变化

我的路线是这样的:from(rabbitmq).to(redisLockerProcessor).to(processor1).to(ahc://http:).to(processor2).to(redisLockReleaseProcessor)我正在使用redisson库,它存储在redis中获取锁的线程id。但是在redisLockReleaseProcessor中它抛出异常threadid与获取锁的线程id不同。http组件线程如何在Camel中工作?我虽然整个路线在同一个线程中运行。如果整个路由不在同一个线程中,我们如何解决这里的redis问题?

redis - Camel Redis 组件订阅 channel 不工作

我有一个监听Redischannel的简单路由。由于某种原因,它不起作用。这是我的路线。我验证了数据正在发布到Redischannel,我可以使用普通的Jedis订阅者读回它。我在Jetty中运行Camel,它被部署为一场war。publicclassRedisSubscriberRouteextendsRouteBuilder{@Overridepublicvoidconfigure()throwsException{from("spring-redis://localhost:6379?command=SUBSCRIBE&channels=mychannel").process(n

mongodb - Apache Camel 读取 MongoDB 集合 - 不处理任何行

我有以下从MongoDB读取和写入文件的Camel设置,但它不起作用:publicstaticvoidmain(Stringargs[])throwsException{//createCamelContextSimpleRegistrysr=newSimpleRegistry();Mongomongo=newMongo("localhost",27017);sr.put("mdb",mongo);CamelContextcontext=newDefaultCamelContext(sr);context.addRoutes(newRouteBuilder(){publicvoidco

java - Camel 蓝图sql事务管理器

我有两个要在事务控制下插入的内容。如果其中一个失败,另一个也不得执行/插入。像这样在MySQL中正确执行此操作时效果很好STARTTRANSACTION;INSERTINTOtable(field)VALUES(value);INSERTINTOtable2(field)VALUES(value);COMMIT;现在使用我已经尝试过的Camel这会产生sql语法错误。我尝试的第二件事是这有效,但如果一个插入失败,另一个仍在执行和插入。我也找到了http://camel.apache.org/transactional-client.html但我使用的是蓝图,这些例子似乎只适用于Spri

java - Netty4 - TCP 服务器 - 使用 Camel 进行基本测试

我是初学者,正在学习Camel并尝试使用apacheblueprint在camel上运行netty4。我正在使用netty创建一个TCP服务器:当我使用mvn运行camel时一切正常:[BlueprintExtender:1]TCPNettyServerBootstrapFactoryINFOServerBootstrapbindingtolocalhost:5150[BlueprintExtender:1]NettyConsumerINFONettyconsumerboundto:localhost:5150[BlueprintExtender:1]BlueprintCamelCon

scala - Akka-Scala-Camel-TCP 套接字中的多条消息发送到死信

当我通过TCP套接字从非akka客户端收到一条消息时,我需要回复三条消息。在下面给出的示例中,只有第一个正确地通过发送方(非AKKA的TCP客户端)。其余的两个都变成了死信。任何想法?提前致谢。objectTcpExample{defmain(args:Array[String]):Unit={valsystem=ActorSystem("some-system")valtcpConsumer=system.actorOf(Props[TcpConsumer])}classTcpConsumerextendsConsumer{defendpointUri="mina2:tcp://lo