Scenario 1 – Nondeterministic program output

Behaviour of application may seem non deterministic as it fails time-to-time.

Cause:

  • Application contains classes duplicated in various libraries
  • Java uses simple resolution → classpath order
  • Classpath order differs on each environment
  • Change of environment triggers loading of different classes
  • Consequence is failure when another (incompatible) class is loaded

Scenario 1 is often consequence of Scenario 2 (Hidden dependency problems).

Leave a Reply

Your email address will not be published. Required fields are marked *