CONDITION EVALUATION DELTA is a feature by spring boot developer tool which evaluates bean changes. The spring boot developer tool evaluate the spring boot application on inititalization. CONDITION EVALUATION DELTA comprises four types of information namely Positive matches, Negative matches, Exclusions and Unconditional classes

On every restart, spring boot application shows the condition evaluation delta in console log.



CONDITION EVALUATION DELTA

==========================
CONDITION EVALUATION DELTA
==========================


Positive matches:
-----------------

    None


Negative matches:
-----------------

   JpaBaseConfiguration.JpaWebConfiguration:
      Did not match:
         - @ConditionalOnProperty (spring.jpa.open-in-view=true) found different value in property 'open-in-view' (OnPropertyCondition)
      Matched:
         - @ConditionalOnClass found required class 'org.springframework.web.servlet.config.annotation.WebMvcConfigurer' (OnClassCondition)
         - found 'session' scope (OnWebApplicationCondition)


Exclusions:
-----------

    None


Unconditional classes:
----------------------

    None


Root Cause

The auto configuration CONDITION EVALUATION DELTA is a feature provided in Spring boot developer tools dependency.

On every restart, the changes in auto configuration such as bean addition and removal, property modifications are listed in CONDITION EVALUATION DELTA.



Positive matches

The Positive matches section shows all the matched and unmatched configurations (class, properties) that are desirable to the configuration change.



Negative matches

The Negative matches section shows all the matched and unmatched configurations (class, properties) that are undesirable to the configuration changes.



Disable CONDITION EVALUATION DELTA log

The CONDITION EVALUATION DELTA is not ideal to show at the startup other than spring boot development life cycle. The CONDITION EVALUATION DELTA must be disabled in other environments The CONDITION EVALUATION DELTA log can be disabled by a configuration property as shown below. This will turnoff showing log in console.

spring.devtools.restart.log-condition-evaluation-delta=false



Leave a Reply