apache-flexcoldfusionblazedsjava-10coldfusion-2018

ColdFusion 2018 and BlazeDS DateTime Parse Error for Three Char Daylight Saving Time Code


When using BlazeDS (Flex app) to send dates to CF, and the date sent is within Daylight Saving Time, CF fails with an error:

[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.

My guess is that this is likely caused by CF 2018 using Java 10 which has an issue in CLDR using three character time zone formats. (We are US shop). Even having the standard JVM switch -Djava.locale.providers=COMPAT,SPI it does not work, fails every time.

Does anyone have any ideas how to resolve? I am about to try using a separate JVM as a test, but not sure whether that will work or not. I suspect BlazeDS is not playing nicely with JVM (using its own, maybe?)

Here is a zip file containing sample project, see "ADDITIONAL" sub-folder for logs, screen shot of proxy AMF dump, etc. Copy the Additional -> remotingDateTest folder to your web root and adjust the RemoteObject in the project application file... https://www.dropbox.com/s/xte4bqrkp7loefi/Remoting%20Test.zip?dl=0


Solution

  • Adobe actually provided me with the answer: add the following to my JVM args (it works!):

    -Duser.timezone=NewYork