从 Tomcat 中的 context.xml 检索资源的方法

Method to retrieve resources from context.xml in 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);

我想知道是否有一种方法可以用更少的步骤完成完全相同的事情

a web application on Tomcat 8.0

  1. Tomcat 8.0 的生命周期已结束。不要使用它。请参阅 tomcat.apache.org 中的 "Migration Guide" 以升级到 Tomcat 8.5 或 9.0。

  2. 请参阅 Tomcat 文档中的“JDNI Resources”。例如。 factory="org.apache.naming.factory.BeanFactory"可用于创建任意bean。

  3. 如果您只需要一组可配置的属性,使用 Context 中的 "Parameter" 元素定义它们会更容易。 Web 应用程序将通过 javax.servlet.ServletContext.getInitParameter(name) API.

  4. 获取这些值