在具有MongoDB Panache的CodecProvider中不可能进行依赖项注入?

在具有MongoDB Panache的CodecProvider中不可能进行依赖项注入?,mongodb,mongodb-java,quarkus,quarkus-panache,Mongodb,Mongodb Java,Quarkus,Quarkus Panache,我可以按照中所述创建自定义MongoDB编解码器提供程序,但是否可以在编解码器提供程序中获得依赖项注入,如下所示 @ApplicationScoped 公共类提供程序实现编解码器提供程序{ @注入 历史服务历史服务; @凌驾 公共编解码器获取(类clazz,编解码器注册表){ if(History.class.isAssignableFrom(clazz)) 返回新的HistoryCodec(historyService.getSchema()); 返回null; } } 如果不是,您将如何在

我可以按照中所述创建自定义MongoDB编解码器提供程序,但是否可以在编解码器提供程序中获得依赖项注入,如下所示

@ApplicationScoped
公共类提供程序实现编解码器提供程序{
@注入
历史服务历史服务;
@凌驾
公共编解码器获取(类clazz,编解码器注册表){
if(History.class.isAssignableFrom(clazz))
返回新的HistoryCodec(historyService.getSchema());
返回null;
}
}
如果不是,您将如何在Quarkus中实现应用程序感知编解码器


达米恩

这是不可能的,我认为我们不会支持它

MongoDB编解码器的目的是将对象序列化到MongoDB数据库,它不是CDIBean,只是POJO

它与Jackson或JSON-B序列化程序/反序列化程序所使用的类是同一类,而这些类也不是cdibean

如果您想执行一些映射阶段(代码似乎就是这样做的),那么应该在将对象持久化到MongoDB之前在服务层上执行映射

编解码器只是一个类,它处理如何将对象的属性(比如JavaBean)映射到BSON文档。它不应该有任何复杂的计算(想象有人会从编解码器调用数据库!)