Panache实体可以在非Quarkus托管服务中使用吗?

时间:2020-11-10 15:40:02

标签: quarkus quarkus-panache

使用Quarkus 1.9.1

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

@CommandLine.Command
public class MyCommandApp {}

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

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

在MyServerListener()内部,我可以使用这样的panache实体吗?

// 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(...)
        ...
    }

}

1 个答案:

答案 0 :(得分:0)

Panache实体应可在非CDI豆上使用。如果不是这种情况,请打开一个小型复制机。

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

无论如何,如果您想在其中充分利用Quarkus CDI的功能,可以始终将MyServerLister设为CDI bean,然后将其注入fetch内并传递给MyCommandApp构造函数内。