gpt4 book ai didi

java - DWR - Jetty 9 中的 splinter 反射异常

转载 作者:行者123 更新时间:2023-11-28 23:34:22 27 4
gpt4 key购买 nike

我们目前正在使用部署到 Tomcat 的 DWR 3.0.RC2 开发应用程序,其中 DWR 已配置并按预期工作。我们正在考虑改用 Jetty,我正在处理迁移过程。但是,我在服务器上遇到导致 DWR 无法工作的异常,想知道是否有人遇到过这个问题或有建议(以防我错过了一些配置等)。

应用程序加载并启动。浏览到时,我们在浏览器控制台中收到错误消息,并且没有按预期推送 DWR 数据。服务器日志显示每个带有 DWR 推送的请求期间的堆栈跟踪。

当前部署(工作)在 Tomcat 7.0.21 上,我们正在尝试迁移到 Jetty 9.2.3.v20140905(不工作)。有人可以提供一些指示吗?

jetty 配置:

100% 默认(为此用途新下载),除了运行 java -jar start.jar --add-to-startd=https 以启用 HTTPS。

相关web.xml配置:

<servlet>
<description>Direct Web Remoting Servlet</description>
<display-name>DWR Servlet</display-name>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>

<!-- We're currently using Java annotations instead of a separate dwr.xml
config file. -->
<init-param>
<!-- The "classes" servlet parameter must provide a comma-separated
list of the fully-qualified class names of all annotated classes
to be used with DWR. -->
<param-name>classes</param-name>
<param-value>
org.ourdomain.ourapp.ApplicationDWR,
org.ourdomain.ourapp.DataImportDWR
</param-value>
</init-param>

<!-- Remove this unless you want to use active reverse ajax -->
<init-param>
<param-name>activeReverseAjaxEnabled</param-name>
<param-value>true</param-value>
</init-param>

<!-- By default DWR creates application scope objects when they are first
used. This creates them when the app-server is started -->
<init-param>
<param-name>initApplicationScopeCreatorsAtStartup</param-name>
<param-value>true</param-value>
</init-param>

<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>

错误:

客户:

Error: Object {name: "dwr.engine.missingData", message: "No data received from server"}

服务器:

13:12:09,621 ERROR JettyContinuationSleeper:181 - Broken reflection
java.lang.NullPointerException
at org.directwebremoting.util.Continuation.resume(Continuation.java:107)
at org.directwebremoting.server.jetty.JettyContinuationSleeper.wakeUp(JettyContinuationSleeper.java:177)
at org.directwebremoting.impl.TimedAlarm$1.run(TimedAlarm.java:46)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

最佳答案

看起来 DWR 还没有更新他们的 support for Jetty since 7.0.1 (那是 5 年前)。

似乎有一个Servlet3 support option ,你可以使用/配置吗? (Jetty 9 是一个有效的 Servlet 3.1 容器)

关于java - DWR - Jetty 9 中的 splinter 反射异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26068882/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com