代码之家  ›  专栏  ›  技术社区  ›  Fede E.

Apache Camel doTry doCatch未捕获akka Camel异常

  •  0
  • Fede E.  · 技术社区  · 6 年前

    我们的Scala代码:

    private def replyError(exception: ChannelException) {
        log.error(exception.error)
        sender ! akka.actor.Status.Failure(exception)
    }
    

    我们的骆驼路线:

    <route id="timer">
        <from uri="timer://test?period=3000&amp;delay=5000&amp;repeatCount=0"/>
    
        <doTry>
    
            <to uri="AKKABEAN"/>
            <doCatch>
                <exception>java.lang.Exception</exception>
    
                <log message="**********************************EXCEPTION HANDLED*******************************"/>
    
            </doCatch>
        </doTry>
    
    </route>
    

    启动actor actor name时出错:同名actor已存在 运行akka.actor.invalidactorname异常:actor name[ActorName] 不是唯一的!在 在阿克卡。演员。地牢。儿童$班级。保留儿童(儿童。斯卡拉:134) 在akka,actor,ActorCell,reserveChild(ActorCell,scala:431),在 akka.actor.dungeon.Children$class.makeChild(Children.scala:272)at akka.actor.ActorCell.attachChild(ActorCell.scala:431)位于 akka.actor.ActorSystemImpl.actorOf(ActorSystem.scala:734)位于 com.app.akka.app$.createChannelActor(swap.scala:233)网址 com.app.akka.app$.startChannelByName(swap.scala:137)网址 com.app.akka.actors.management.handleCommand(ManagementReceiver.scala:80) com.app.akka.actors.management.manageChannel(ManagementReceiver.scala:66) 在 在 在akka,actor.actor$类,aroundReceive(actor.scala:517),在 com.app.alla.actors.management.aroundReceive(ManagementReceiver.scala:14) akka.actor.ActorCell.invoke(ActorCell.scala:557)位于 akka.dispatch.Mailbox.processMailbox(Mailbox.scala:258)地址 akka.dispatch.Mailbox.exec(邮箱.scala:235)地址 akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)在 在 akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) 在 akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) 2018-08-13 10:11:45807错误 的org.apache.camel.processor.DefaultErrorHandler传递失败 (邮件ID:ID-my-pc-1534165894710-0-25,在ExchangeId上: ID-my-pc-1534165894710-0-26)。交付尝试后耗尽:1 捕获:ChannelException(启动actor ActorName:actor时出错 ID-my-pc-1534165894710-0-26,面包屑-> ID-my-pc-1534165894710-0-26,命令类型->启动参与者,ID参与者-> 阿克特南)

    如果我使用的bean只返回一个错误,那么它工作得非常好,例如:

    <bean id="forced" class="java.lang.Exception">
        <constructor-arg index="0" value="This is forced"/>
    </bean>
    

    知道是什么原因吗?

    0 回复  |  直到 6 年前