Как потокобезопасный синхронизатор Commons-Configuration2 в независимых приложениях

У меня есть файл конфигурации свойств, доступ к которому осуществляется одним приложением и который может быть изменен другим. Мне нужно обеспечить синхронизацию чтения и записи, поэтому я нашел версию Apache Commons-Configuration2 PropertiesConfiguration. В документации указано, что доступ к файлу можно синхронизировать аналогично блокировке чтения-записи. Однако я не смог определить степень блокировки, только между потоками в одном приложении или во всем файле?


person Chen    schedule 01.04.2020    source источник


Ответы (1)


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

Синхронизация процессов

И вы правы, возможности синхронизации Commons-Configuration2. Он поддерживает синхронизацию только между потоками внутри одного процесса (как и большинство фреймворков со встроенными функциями синхронизации). В документации Commons-Configuration2 есть несколько хороших документов. примеры безопасности потоков.

Синхронизация файлов

Commons-Configuration2 считывает файл конфигурации в память, а затем реализует его. Вы можете удалить или изменить его во время работы программы. Commons-Configuration2 не будет читать файл снова, пока вы не скажете ему это сделать. Если вы хотите заблокировать файл и предотвратить изменение, посмотрите на FileLocks.

Если вы хотите следить за изменениями, вам следует взглянуть на FileWatchers.

person Henne    schedule 12.10.2020