UndertowJaxrsServer.deploy 和 UndertowJaxrsServer.deployOldStyle 有什么区别?

问题描述

我正在尝试使用 Undertow + Resteasy + Jackson2 在我的 pom.xml 中使用这些依赖项生成一个可引导的 jar:

<dependency>
    <groupId>org.jboss.resteasy</groupId>
    <artifactId>resteasy-undertow</artifactId>
    <version>${resteasy.version}</version>
</dependency>
<dependency>
    <groupId>org.jboss.resteasy</groupId>
    <artifactId>resteasy-cdi</artifactId>
    <version>${resteasy.version}</version>
</dependency>
<dependency>
    <groupId>org.jboss.resteasy</groupId>
    <artifactId>resteasy-jackson2-provider</artifactId>
    <version>${resteasy.version}</version>
</dependency>

当我使用 3.* 版本的 resteasy 时,我可以这样启动 WebServer:

public static UndertowJaxrsServer startServer() {
    server = new UndertowJaxrsServer()
              .deploy(MyOwnApplication.class) // replace this with .deployOldStyle(MyOwnApplication.class) for versions grater than 4.0 of resteasy
              .start(
                      Undertow.builder()
                            .addHttpListener(Integer.parseInt(SERVER_PORT),SERVER_HOST)
              );
    return server;
}

但是,在将 resteasy 从 v3.0.9.Final 升级到 v4.6.0.Final 后,此服务不起作用(在每个 POST 请求中总是产生错误 405 - 方法不允许)。 我找到的解决方案是用 deploy 替换 deployOldStyle 方法(仅在 reasteasy 4 以上的版本中出现),但它似乎没有记录。

谁能解释一下 deploy 方法是如何改变的?为什么? 我应该修改代码的其他部分并继续使用 deploy 方法吗?

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)