2009-07-08 2 views
1

в моем файле "распорки-config.xml" Я написал:Struts 1.2.9 перезарядка application.properties

Когда мой запуска приложения нагрузки успешно application.properties.

Как я могу Перезагрузить свойства (потому что я хочу изменить много собственности написал внутри файла) без применения рестарта?

Большое спасибо.

Т.

+0

Таким образом, вы хотите изменить свойства в файле настроек struts и .properties без перезапуска контейнера? – amischiefr

ответ

1

использования (от http://www.docjar.com/html/api/com/opensymphony/xwork2/util/LocalizedTextUtil.java.html):

... 
clearMap(ResourceBundle.class, null, "cacheList"); 

// if it's Tomcat 
if ("org.apache.catalina.loader.WebappClassLoader".equals(cl.getName())) { 
    clearMap(cl, loader, "resourceEntries"); 
} 
... 

private static void clearMap(Class cl, Object obj, String name) 
     throws NoSuchFieldException, IllegalAccessException, 
     NoSuchMethodException, InvocationTargetException { 
    Field field = cl.getDeclaredField(name); 
    field.setAccessible(true); 

    Object cache = field.get(obj); 

    synchronized (cache) { 
     Class ccl = cache.getClass(); 
     Method clearMethod = ccl.getMethod("clear"); 
     clearMethod.invoke(cache); 
    } 
} 

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

Смежные вопросы