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

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

[BlazeDS] Error deserializing client message.
coldfusion.runtime.locale.CFLocaleBase$InvalidDateTimeException: July 8, 2016 6:00:00 PM EDT is an invalid date or time string.

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

有没有人有任何想法如何解决?我即将尝试使用单独的JVM作为测试,但不确定这是否有效.我怀疑BlazeDS与JVM玩得不好(使用它自己,也许?)

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

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

-Duser.timezone=NewYork
点赞