首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tomcat Servlet的context.xml中资源的通配符

Tomcat Servlet的context.xml中资源的通配符
EN

Stack Overflow用户
提问于 2008-09-16 00:07:20
回答 2查看 1.8K关注 0票数 2

我对Tomcat不是很熟悉,但我的团队继承了一个复杂的项目,该项目围绕一个跨多个服务器托管在Tomcat中的Java Servlet展开。自定义配置管理软件用于写出server.xml,并写入server.xml的各种资源(连接池、beans、服务器变量等)配置servlet。这一切都很好。

然而,一些资源的名称是事先不知道的。例如,Servlet可能需要访问操作员配置的任意数量的“匿名者”。每个匿名者都有一个与之相关联的唯一名称。我们使用java bean创建和配置每个匿名器,如下所示:

代码语言:javascript
复制
<Resource
  name="bean/Anonymizer_toon"
  type="com.company.tomcatutil.AnonymizerBean"
  factory="org.apache.naming.factory.BeanFactory"
  className="teAnonymizer"
  databaseId="50"
/>
<Resource
  name="bean/Anonymizer_default"
  type="com.company.tomcatutil.AnonymizerBean"
  factory="org.apache.naming.factory.BeanFactory"
  className="teAnonymizer"
  databaseId="54"
/>

然而,这似乎需要我们在Servlet的context.xml文件中为每个可能的资源名称预先提供显式的条目。我想用通配符替换显式的context.xml条目,或者知道是否有更好的解决此类问题的方法。

目前:

代码语言:javascript
复制
  <ResourceLink name="bean/Anonymizer_default"
                global="bean/Anonymizer_default"
                type="com.company.tomcatutil.AnonymizerBean"/>

  <ResourceLink name="bean/Anonymizer_toon"
                global="bean/Anonymizer_toon"
                type="com.company.tomcatutil.AnonymizerBean"/>

替换为类似以下内容:

代码语言:javascript
复制
  <ResourceLink name="bean/Anonymizer_*"
                global="bean/Anonymizer_*"
                type="com.company.tomcatutil.AnonymizerBean"/>

但是,我还不能确定这是否可能,或者正确的语法是什么。有没有人能提出一些更好的处理方法的建议?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2008-10-19 20:52:34

我还没有遇到过这种情况,但是使用像AnonymizerService这样的资源来显示所有不同的所需AnonymizerBeans可能会更容易一些。这样你就没有通配符的问题了,只需要将一个资源发布到web应用程序,你就回到了定义良好和理解良好的道路上。

希望在最初的问题后一个月能有所帮助……

票数 1
EN

Stack Overflow用户

发布于 2008-09-16 02:37:47

我不知道这是否是您所需要的,但是您可能希望研究为Tomcat创建自己的自定义资源工厂。以下是通过Tomcat提供的所有资源的一般文档:Tomcat Resources

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档