CDI injection does not work with openwebbeans


I'm using Liquibase 2.0.5 for CommaFeed ( running on TomEE (javaee6).

I'm calling liquibase update manually because I want to have control over when the update takes place. I have a @Startup bean calling this class and everything works fine.

Upgrading to Liquibase 3.0.0 breaks my setup. CDILiquibase is instanciated automatically because I have a CDI-enabled environnment even though I did not ask for it and I get an error because I did not define a Producer method for ResourceAccessor. That's fine, I just created three producers returning null for ResourceAccessor, DataSource and CDILiquibaseConfig and I'm setting the Liquibase.SHOULD_RUN_SYSTEM_PROPERTY system property to false.

After that, I get an error that I suspect being an Openwebbeans issue saying liquibase.integration.cdi.CDIBootstrap$1 cannot be cast to org.apache.webbeans.component.AbstractOwbBean.

I think one way to fix this would be to add a flag to disable the CDI extension bootstrap completely. Another would be to move the CDI intergation in an optional module.


TomEE 1.5.2


Jérémie Panzer


Fix versions

Affects versions