Подстановочные знаки для ресурсов в context.xml сервлета Tomcat. - PullRequest
2 голосов
/ 16 сентября 2008

Я не слишком знаком с Tomcat, но моя команда унаследовала сложный проект, который вращается вокруг сервлета Java, размещенного в Tomcat на многих серверах. Пользовательское программное обеспечение для управления конфигурацией используется для записи server.xml, а различные ресурсы (пулы соединений, компоненты, переменные сервера и т. Д.), Записанные в server.xml, конфигурируют сервлет. Это все хорошо.

Однако названия некоторых ресурсов заранее неизвестны. Например, сервлету может потребоваться доступ к любому количеству «анонимайзеров», настроенных оператором. Каждый анонимайзер имеет уникальное имя, связанное с ним. Мы создаем и настраиваем каждый анонимайзер с использованием Java-бинов, как показано ниже:

<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"
/>

Однако, похоже, это требует от нас наличия явных записей в файле context.xml сервлета для каждого каждого возможного имени ресурса. Я хотел бы заменить явные записи context.xml подстановочными знаками или узнать, есть ли лучшее решение для этого типа проблемы.

В настоящее время:

  <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"/>

Заменено на что-то вроде:

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

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

Ответы [ 2 ]

1 голос
/ 20 октября 2008

Я не сталкивался с этим, но может быть проще иметь что-то вроде AnonymizerService в качестве ресурса, который раскрывает все различные требуемые AnonymizerBeans. Таким образом, у вас не будет проблем с подстановочными знаками, вам нужно будет опубликовать только один ресурс в веб-приложении, и вы вернетесь по четко определенному и понятному пути.

Надеюсь, это поможет примерно через месяц после первоначального вопроса ...

1 голос
/ 16 сентября 2008

Я не знаю, требуется ли вам это, но, возможно, вы захотите заняться созданием собственной фабрики ресурсов для Tomcat. Вот общая документация для всех ресурсов через Tomcat: Tomcat Resources

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...