使用 Quarkus 注入实体侦听器
Injection in entity listener with Quarkus
我正在尝试将一个 bean 注入到 Quarkus 应用程序中的实体侦听器中:
@ApplicationScoped
public class MyEntityListener implements Serializable {
@Inject
MyService service;
@PrePersist
@PreUpdate
public void checkWrite(BaseEntity entity) {
service.check(entity);
}
}
但是 service
总是 null
。将范围更改为 @SessionScoped
无效。
根据这 2 个 SO 讨论,这应该是可能的:
- CDI injection in EntityListeners
- How can I use an EJB in a EntityListener?
我找不到关于 Quarkus 使用哪个 JPA 版本的任何信息,但由于它是最先进的框架,我认为它是 JPA 2.1?
那么这应该可行吗?如果可行,我做错了什么?
我发现了解决此问题的 Quarkus 问题:https://github.com/quarkusio/quarkus/issues/6948
似乎 Quarkus 不支持此功能,也许将来会实现。还描述了一种解决方法。
我正在尝试将一个 bean 注入到 Quarkus 应用程序中的实体侦听器中:
@ApplicationScoped
public class MyEntityListener implements Serializable {
@Inject
MyService service;
@PrePersist
@PreUpdate
public void checkWrite(BaseEntity entity) {
service.check(entity);
}
}
但是 service
总是 null
。将范围更改为 @SessionScoped
无效。
根据这 2 个 SO 讨论,这应该是可能的:
- CDI injection in EntityListeners
- How can I use an EJB in a EntityListener?
我找不到关于 Quarkus 使用哪个 JPA 版本的任何信息,但由于它是最先进的框架,我认为它是 JPA 2.1?
那么这应该可行吗?如果可行,我做错了什么?
我发现了解决此问题的 Quarkus 问题:https://github.com/quarkusio/quarkus/issues/6948
似乎 Quarkus 不支持此功能,也许将来会实现。还描述了一种解决方法。