我有一个每 10 分钟运行一次的后台服务。
该服务在数据库中查询要执行的作业,将根据作业加载具有不同业务逻辑的类(使用 Class.forName())。当然,它们实现了相同的接口。
我将这些类声明为 SEAM 组件,但是当我尝试使用 entityManager 或 Logger 时,我得到了 NPE。
回答我自己的问题,我想这是因为 Class.forName() 属于 SEAM 的注入机制,它没有机会注入依赖项。
在我加载类之后,我可能可以通过自己注入这些来解决这个问题。有没有更好的方法来做到这一点?
谢谢!