Java MetadataMBeanifoAssembler不支持JDK动态代理
最近,我在SpringWeb应用程序中添加了JMX支持 这对于带有@Component的bean很好,但是,对于某些服务,在添加@ManagedResource时似乎出现了问题 我有一个用@service方法注释的spring服务。 我试图使用@ManagedResource将JMX添加到该服务中,但spring似乎在注册bean时遇到了问题:Java MetadataMBeanifoAssembler不支持JDK动态代理,java,spring,jakarta-ee,jmx,Java,Spring,Jakarta Ee,Jmx,最近,我在SpringWeb应用程序中添加了JMX支持 这对于带有@Component的bean很好,但是,对于某些服务,在添加@ManagedResource时似乎出现了问题 我有一个用@service方法注释的spring服务。 我试图使用@ManagedResource将JMX添加到该服务中,但spring似乎在注册bean时遇到了问题: org.springframework.beans.factory.BeanCreationException: Caused by: org
org.springframework.beans.factory.BeanCreationException:
Caused by: org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'mbeanExporter': Invocation of init method
failed; nested exception is
org.springframework.jmx.export.UnableToRegisterMBeanException: Unable
to register MBean [...] with key 'appAnalysisServiceImpl'; nested
exception is org.springframework.jmx.export.MBeanExportException:
Could not create ModelMBean for managed resource [
l@6142152] with key 'myservice'; nested exception is java.lang.IllegalArgumentException: MetadataMBeanInfoAssembler does
not support JDK dynamic proxies - export the target beans directly or
use CGLIB proxies instead
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1486)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524)
从异常消息来看,spring似乎需要一个特殊的导出器来处理这种类。
如何在不编写自己的导出器的情况下直接导出bean?如果您的服务使用@Transactional,那么Spring将无法创建ModelBean,因为服务是代理的