使用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