Проблемы синхронизации времени Java для нескольких клиентов часовых поясов на одном сервере базы данных - PullRequest
0 голосов
/ 12 марта 2011

Представьте следующий сценарий:

  1. У вас есть 10 приложений Java, обращающихся к серверу баз данных
  2. Каждый сервер приложений работал в течение некоторого времени, и времени приложений Java сейчас малос точностью до минуты
  3. 1 приложение вставляет запись, используя текущее время в качестве даты вступления в силу записи
  4. Другое приложение извлекает запись и сравнивает дату вступления в силу с ее текущим временем

В приведенном выше сценарии, даже если ваша логика приложения может звучать правильно, и когда она работает в производственной среде, все пойдет не так.

Как я могу решить эту проблему?

1 Ответ

2 голосов
/ 12 марта 2011

Используйте NTP для синхронизации времени машин.

Если по какой-либо причине это невозможно, используйте только дату и время сервера (например, с помощью функции NOW SQL или аналогичных функций ввставляет и как дополнительный столбец в выборках).

...