Wildfly 上的 Spring 资源

问题描述

我们一直在尝试将在 Wildfly 中运行的旧应用程序升级到 Resteasy。它已经在 Wildfly 20 中运行了一段时间,但使用 Jersey 1.19。这不是最佳选择,因此我们将 JAX-RS 升级到 Wildfly 附带的 Resteasy。我们没有在部署中添加任何包,只使用 Wildfly 附带的一次。

设置或多或少是我们有一个 application-context 而不是多个 web-contexts。我们在 Spring 中为 web-contexts 激活了 component-scan 并将其添加web.xml。 我们添加ResteasyBootstrap SpringContextLoaderListener 在每个 web.xml 中。现在它应该加载资源并将它们连接在一起并公开资源。

我们得到了以下错误,而不是做它应该做的事情:

    at org.wildfly.extension.undertow@20.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:81)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at org.jboss.threads@2.3.3.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
    at org.jboss.threads@2.3.3.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
    at org.jboss.threads@2.3.3.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
    at org.jboss.threads@2.3.3.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
    at java.base/java.lang.Thread.run(Thread.java:834)
    at org.jboss.threads@2.3.3.Final//org.jboss.threads.JBossthread.run(JBossthread.java:485)
 Caused by: java.lang.RuntimeException: org.jboss.resteasy.spi.LoggableFailure: RESTEASY003880: Unable to find contextual data of type: javax.servlet.ServletContext
    at io.undertow.servlet@2.1.3.Final//io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:254)
    at org.wildfly.extension.undertow@20.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:96)
    at org.wildfly.extension.undertow@20.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:78)
    ... 8 more
 Caused by: org.jboss.resteasy.spi.LoggableFailure: RESTEASY003880: Unable to find contextual data of type: javax.servlet.ServletContext
    at org.jboss.resteasy.resteasy-jaxrs@3.12.1.Final//org.jboss.resteasy.core.ContextParameterInjector$GenericDelegatingProxy.invoke(ContextParameterInjector.java:77)
    at javax.servlet.api@2.0.0.Final//com.sun.proxy.$Proxy106.getAttribute(UnkNown Source)
    at org.wildfly.microprofile.opentracing-smallrye@20.0.1.Final//org.wildfly.microprofile.opentracing.smallrye.TracerDynamicFeature.configure(TracerDynamicFeature.java:54)
    at org.jboss.resteasy.resteasy-jaxrs@3.12.1.Final//org.jboss.resteasy.core.ResourceMethodInvoker.<init>(ResourceMethodInvoker.java:112)
    at org.jboss.resteasy.resteasy-jaxrs@3.12.1.Final//org.jboss.resteasy.core.ResourceMethodRegistry.processMethod(ResourceMethodRegistry.java:351)
    at org.jboss.resteasy.resteasy-jaxrs@3.12.1.Final//org.jboss.resteasy.core.ResourceMethodRegistry.register(ResourceMethodRegistry.java:278)
    at org.jboss.resteasy.resteasy-jaxrs@3.12.1.Final//org.jboss.resteasy.core.ResourceMethodRegistry.addResourceFactory(ResourceMethodRegistry.java:229)
    at org.jboss.resteasy.resteasy-jaxrs@3.12.1.Final//org.jboss.resteasy.core.ResourceMethodRegistry.addResourceFactory(ResourceMethodRegistry.java:201)
    at org.jboss.resteasy.resteasy-jaxrs@3.12.1.Final//org.jboss.resteasy.core.ResourceMethodRegistry.addResourceFactory(ResourceMethodRegistry.java:187)
    at deployment.sportsbook-backoffice.ear//org.jboss.resteasy.plugins.spring.SpringBeanProcessor.onApplicationEvent(SpringBeanProcessor.java:530)
    at deployment.sportsbook-backoffice.ear//org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
    at deployment.sportsbook-backoffice.ear//org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
    at deployment.sportsbook-backoffice.ear//org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
    at deployment.sportsbook-backoffice.ear//org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:426)
    at deployment.sportsbook-backoffice.ear//org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:383)
    at deployment.sportsbook-backoffice.ear//org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:943)
    at deployment.sportsbook-backoffice.ear//org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:591)
    at deployment.sportsbook-backoffice.ear//org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:401)
    at deployment.sportsbook-backoffice.ear//org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:292)
    at deployment.sportsbook-backoffice.ear//org.springframework.web.context.ContextLoaderListener.contextinitialized(ContextLoaderListener.java:103)
    at deployment.sportsbook-backoffice.ear//org.jboss.resteasy.plugins.spring.SpringContextLoaderListener.contextinitialized(SpringContextLoaderListener.java:57)
    at io.undertow.servlet@2.1.3.Final//io.undertow.servlet.core.ApplicationListeners.contextinitialized(ApplicationListeners.java:187)
    at io.undertow.servlet@2.1.3.Final//io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:217)
    at io.undertow.servlet@2.1.3.Final//io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:186)
    at io.undertow.servlet@2.1.3.Final//io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:42)
    at io.undertow.servlet@2.1.3.Final//io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
    at org.wildfly.extension.undertow@20.0.1.Final//org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
    at org.wildfly.extension.undertow@20.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
    at org.wildfly.extension.undertow@20.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
    at org.wildfly.extension.undertow@20.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
    at org.wildfly.extension.undertow@20.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
    at io.undertow.servlet@2.1.3.Final//io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:252)
    ... 10 more

我浏览了 Stack Overflow 和互联网的大部分内容,但没有任何可以帮助解决此问题的内容。任何人都可以暗示从哪里开始找出系统中的问题?

解决方法

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

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

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