Hi Community, I have been trying to suspend and resume a camel route using it's route id. This route reads from a Kafka topic and writes to a SEDA. When the route is programmatically resumed, it just stops. After debugging what I find is that an InterruptedException is not allowing to load the Keystore JKS file. It throws – ‘org.apache.kafka.common.KafkaException: org.apache.kafka.common.KafkaException: Failed to load SSL keystore /Users/User1/IdeaProjects/app1-loader-v1/app1-loader/ssl-config/app1.sample.com-keystore.jks of type JKS’.
On the contrary, the camel-kafka route successfully starts using the same JKS when application boots up. Providing the logs from application. Need help. **** [DEBUG] 2021-03-23 21:48:56,366 CircuitBreakerAutoTransitionThread com.sample.app1.kafka.component.ExtendedKafkaProducer - {} - op=EXTENDED_KAFKA_PRODUCER, status=OK, desc=[Transition Status] Circuit Breaker::CB-ORDER_UPDATE_PUB Transition::OPEN_TO_HALF_OPEN [DEBUG] 2021-03-23 21:49:30,524 CircuitBreakerAutoTransitionThread org.apache.camel.impl.engine.InternalRouteStartupManager - {} - Warming up route id: ROUTE-1 having autoStartup=true [DEBUG] 2021-03-23 21:49:30,525 CircuitBreakerAutoTransitionThread org.apache.camel.processor.errorhandler.RedeliveryErrorHandler - {camel.contextId=camel-1, camel.routeId=ROUTE-1} - Using ExecutorService: org.apache.camel.util.concurrent.SizedScheduledExecutorService@37d3aa8c[ErrorHandlerRedeliveryTask] for redeliveries on error handler: DefaultErrorHandler[throttle1] [DEBUG] 2021-03-23 21:49:30,525 CircuitBreakerAutoTransitionThread org.apache.camel.processor.errorhandler.RedeliveryErrorHandler - {camel.contextId=camel-1, camel.routeId=ROUTE-1} - Using ExecutorService: org.apache.camel.util.concurrent.SizedScheduledExecutorService@37d3aa8c[ErrorHandlerRedeliveryTask] for redeliveries on error handler: DefaultErrorHandler[log2] [DEBUG] 2021-03-23 21:49:30,525 CircuitBreakerAutoTransitionThread org.apache.camel.support.DefaultProducer - {camel.contextId=camel-1, camel.routeId=ROUTE-1} - Starting producer: Producer[seda://seda_1?blockWhenFull=true&concurrentConsumers=1&size=100] [DEBUG] 2021-03-23 21:49:30,525 CircuitBreakerAutoTransitionThread org.apache.camel.processor.errorhandler.RedeliveryErrorHandler - {camel.contextId=camel-1, camel.routeId=ROUTE-1} - Using ExecutorService: org.apache.camel.util.concurrent.SizedScheduledExecutorService@37d3aa8c[ErrorHandlerRedeliveryTask] for redeliveries on error handler: DefaultErrorHandler[seda://seda_1?blockWhenFull=true&concurrentConsumers=1&size=100] [DEBUG] 2021-03-23 21:49:30,525 CircuitBreakerAutoTransitionThread org.apache.camel.impl.engine.InternalRouteStartupManager - {} - Route: ROUTE-1 >>> Route[kafka://app1-orders?additionalProperties%5Ballow.auto.create.topics%5D=false&autoCommitEnable=true&autoOffsetReset=latest&brokers=kafka-dce-app1.dev.sample.com%3A9093&consumersCount=1&fetchMaxBytes=10485760&fetchMinBytes=102400&fetchWaitMaxMs=500&groupId=test_0081&heartbeatIntervalMs=3000&keyDeserializer=org.apache.kafka.common.serialization.StringDeserializer&maxPollIntervalMs=300000&maxPollRecords=500&partitionAssignor=org.apache.kafka.clients.consumer.RoundRobinAssignor&securityProtocol=SSL&sessionTimeoutMs=10000&sslEndpointAlgorithm=&sslKeystoreLocation=%2FUsers%2FUser1%2FIdeaProjects%2Fapp1-loader-v1%2Fapp1-loader%2Fssl-config%2Fapp1.sample.com-keystore.jks&sslKeystorePassword=xxxxxx&sslKeystoreType=JKS&sslTruststoreLocation=%2FUsers%2FUser1%2FIdeaProjects%2Fapp1-loader-v1%2Fapp1-loader%2Fssl-config%2Fapp1.sample.com-truststore.jks&sslTruststorePassword=xxxxxx&sslTruststoreType=JKS&valueDeserializer=org.apache.kafka.common.serialization.StringDeserializer -> null] [DEBUG] 2021-03-23 21:49:30,525 CircuitBreakerAutoTransitionThread org.apache.camel.impl.engine.InternalRouteStartupManager - {} - Starting consumer (order: 1002) on route: ROUTE-1 [DEBUG] 2021-03-23 21:49:30,525 CircuitBreakerAutoTransitionThread org.apache.camel.support.DefaultConsumer - {} - Init consumer: Consumer[kafka://app1-orders?additionalProperties%5Ballow.auto.create.topics%5D=false&autoCommitEnable=true&autoOffsetReset=latest&brokers=kafka-dce-app1.dev.sample.com%3A9093&consumersCount=1&fetchMaxBytes=10485760&fetchMinBytes=102400&fetchWaitMaxMs=500&groupId=test_0081&heartbeatIntervalMs=3000&keyDeserializer=org.apache.kafka.common.serialization.StringDeserializer&maxPollIntervalMs=300000&maxPollRecords=500&partitionAssignor=org.apache.kafka.clients.consumer.RoundRobinAssignor&securityProtocol=SSL&sessionTimeoutMs=10000&sslEndpointAlgorithm=&sslKeystoreLocation=%2FUsers%2FUser1%2FIdeaProjects%2Fapp1-loader-v1%2Fapp1-loader%2Fssl-config%2Fapp1.sample.com-keystore.jks&sslKeystorePassword=xxxxxx&sslKeystoreType=JKS&sslTruststoreLocation=%2FUsers%2FUser1%2FIdeaProjects%2Fapp1-loader-v1%2Fapp1-loader%2Fssl-config%2Fapp1.sample.com-truststore.jks&sslTruststorePassword=xxxxxx&sslTruststoreType=JKS&valueDeserializer=org.apache.kafka.common.serialization.StringDeserializer] [INFO] 2021-03-23 21:49:30,548 CircuitBreakerAutoTransitionThread org.apache.camel.component.kafka.KafkaConsumer - {} - Starting Kafka consumer on topic: app1-orders with breakOnFirstError: false [DEBUG] 2021-03-23 21:49:30,548 CircuitBreakerAutoTransitionThread org.apache.camel.support.DefaultConsumer - {} - Starting consumer: Consumer[kafka://app1-orders?additionalProperties%5Ballow.auto.create.topics%5D=false&autoCommitEnable=true&autoOffsetReset=latest&brokers=kafka-dce-app1.dev.sample.com%3A9093&consumersCount=1&fetchMaxBytes=10485760&fetchMinBytes=102400&fetchWaitMaxMs=500&groupId=test_0081&heartbeatIntervalMs=3000&keyDeserializer=org.apache.kafka.common.serialization.StringDeserializer&maxPollIntervalMs=300000&maxPollRecords=500&partitionAssignor=org.apache.kafka.clients.consumer.RoundRobinAssignor&securityProtocol=SSL&sessionTimeoutMs=10000&sslEndpointAlgorithm=&sslKeystoreLocation=%2FUsers%2FUser1%2FIdeaProjects%2Fapp1-loader-v1%2Fapp1-loader%2Fssl-config%2Fapp1.sample.com-keystore.jks&sslKeystorePassword=xxxxxx&sslKeystoreType=JKS&sslTruststoreLocation=%2FUsers%2FUser1%2FIdeaProjects%2Fapp1-loader-v1%2Fapp1-loader%2Fssl-config%2Fapp1.sample.com-truststore.jks&sslTruststorePassword=xxxxxx&sslTruststoreType=JKS&valueDeserializer=org.apache.kafka.common.serialization.StringDeserializer] [DEBUG] 2021-03-23 21:49:30,548 CircuitBreakerAutoTransitionThread org.apache.camel.impl.engine.BaseExecutorServiceManager - {} - Created new ThreadPool for source: kafka://app1-orders?additionalProperties%5Ballow.auto.create.topics%5D=false&autoCommitEnable=true&autoOffsetReset=latest&brokers=kafka-dce-app1.dev.sample.com%3A9093&consumersCount=1&fetchMaxBytes=10485760&fetchMinBytes=102400&fetchWaitMaxMs=500&groupId=test_0081&heartbeatIntervalMs=3000&keyDeserializer=org.apache.kafka.common.serialization.StringDeserializer&maxPollIntervalMs=300000&maxPollRecords=500&partitionAssignor=org.apache.kafka.clients.consumer.RoundRobinAssignor&securityProtocol=SSL&sessionTimeoutMs=10000&sslEndpointAlgorithm=&sslKeystoreLocation=%2FUsers%2FUser1%2FIdeaProjects%2Fapp1-loader-v1%2Fapp1-loader%2Fssl-config%2Fapp1.sample.com-keystore.jks&sslKeystorePassword=xxxxxx&sslKeystoreType=JKS&sslTruststoreLocation=%2FUsers%2FUser1%2FIdeaProjects%2Fapp1-loader-v1%2Fapp1-loader%2Fssl-config%2Fapp1.sample.com-truststore.jks&sslTruststorePassword=xxxxxx&sslTruststoreType=JKS&valueDeserializer=org.apache.kafka.common.serialization.StringDeserializer with name: KafkaConsumer[app1-orders]. -> org.apache.camel.util.concurrent.RejectableThreadPoolExecutor@288d7bf[Running, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0][KafkaConsumer[app1-orders]] [DEBUG] 2021-03-23 21:49:30,549 CircuitBreakerAutoTransitionThread org.apache.camel.component.kafka.KafkaConsumer - {} - Kafka consumer groupId is test_0081 [INFO] 2021-03-23 21:49:30,549 CircuitBreakerAutoTransitionThread org.apache.kafka.clients.consumer.ConsumerConfig - {} - ConsumerConfig values: allow.auto.create.topics = false auto.commit.interval.ms = 5000 auto.offset.reset = latest bootstrap.servers = [kafka-dce-app1.dev.sample.com:9093] check.crcs = true client.dns.lookup = default client.id = client.rack = connections.max.idle.ms = 540000 default.api.timeout.ms = 60000 enable.auto.commit = true exclude.internal.topics = true fetch.max.bytes = 10485760 fetch.max.wait.ms = 500 fetch.min.bytes = 102400 group.id = test_0081 group.instance.id = null heartbeat.interval.ms = 3000 interceptor.classes = [] internal.leave.group.on.close = true isolation.level = read_uncommidced key.deserializer = class org.apache.kafka.common.serialization.StringDeserializer max.partition.fetch.bytes = 1048576 max.poll.interval.ms = 300000 max.poll.records = 500 metadata.max.age.ms = 300000 metric.reporters = [] metrics.num.samples = 2 metrics.recording.level = INFO metrics.sample.window.ms = 30000 partition.assignment.strategy = [org.apache.kafka.clients.consumer.RoundRobinAssignor] receive.buffer.bytes = 65536 reconnect.backoff.max.ms = 1000 reconnect.backoff.ms = 50 request.timeout.ms = 40000 retry.backoff.ms = 100 sasl.client.callback.handler.class = null sasl.jaas.config = null sasl.kerberos.kinit.cmd = /usr/bin/kinit sasl.kerberos.min.time.before.relogin = 60000 sasl.kerberos.service.name = null sasl.kerberos.ticket.renew.jidcer = 0.05 sasl.kerberos.ticket.renew.window.factor = 0.8 sasl.login.callback.handler.class = null sasl.login.class = null sasl.login.refresh.buffer.seconds = 300 sasl.login.refresh.min.period.seconds = 60 sasl.login.refresh.window.factor = 0.8 sasl.login.refresh.window.jidcer = 0.05 sasl.mechanism = GSSAPI security.protocol = SSL send.buffer.bytes = 131072 session.timeout.ms = 10000 ssl.cipher.suites = null ssl.enabled.protocols = [TLSv1.2, TLSv1.1, TLSv1] ssl.endpoint.identification.algorithm = ssl.key.password = null ssl.keymanager.algorithm = SunX509 ssl.keystore.location = /Users/User1/IdeaProjects/app1-loader-v1/app1-loader/ssl-config/app1.sample.com-keystore.jks ssl.keystore.password = [hidden] ssl.keystore.type = JKS ssl.protocol = TLS ssl.provider = null ssl.secure.random.implementation = null ssl.trustmanager.algorithm = PKIX ssl.truststore.location = /Users/User1/IdeaProjects/app1-loader-v1/app1-loader/ssl-config/app1.sample.com-truststore.jks ssl.truststore.password = [hidden] ssl.truststore.type = JKS value.deserializer = class org.apache.kafka.common.serialization.StringDeserializer [DEBUG] 2021-03-23 21:49:30,549 CircuitBreakerAutoTransitionThread org.apache.kafka.clients.consumer.KafkaConsumer - {} - [Consumer clientId=consumer-2, groupId=test_0081] Initializing the Kafka consumer [DEBUG] 2021-03-23 21:49:32,262 CircuitBreakerAutoTransitionThread org.apache.kafka.clients.consumer.KafkaConsumer - {} - [Consumer clientId=consumer-2, groupId=test_0081] Kafka consumer has been closed [INFO] 2021-03-23 21:49:32,262 CircuitBreakerAutoTransitionThread org.apache.camel.component.kafka.KafkaConsumer - {} - Stopping Kafka consumer on topic: app1-orders [DEBUG] 2021-03-23 21:49:32,262 CircuitBreakerAutoTransitionThread org.apache.camel.component.kafka.KafkaConsumer - {} - Shutting down Kafka consumer worker threads with timeout 30000 millis [DEBUG] 2021-03-23 21:49:32,262 CircuitBreakerAutoTransitionThread org.apache.camel.impl.engine.BaseExecutorServiceManager - {} - Shutdown of ExecutorService: org.apache.camel.util.concurrent.RejectableThreadPoolExecutor@288d7bf[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0][KafkaConsumer[app1-orders]] is shutdown: true and terminated: true took: 0ms. [DEBUG] 2021-03-23 21:49:32,263 CircuitBreakerAutoTransitionThread org.apache.camel.support.DefaultConsumer - {} - Stopping consumer: Consumer[kafka://app1-orders?additionalProperties%5Ballow.auto.create.topics%5D=false&autoCommitEnable=true&autoOffsetReset=latest&brokers=kafka-dce-app1.dev.sample.com%3A9093&consumersCount=1&fetchMaxBytes=10485760&fetchMinBytes=102400&fetchWaitMaxMs=500&groupId=test_0081&heartbeatIntervalMs=3000&keyDeserializer=org.apache.kafka.common.serialization.StringDeserializer&maxPollIntervalMs=300000&maxPollRecords=500&partitionAssignor=org.apache.kafka.clients.consumer.RoundRobinAssignor&securityProtocol=SSL&sessionTimeoutMs=10000&sslEndpointAlgorithm=&sslKeystoreLocation=%2FUsers%2FUser1%2FIdeaProjects%2Fapp1-loader-v1%2Fapp1-loader%2Fssl-config%2Fapp1.sample.com-keystore.jks&sslKeystorePassword=xxxxxx&sslKeystoreType=JKS&sslTruststoreLocation=%2FUsers%2FUser1%2FIdeaProjects%2Fapp1-loader-v1%2Fapp1-loader%2Fssl-config%2Fapp1.sample.com-truststore.jks&sslTruststorePassword=xxxxxx&sslTruststoreType=JKS&valueDeserializer=org.apache.kafka.common.serialization.StringDeserializer] [DEBUG] 2021-03-23 21:49:32,263 CircuitBreakerAutoTransitionThread org.apache.camel.support.DefaultProducer - {} - Stopping producer: Producer[seda://seda_1?blockWhenFull=true&concurrentConsumers=1&size=100] **** Thanks, Anup