Skip to content
This repository was archived by the owner on Feb 23, 2023. It is now read-only.
This repository was archived by the owner on Feb 23, 2023. It is now read-only.

Spring Native 0.11.3 + Latest Spring Data JPA and Sleuth Zipkin breaks during Bootstrap #1524

@goafabric

Description

@goafabric

The combination of
Spring Native 0.11.3 + Spring Cloud 2021.0.1 + Sleuth-Zipkin + Spring Data
breaks during bootstrap.
Exception below.
As well as a minimal project branch to take a look.

This projects breaks inside Github Actions, because it test bootstraps the application there.
Downgrading to Cloud 2021.0.0 seems to resolve the issue, though i am wondering that this
does not through the usual Incompatibility error

It took me quiet a while to figure out what part exactly was causing the error after the spring native upgrade.
So I am 100% sure that Zikpin is the Problem here .. though it is a lil odd how this interferes with the Transaction Manager

BRANCH jpa-minmal:
https://github.com/goafabric/person-service/tree/jpa-minmal

Exception:
rg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Initialization of bean failed; nested exception is com.oracle.svm.core.jdk.UnsupportedFeatureError: Proxy class defined by interfaces [interface org.springframework.transaction.support.ResourceTransactionManager, interface org.springframework.beans.factory.BeanFactoryAware, interface org.springframework.beans.factory.InitializingBean, interface org.springframework.transaction.PlatformTransactionManager, interface java.io.Serializable, interface org.springframework.aop.SpringProxy, interface org.springframework.aop.framework.Advised, interface org.springframework.core.DecoratingProxy] not found. Generating proxy classes at runtime is not supported. Proxy classes need to be defined at image build time by specifying the list of interfaces that they implement. To define proxy classes use -H:DynamicProxyConfigurationFiles= and -H:DynamicProxyConfigurationResources= options.
1071
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:628) ~[na:na]
1072
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[na:na]
1073
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[na:na]
1074
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[na:na]
1075
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[na:na]
1076
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[na:na]
1077
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:953) ~[na:na]
1078
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) ~[na:na]
1079
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[na:na]
1080
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[na:na]
1081
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:740) ~[org..personservice.Application:2.6.4]
1082
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:415) ~[org.
.personservice.Application:2.6.4]
1083
at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) ~[org..personservice.Application:2.6.4]
1084
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1312) ~[org.
.personservice.Application:2.6.4]
1085
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1301) ~[org..personservice.Application:2.6.4]
1086
at org.
.personservice.Application.main(Application.java:24) ~[org..personservice.Application:na]
1087
Exception in thread "Thread-2" zipkin2.reporter.ClosedSenderException
1088
at zipkin2.reporter.AsyncReporter$BoundedAsyncReporter.flush(AsyncReporter.java:265)
1089
at org.springframework.cloud.sleuth.autoconfig.zipkin2.ZipkinAutoConfiguration$2.run(ZipkinAutoConfiguration.java:142)
1090
at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:597)
1091
at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:194)
1092
Caused by: com.oracle.svm.core.jdk.UnsupportedFeatureError: Proxy class defined by interfaces [interface org.springframework.transaction.support.ResourceTransactionManager, interface org.springframework.beans.factory.BeanFactoryAware, interface org.springframework.beans.factory.InitializingBean, interface org.springframework.transaction.PlatformTransactionManager, interface java.io.Serializable, interface org.springframework.aop.SpringProxy, interface org.springframework.aop.framework.Advised, interface org.springframework.core.DecoratingProxy] not found. Generating proxy classes at runtime is not supported. Proxy classes need to be defined at image build time by specifying the list of interfaces that they implement. To define proxy classes use -H:DynamicProxyConfigurationFiles= and -H:DynamicProxyConfigurationResources= options.
1093
at com.oracle.svm.core.util.VMError.unsupportedFeature(VMError.java:89) ~[na:na]
1094
at com.oracle.svm.reflect.proxy.DynamicProxySupport.getProxyClass(DynamicProxySupport.java:146) ~[na:na]
1095
at java.lang.reflect.Proxy.getProxyConstructor(Proxy.java:66) ~[org.
.personservice.Application:na]
1096
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:1037) ~[org.***.personservice.Application:na]
1097
at org.springframework.aop.framework.JdkDynamicAopProxy.getProxy(JdkDynamicAopProxy.java:126) ~[na:na]
1098
at org.springframework.aop.framework.ProxyFactoryBean.getProxy(ProxyFactoryBean.java:370) ~[na:na]
1099
at org.springframework.aop.framework.ProxyFactoryBean.getSingletonInstance(ProxyFactoryBean.java:328) ~[na:na]
1100
at org.springframework.aop.framework.ProxyFactoryBean.getObject(ProxyFactoryBean.java:252) ~[na:na]
1101
at org.springframework.cloud.sleuth.autoconfig.instrument.tx.AbstractTransactionManagerInstrumenter.getObject(AbstractTransactionManagerInstrumenter.java:111) ~[na:na]
1102
at org.springframework.cloud.sleuth.autoconfig.instrument.tx.AbstractTransactionManagerInstrumenter.createProxy(AbstractTransactionManagerInstrumenter.java:120) ~[na:na]
1103
at org.springframework.cloud.sleuth.autoconfig.instrument.tx.AbstractTransactionManagerInstrumenter.wrapManager(AbstractTransactionManagerInstrumenter.java:104) ~[na:na]
1104
at org.springframework.cloud.sleuth.autoconfig.instrument.tx.AbstractTransactionManagerInstrumenter.instrument(AbstractTransactionManagerInstrumenter.java:88) ~[na:na]
1105
at org.springframework.cloud.sleuth.autoconfig.instrument.tx.TracePlatformTransactionManagerBeanPostProcessor.postProcessAfterInitialization(TracePlatformTransactionManagerBeanPostProcessor.java:40) ~[na:na]
1106
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:455) ~[na:na]
1107
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1808) ~[na:na]
1108
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) ~[na:na]

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions