使用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(...)
...
}
}
答案 0 :(得分:0)
Panache实体应可在非CDI豆上使用。如果不是这种情况,请打开一个小型复制机。
但是Panache只能在Quarkus应用程序上使用,因为它依赖于Quarkus的构建时增强功能。
无论如何,如果您想在其中充分利用Quarkus CDI的功能,可以始终将MyServerLister设为CDI bean,然后将其注入fetch
内并传递给MyCommandApp
构造函数内。