ColdFusion 2018和三个Char夏令时代码的BlazeDS DateTime解析错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ColdFusion 2018和三个Char夏令时代码的BlazeDS DateTime解析错误相关的知识,希望对你有一定的参考价值。

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

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

我的猜测是,这很可能是由CF 2018使用Java 10造成的,这在使用三种字符时区格式的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

答案

Adobe实际上为我提供了答案:将以下内容添加到我的JVM args(它可以工作!):

-Duser.timezone=NewYork

以上是关于ColdFusion 2018和三个Char夏令时代码的BlazeDS DateTime解析错误的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 19c 连接到 ColdFusion 2018

Coldfusion - 奇怪的解析时间结果

漏洞预警Adobe ColdFusion 反序列化漏洞

黄埔特种小兵军事夏令营--2018火热招生

在 ColdFusion 中调用函数时如何仅指定一些可选参数?

在编辑文件时,使用TFS intellij和Coldfusion只会锁定.cfm文件