0

使用 Quarkus 1.9.1

我有一个命令行应用程序如下...

@CommandLine.Command
public class MyCommandApp {}

应用程序使用 3rd 方库启动服务器连接。在某些时候,当服务器接受连接时,它会动态附加一个侦听器。例如:

if(server.accept())
    server.setListener(new MyServerListener())

在 MyServerListener() 中,我可以使用这样的华丽实体吗?

// This is attached dynamically. There's no Quarkus CDI scope/context to this.
class MyServerLister implements ServerListener {
    @Override
    public void receiveEvent(Event event) {
        MyPanacheEntity.find(...)
        ...
    }

}
4

1 回答 1

0

华丽的实体应该可用于非 CDI bean。如果不是这种情况,请使用小型复制器打开问题。

但是 Panache 只能用于 Quarkus 应用程序,因为它依赖于 Quarkus 构建时增强功能。

无论如何,如果您想在其中使用 Quarkus CDI 的全部功能,您总是可以让您的 MyServerLister 成为 CDI bean,并将其注入您的内部MyCommandApp并将其传递到您的MyServerLister构造函数中。

于 2020-11-12T11:16:17.710 回答