4

当使用 BlazeDS(Flex 应用程序)向 CF 发送日期,并且发送的日期在夏令时内时,CF 失败并出现错误:

[BlazeDS] 反序列化客户端消息时出错。Coldfusion.runtime.locale.CFLocaleBase$InvalidDateTimeException:2016 年 7 月 8 日下午 6:00:00 EDT 是无效的日期或时间字符串。

我的猜测是,这可能是由使用 Java 10 的 CF 2018 引起的,这在使用三个字符时区格式的 CLDR 中存在问题。(我们是美国店)。即使有标准的 JVM 开关-Djava.locale.providers=COMPAT,SPI,它也不起作用,每次都失败。

有没有人有任何想法如何解决?我即将尝试使用单独的 JVM 作为测试,但不确定这是否可行。我怀疑 BlazeDS 不能很好地与 JVM 配合使用(使用它自己的,也许吧?)

这是一个包含示例项目的 zip 文件,请参阅日志的“ADDITIONAL”子文件夹、代理 AMF 转储的屏幕截图等。将 Additional -> remotingDateTest 文件夹复制到您的 Web 根目录并调整项目应用程序文件中的 RemoteObject。 . https://www.dropbox.com/s/xte4bqrkp7loefi/Remoting%20Test.zip?dl=0

4

1 回答 1

1

Adobe 实际上为我提供了答案:将以下内容添加到我的 JVM 参数中(它有效!):

-Duser.timezone=NewYork
于 2019-02-15T17:17:00.130 回答