gnodet commented on PR #27597:
URL: https://github.com/apache/camel/pull/27597#issuecomment-6126197985

   Thanks for the review, @apupier!
   
   The `JmsReplyToIbmMQTest` failure is actually **caused by the same root 
issue** this PR fixes — it's not a coincidence.
   
   Both `JmsComponentIbmMQTest` and `JmsReplyToIbmMQTest` use 
`IbmMQServiceFactory.createSingletonService()` as a static field:
   
   ```java
   @RegisterExtension
   static IbmMQService service = IbmMQServiceFactory.createSingletonService();
   ```
   
   When the IBM MQ container fails to start within the (old) 60-second timeout, 
the singleton initialization throws a `ContainerLaunchException`. This marks 
the JVM class `IbmMQServiceFactory$SingletonServiceHolder` as **failed to 
initialize**. Any subsequent test class that references the singleton in its 
static initializer — like `JmsReplyToIbmMQTest` — gets a `NoClassDefFoundError: 
Could not initialize class IbmMQServiceFactory$SingletonServiceHolder` because 
the JVM refuses to retry a failed class initialization.
   
   So the cascade is:
   1. Container startup exceeds 60s timeout → 
`IbmMQServiceFactory$SingletonServiceHolder` fails to init
   2. `JmsComponentIbmMQTest` also fails with `ContainerLaunchException`
   3. `JmsReplyToIbmMQTest` tries to use the same singleton → 
`NoClassDefFoundError`
   
   Extending the timeout to 3 minutes fixes the root cause and eliminates both 
failures.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to