我正在使用夸克来实现第三方库中定义的rest。这个库包含实现ParamConverterProvider、ExceptionMapper、ConstraintValidator、资源接口的默认实现等的提供者。图书馆缺少beans.xml和jandex索引。
问题:需要有选择地初始化库中的一些类。请建议如何做到这一点。
我试过的是:
@ApplicationScoped
public class AppConfig extends ResourceConfig {
public AppConfig() {
register(UnsupportedOperationExceptionMapper.class);
} @ApplicationScoped
public class MyResteasyBootstrap extends ResteasyBootstrap {
@Override
public void contextInitialized(ServletContextEvent event) {
super.contextInitialized(event);
ResteasyProviderFactory factory = ResteasyProviderFactory.getInstance();
factory.registerProvider(UnexpectedErrorExceptionMapper.class);
}@ApplicationScoped
public class MyContextResolver implements ContextResolver<ResteasyProviderFactory> {
private ResteasyProviderFactory factory = ResteasyProviderFactory.getInstance();
@PostConstruct
void initialize() {
factory.registerProvider(UnsupportedOperationExceptionMapper.class);
}
@Override
public ResteasyProviderFactory getContext(Class type) {
return factory;
}@QuarkusMain
public class MyQuarkusApplication {
public static void main(String ... args) {
ResteasyProviderFactory factory = ResteasyProviderFactory.getInstance();
factory.registerProvider(UnsupportedOperationExceptionMapper.class);
Quarkus.run(args);
}
}发布于 2022-02-17 12:25:37
我在gihub上创建了一个票证,其中他们提出了解决问题的两个选项,这两个选项对于不同的情况都很有用。
https://stackoverflow.com/questions/71094035
复制相似问题