如何解决Spring 条件 EventListener 参考被调用的 Bean
我已经通过 BeanDefinitionRegistryPostProcessor
在我的应用程序上下文中动态发布了任意数量的相同类的 bean。
这些 bean 充当 EventListener,但每个 bean 应该只对适当的事件做出反应。
哪些事件是合适的取决于存储在具体 bean 中的值。
我的豆类:
public class DynamicBeanClass {
private final String addressId;
public DynamicBeanClass (String addressId) {
this.addressId = addressId;
}
@EventListener(condition = "#event.addressId.matches('^TEST_' + #this.addressId + '$')")
public void on(EventClass event) {
System.err.println("Hello from " + addressId);
}
}
#this
解析为 EventExpressionRootObject
,因此 addressId
不可访问。
使用 #addressId
产生 null
。
是否可以访问在 SPEL 表达式中评估 @EventListener
条件的 bean?
如果没有,我应该考虑哪些替代方案?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。