We're seeing Class io.confluent.kafka.serializers.context.NullContextNameStrategy could not be found error intermittently

We’re seeing below error when our SpringBoot producer is idle for long time. Normally the producer is able to send messages to confluent kafka successfully. However few times application failed with following error. This error goes away when we restart the application.

Caused by: java.lang.NoClassDefFoundError: Could not initialize class io.confluent.kafka.serializers.KafkaAvroSerializerConfig
at io.confluent.kafka.serializers.KafkaAvroSerializer.configure(KafkaAvroSerializer.java:51) ~[kafka-avro-serializer-7.4.0.jar!/:na]
at org.apache.kafka.clients.producer.KafkaProducer.(KafkaProducer.java:390) ~[kafka-clients-3.4.0.jar!/:na]
… 36 common frames omitted
Caused by: java.lang.ExceptionInInitializerError: Exception org.apache.kafka.common.config.ConfigException: Invalid value io.confluent.kafka.serializers.context.NullContextNameStrategy for configuration context.name.strategy: Class io.confluent.kafka.serializers.context.NullContextNameStrategy could not be found. [in thread “ForkJoinPool.commonPool-worker-1”]
at org.apache.kafka.common.config.ConfigDef.parseType(ConfigDef.java:744) ~[kafka-clients-3.4.0.jar!/:na]
at org.apache.kafka.common.config.ConfigDef$ConfigKey.(ConfigDef.java:1172) ~[kafka-clients-3.4.0.jar!/:na]
at org.apache.kafka.common.config.ConfigDef.define(ConfigDef.java:152) ~[kafka-clients-3.4.0.jar!/:na]
at org.apache.kafka.common.config.ConfigDef.define(ConfigDef.java:172) ~[kafka-clients-3.4.0.jar!/:na]
at org.apache.kafka.common.config.ConfigDef.define(ConfigDef.java:211) ~[kafka-clients-3.4.0.jar!/:na]
at org.apache.kafka.common.config.ConfigDef.define(ConfigDef.java:373) ~[kafka-clients-3.4.0.jar!/:na]
at org.apache.kafka.common.config.ConfigDef.define(ConfigDef.java:386) ~[kafka-clients-3.4.0.jar!/:na]
at io.confluent.kafka.serializers.AbstractKafkaSchemaSerDeConfig.baseConfigDef(AbstractKafkaSchemaSerDeConfig.java:310) ~[kafka-schema-serializer-7.4.0.jar!/:na]
at io.confluent.kafka.serializers.KafkaAvroSerializerConfig.(KafkaAvroSerializerConfig.java:43) ~[kafka-avro-serializer-7.4.0.jar!/:na]

We’re using below dependencies in our Sprint Boot application

    <dependency>
        <groupId>org.apache.kafka</groupId>
        <artifactId>kafka-clients</artifactId>
        <version>3.4.0</version>
    </dependency>

    <dependency>
        <groupId>io.confluent</groupId>
        <artifactId>kafka-avro-serializer</artifactId>
        <version>7.4.0</version>
    </dependency>
    <dependency>
        <groupId>io.confluent</groupId>
        <artifactId>kafka-schema-serializer</artifactId>
        <version>7.4.0</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.kafka</groupId>
        <artifactId>spring-kafka</artifactId>
        <version>3.0.6</version>
        <exclusions>
            <exclusion>
                <groupId>org.apache.kafka</groupId>
                <artifactId>kafka-clients</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

Have you tried explicitly setting a serializer subject name strategy in your Spring-kafka producer config?