有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java CXF SpringComponentScanServer使用

我想将CXF配置为自动扫描资源、提供者、功能和批次。在我的搜索中,我发现了SpringComponentScanServer,这听起来像是我需要的东西。不幸的是,关于这个类的文档几乎不存在

当您有用@javax.ws.rs.ext.Provider注释的类时,它们会按预期由CXF拾取。当您有一个用org.apache.cxf.annotations.Provider注释的特性时,它也会被CXF拾取

但是,如果您有一个没有此注释的第三方功能,该怎么办? 例如,CXF LoggingFeature?据我所知,如果不能更改类的源代码,就不能向类添加注释

我想出了以下可怕的解决办法,但肯定有更好的方法来解决这个问题

@Configuration
@Import(SpringComponentScanServer.class)
public class CxfConfig {

    @Component
    @Provider(Provider.Type.Feature)
    static class MyLoggingFeature extends LoggingFeature {
    }
}

这里,我基本上扩展了现有的LoggingFeature,只添加了@Provider注释

我找到了下面的示例CXF JAXRS Spring Boot example,它实现了我想要的招摇过市功能。这是可行的,但仅从CXF 3.1.6开始,并且仅适用于Swagger2功能。不适用于日志功能

所以我的问题是:有没有一种不那么可怕的方式来添加LoggingFeature


共 (0) 个答案