微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在动态注册的Bean上的Spring Boot @Transactional支持

如何解决在动态注册的Bean上的Spring Boot @Transactional支持

为了提高我的服务的可配置性,我实现了一种逻辑,以获取要在运行时注册的,在我的配置中定义的bean,例如:

READ_BIT

在应用程序启动时,引导程序组件读取配置并根据其在配置中的定义实例化Bean:

receivers:
  myResource:
    sourceExchange: MyExchange
    entity: "com.company.domain.MyEntity"
    writer: "com.company.writer.MyEntityDBWriter"

这很好用,并允许可配置的Bean注册,而不会丢失自动配置/自动装配支持。 由于这些bean中采用的逻辑是DB-Writing-Logic,因此我想通过使用 @Component @Slf4j public class ReceiverBootstrapper { private ReceiversConfigurationModel configuration; private ConfigurableApplicationContext context; private Environment environment; public ReceiverBootstrapper(ReceiversConfigurationModel receiversConfigurationModel,ConfigurableApplicationContext context,Environment environment) { this.configuration = receiversConfigurationModel; this.context = context; this.environment = environment; } @postconstruct public void bootstrapReceivers() throws ClassNotFoundException,illegalaccessexception,InstantiationException { Map<String,ReceiverConfigurationModel> receiverMap = this.configuration.getReceivers(); for (String receiverName : receiverMap.keySet()) { ReceiverConfigurationModel receiverConfigurationModel = this.configuration.getReceivers().get(receiverName); Class writerClass = Class.forName(receiverConfigurationModel.getWriter()); AbstractDocumentWriter writer = (AbstractDocumentWriter) writerClass.newInstance(); context.getbeanfactory().registerSingleton(receiverName + "Writer",writer); context.getbeanfactory().autowireBean(writer); writer.postconstruct(); ... } } 进行自动事务管理来扩展此概念,但是我想我将不得不告诉某些Manager遵守实例化和注册的手册上的这些注释。豆。

您对我有一个提示,关于手动实例化我必须告诉什么组件?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?