ColdFusion 2018 и BlazeDS DateTime Parse Error для трехзначного кода перехода на летнее время
При использовании BlazeDS (приложение Flex) для отправки дат в CF, а отправленная дата находится в пределах перехода на летнее время, CF завершается с ошибкой:
[BlazeDS] Ошибка десериализации клиентского сообщения. coldfusion.runtime.locale.CFLocaleBase$InvalidDateTimeException: 8 июля 2016 г. 18:00:00 EDT является недопустимой строкой даты или времени.
Я предполагаю, что это, вероятно, вызвано тем, что CF 2018 использует Java 10, которая имеет проблему в CLDR с использованием трехсимвольных форматов часовых поясов. (Мы в магазине США). Даже имея стандартный переключатель JVM -Djava.locale.providers=COMPAT,SPI
это не работает, терпит неудачу каждый раз.
У кого-нибудь есть идеи как решить? Я собираюсь попробовать использовать отдельную JVM в качестве теста, но не уверен, сработает ли это или нет. Я подозреваю, что BlazeDS не очень хорошо работает с JVM (возможно, с его собственным)?
Ниже приведен zip-файл, содержащий пример проекта, см. Подпапку "ДОПОЛНИТЕЛЬНО" для журналов, снимок экрана прокси-сервера AMF и т. Д. Скопируйте папку "Дополнительно" -> remotingDateTest в корневой веб-каталог и настройте RemoteObject в файле приложения проекта. https://www.dropbox.com/s/xte4bqrkp7loefi/Remoting%20Test.zip?dl=0
1 ответ
Adobe фактически предоставила мне ответ: добавьте следующее в мои аргументы JVM (это работает!):
-Duser.timezone=NewYork