Метод для извлечения ресурсов из context.xml в Tomcat
Я хотел получить значения из моего context.xml, и я нашел этот фрагмент кода для этого:
// Acquire an instance of our specified bean class
MyBean bean = new MyBean();
// Customize the bean properties from our attributes
Reference ref = (Reference) obj;
Enumeration addrs = ref.getAll();
while (addrs.hasMoreElements()) {
RefAddr addr = (RefAddr) addrs.nextElement();
String name = addr.getType();
String value = (String) addr.getContent();
if (name.equals("foo")) {
bean.setFoo(value);
} else if (name.equals("bar")) {
try {
bean.setBar(Integer.parseInt(value));
} catch (NumberFormatException e) {
throw new NamingException("Invalid 'bar' value " + value);
}
}
}
// Return the customized instance
return (bean);
Я хотел знать, есть ли способ сделать то же самое, но с меньшим количеством шагов
1 ответ
Решение
веб-приложение на Tomcat 8.0
Tomcat 8.0 достиг конца жизни. Не используйте это. См. "Руководство по миграции" на tomcat.apache.org для обновления до Tomcat 8.5 или 9.0.
См. " Ресурсы JDNI" в документации Tomcat. Например
factory="org.apache.naming.factory.BeanFactory"
может быть использован для создания произвольного компонента.Если вам просто нужен набор настраиваемых свойств, определение их с помощью элемента "Параметр" в контексте будет проще. Веб-приложение получит эти значения через
javax.servlet.ServletContext.getInitParameter(name)
API.