Я разрабатываю приложение, которое получает информацию из свойств файла, и я создаю поле, которое помещает новые значения в файл свойств . Проблема в том, что при отправке изменений файл не перезагружается и изменения не учитываются только после перезагрузки приложения. Я работаю с Eclipse, Indigo, Liferay 6.1, Tomcat 7.0, Vaadin, Spring, Hibernate и MavenАвтоматически перезагружать файл свойств после изменения
Я использую этот класс, чтобы сохранить новые значения из TextField в файл
public class configurationProperties {
Properties prop = new Properties() ;
File fProp = new File("C:/integrationContinue/src/main/resources/fooMessages_fr_FR.properties") ;
FileInputStream stream = null;
FileOutputStream oStream = null;
public void changeUrlJenkins(String url) throws IOException{
stream = new FileInputStream(fProp);
prop.load(stream) ;
prop.setProperty("jenkins.url",url) ;
oStream = new FileOutputStream(fProp);
prop.store(oStream,"test") ;
}
Когда Я нажимаю кнопку «Сохранить», ничего не происходит, но если я открою файл свойств
Получаю это сообщение «Файл» .../fooMessages_fr_FR.properties был изменен в файловой системе. Вы хотите заменить содержимое редактора с этими изменениями? "
Когда я нажимаю «кнопка перезагрузки», отправляются изменения и приложение перезагружается => это нормально, когда я нахожусь на затмении, я не могу сделать это в веб-браузере.
PS: Я слышал, что он может работать, если я использую Tomcat диспетчер вместо Tomcat интегрированы в Liferay, но когда я хотел настроить Liferay с новым путем ошибок Tomcat появляется
Что я могу сделать, чтобы автоматически перезагрузить файл свойств после его модификации
Опасайтесь, что вам также необходимо закрыть FileOutputStream: Из метода хранилища javadocs: «Выходной поток остается после открытия этого метода ". –