Flowable spring boot native (graalvm) - exceptions

Hello, I want to build spring boot project with flowable (flowable 7.0.0, spring boot 3.1.6) against spring native.
But startup fails with following exceptions:

bpm-bpm-api-1  | org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'processDefinitionResource': Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'repositoryServiceBean': Unsatisfied dependency expressed through method 'repositoryServiceBean' parameter 0: Error creating bean with name 'processEngine': FactoryBean threw exception on object creation
bpm-bpm-api-1  |        at org.springframework.beans.factory.aot.BeanInstanceSupplier.resolveAutowiredArgument(BeanInstanceSupplier.java:344) ~[na:na]
bpm-bpm-api-1  |        at org.springframework.beans.factory.aot.BeanInstanceSupplier.resolveArguments(BeanInstanceSupplier.java:264) ~[na:na]
bpm-bpm-api-1  |        at org.springframework.beans.factory.aot.BeanInstanceSupplier.get(BeanInstanceSupplier.java:204) ~[na:na]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.DefaultListableBeanFactory.obtainInstanceFromSupplier(DefaultListableBeanFactory.java:949) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.obtainFromSupplier(AbstractAutowireCapableBeanFactory.java:1217) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1161) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:975) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:959) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[kz.mdocs.m11s.bpm.api.Application:3.2.3]
bpm-bpm-api-1  |        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[kz.mdocs.m11s.bpm.api.Application:3.2.3]
bpm-bpm-api-1  |        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) ~[kz.mdocs.m11s.bpm.api.Application:3.2.3]
bpm-bpm-api-1  |        at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) ~[kz.mdocs.m11s.bpm.api.Application:3.2.3]
bpm-bpm-api-1  |        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) ~[kz.mdocs.m11s.bpm.api.Application:3.2.3]
bpm-bpm-api-1  |        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) ~[kz.mdocs.m11s.bpm.api.Application:3.2.3]
bpm-bpm-api-1  |        at kz.mdocs.m11s.bpm.api.Application.main(Application.java:11) ~[kz.mdocs.m11s.bpm.api.Application:na]
bpm-bpm-api-1  | Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'repositoryServiceBean': Unsatisfied dependency expressed through method 'repositoryServiceBean' parameter 0: Error creating bean with name 'processEngine': FactoryBean threw exception on object creation
bpm-bpm-api-1  |        at org.springframework.beans.factory.aot.BeanInstanceSupplier.resolveAutowiredArgument(BeanInstanceSupplier.java:344) ~[na:na]
bpm-bpm-api-1  |        at org.springframework.beans.factory.aot.BeanInstanceSupplier.resolveArguments(BeanInstanceSupplier.java:264) ~[na:na]
bpm-bpm-api-1  |        at org.springframework.beans.factory.aot.BeanInstanceSupplier.get(BeanInstanceSupplier.java:204) ~[na:na]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.DefaultListableBeanFactory.obtainInstanceFromSupplier(DefaultListableBeanFactory.java:949) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.obtainFromSupplier(AbstractAutowireCapableBeanFactory.java:1217) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1161) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1443) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1353) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:907) ~[na:na]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.RegisteredBean.resolveAutowiredArgument(RegisteredBean.java:229) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.aot.BeanInstanceSupplier.resolveAutowiredArgument(BeanInstanceSupplier.java:341) ~[na:na]
bpm-bpm-api-1  |        ... 21 common frames omitted
bpm-bpm-api-1  | Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'processEngine': FactoryBean threw exception on object creation
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:188) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:124) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1818) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getObjectForBeanInstance(AbstractAutowireCapableBeanFactory.java:1276) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:335) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1443) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1353) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:907) ~[na:na]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.RegisteredBean.resolveAutowiredArgument(RegisteredBean.java:229) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        at org.springframework.beans.factory.aot.BeanInstanceSupplier.resolveAutowiredArgument(BeanInstanceSupplier.java:341) ~[na:na]
bpm-bpm-api-1  |        ... 38 common frames omitted
bpm-bpm-api-1  | Caused by: java.lang.IllegalArgumentException: InputStream cannot be null
bpm-bpm-api-1  |        at java.xml@17.0.10/javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:118) ~[kz.mdocs.m11s.bpm.api.Application:na]
bpm-bpm-api-1  |        at org.flowable.common.engine.impl.AbstractEngineConfigurator.registerCustomMybatisMappings(AbstractEngineConfigurator.java:106) ~[kz.mdocs.m11s.bpm.api.Application:7.0.0]
bpm-bpm-api-1  |        at org.flowable.common.engine.impl.AbstractEngineConfigurator.beforeInit(AbstractEngineConfigurator.java:50) ~[kz.mdocs.m11s.bpm.api.Application:7.0.0]
bpm-bpm-api-1  |        at org.flowable.common.engine.impl.AbstractEngineConfiguration.configuratorsBeforeInit(AbstractEngineConfiguration.java:1113) ~[kz.mdocs.m11s.bpm.api.Application:7.0.0]
bpm-bpm-api-1  |        at org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl.init(ProcessEngineConfigurationImpl.java:895) ~[kz.mdocs.m11s.bpm.api.Application:7.0.0]
bpm-bpm-api-1  |        at org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl.buildProcessEngine(ProcessEngineConfigurationImpl.java:865) ~[kz.mdocs.m11s.bpm.api.Application:7.0.0]
bpm-bpm-api-1  |        at org.flowable.spring.SpringProcessEngineConfiguration.buildProcessEngine(SpringProcessEngineConfiguration.java:76) ~[kz.mdocs.m11s.bpm.api.Application:7.0.1]
bpm-bpm-api-1  |        at org.flowable.spring.ProcessEngineFactoryBean.getObject(ProcessEngineFactoryBean.java:59) ~[kz.mdocs.m11s.bpm.api.Application:7.0.1]
bpm-bpm-api-1  |        at org.flowable.spring.ProcessEngineFactoryBean.getObject(ProcessEngineFactoryBean.java:32) ~[kz.mdocs.m11s.bpm.api.Application:7.0.1]
bpm-bpm-api-1  |        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:182) ~[kz.mdocs.m11s.bpm.api.Application:6.1.4]
bpm-bpm-api-1  |        ... 49 common frames omitted

There is already article about flowable and graalvm, but it is outdated and @NativeHints is not present in spring boot 3 dependencies.

Any help appreciated.

Thanks

Hey @maratkalibek,

Have a look at our Flowable + Spring Boot in a GraalVM Native Image blog post about this topic.

Cheers,
Filip