Метод для извлечения ресурсов из 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

  1. Tomcat 8.0 достиг конца жизни. Не используйте это. См. "Руководство по миграции" на tomcat.apache.org для обновления до Tomcat 8.5 или 9.0.

  2. См. " Ресурсы JDNI" в документации Tomcat. Например factory="org.apache.naming.factory.BeanFactory" может быть использован для создания произвольного компонента.

  3. Если вам просто нужен набор настраиваемых свойств, определение их с помощью элемента "Параметр" в контексте будет проще. Веб-приложение получит эти значения через javax.servlet.ServletContext.getInitParameter(name) API.

Другие вопросы по тегам