supervisingroutecontroller 并不监督所有路由

问题描述 投票:0回答:1

使用Camel 4.4.1和SpringBoot 3.2.3。

我有一个非常简单的骆驼路线构建器:

import org.apache.camel.builder.RouteBuilder;

public class SimpleTestRouteBuilder extends RouteBuilder 
{
    public SimpleTestRouteBuilder(int i)
    {
        // do something with i...
    }
    @Override
    public void configure() throws Exception 
    {

    //  from("direct:messageReceiver").id("testReceipt")
     //   .log("received");
        
        from("timer:/foo?repeatCount=1") // read from the specified queue
        .routeId("fromrequestto0")
        .to("smpp://localhost:2775");
        
        from("timer:/foo2?repeatCount=1") // read from the specified queue
        .routeId("fromresponseto1")
        .to("smpp://localhost:2776");       
    }
}

Application.java如下:

@ConfigurationPropertiesScan
public class Application 
{    
    @Autowired private CamelContext context;

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    @Bean
    CommandLineRunner init(ProducerTemplate template) 
    {
        return args -> 
        {
            Integer i = args.length == 0 ? 1 : Integer.parseInt(args[0]);
            try
            {
                context.addRoutes(new SimpleTestRouteBuilder(i));
            }
            catch (Exception e)
            {
                // swallow
            }
        };
    }
}

配置 - application.yaml:

camel:
  routecontroller:
    enabled: true
    backoffDelay: 5000
    backoffMaxAttempts: 17280
    initialDelay: 1000
    threadPoolSize: 2
    unhealthyOnExhausted: false
    unhealthyOnRestarting: false
    includeRoutes: "*"

在应用程序启动时,如果由于 sms-c 关闭而无法启动第一个路由

fromrequestto0
,则监督路由控制器似乎不会启动,并且骆驼应用程序将关闭。 (这是因为 Camel 尝试连接生产者 - smsc 连接 - 并且在无法启动时失败)
如果第一条路线启动了,但第二条路线没有启动;然后应用程序保持运行状态,并且监控路由控制器启动,重试路由,直到第二个 SMS-C 可用。 (这就是我希望在两种情况下发生的情况,但这很奇怪,因为我认为骆驼热身在这里也会失败?)

为什么这里的行为会因路线而异?

java apache-camel
1个回答
0
投票

新增RouteBuilder,供参考:

warmup

另请参阅 
https://issues.apache.org/jira/browse/CAMEL-21319

© www.soinside.com 2019 - 2024. All rights reserved.