При запуске Tomcat рекурсивно сканирует каталоги WEB-INF для дескрипторов TLD (Tag Library Descriptor). В результате, если у webapp есть много файлов в этом каталоге, это замедляет процесс запуска. Кто-нибудь знает, есть ли способ в этой ситуации полностью отключить сканирование или, по крайней мере, предоставить фильтр для сужения поиска?Можно ли отключить сканирование taglib в Tomcat?
ответ
Вы можете добавить processTlds атрибутов в контексте
<Context processTlds="false" ... />
Однако ваши домены верхнего уровня, определенные в файле JAR не будет работать без сканирования баночки. Вы должны определить все TLD в WEB-INF.
Спасибо! Это хорошо сделал трюк! –
Кажется, это атрибут Tomcat 7. – Zalumon
В качестве альтернативы (если вы все еще предпочитаете сканировать некоторые JAR), вы можете добавить новые значения в свойство «tomcat.util.scan.DefaultJarScanner.jarsToSkip» в «{TOMCAT_HOME} /conf/catalina.properties».
Что нового в Tomcat 7, правильно? В моем случае я все еще на Tomcat 6, но для Tomcat 7 пользователей, которые выглядят как хороший вариант. –
Да. Не применимо к Tomcat 6. Свойство появляется в Tomcat 7. –
Я был озадачен той же проблемой. Изучая исходный код Tomcat 7.0.40, невозможно избежать сканирования банок, установив «processTlds = false», они все равно будут сканироваться для веб-фрагментов (ContextConfig.processJarsForWebFragments()).
Есть 2 варианта: Остальные
Установить свойство в TOMCAT_HOME/CONF/catalina.properties
org.apache.catalina.startup.ContextConfig.jarsToSkip=*.jar
Заменить StandardJarScanner вашей собственной реализации, например, пустой и относятся к нему с my.war /META-INF/context.xml:
<Context processTlds="false">
<JarScanner className="org.my.tomcat.NullJarScanner"/>
</Context>
в последнем случае вам необходимо убедиться, что NullJarScanner класс доступен в Lib каталоге TOMCAT, а не йо ur .war
На Tomcat 8 можно решить, добавив META-INF\context.xml
с конфигурацией, приведенной ниже, в файл WAR. Не нужно менять глобальную конфигурацию Tomcat.
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<JarScanner>
<JarScanFilter tldSkip="*.*"/>
</JarScanner>
</Context>
Соответствующая документация доступна здесь: http://tomcat.apache.org/tomcat-8.0-doc/config/jar-scan-filter.html
- 1. Можно ли отключить jsessionid в сервлете tomcat?
- 2. Можно ли отключить функцию Hot Deployment в TomCat?
- 3. Можно ли отключить функцию browserCaps в ASP.NET?
- 4. отключить кэширование страницы J2ee TagLib
- 5. Отключить сканирование TLD при инициализации Appengine
- 6. Можно ли отключить автозаполнение?
- 7. JTL C taglib на Tomcat 5.0
- 8. Можно ли прервать нить tomcat
- 9. Пользовательские задачи JLTL TagLib и TomCat
- 10. Отключить ведение журнала tomcat
- 11. Отключить сканирование CDI beans в WAR
- 12. Можно ли отключить все границы?
- 13. Можно ли отключить просмотр-потерю?
- 14. Magento - Можно ли отключить Mage_Downloadable?
- 15. Можно ли отключить подсказку мыши?
- 16. Можно ли отключить отрицательную индексацию?
- 17. Можно ли отключить commitEditingStyle программно?
- 18. Можно ли безопасно отключить таймер
- 19. 0xDBE Как отключить сканирование scema при запуске
- 20. Можно ли программно отключить iPhone?
- 21. Можно ли отключить предупреждения компилятора?
- 22. Можно ли отключить клиентский запрос?
- 23. Можно ли отключить подзапрос mysql?
- 24. Можно ли отключить кеш .ivy?
- 25. Как отключить сканирование для модели в Activeandroid
- 26. Как отключить SSLv3 в tomcat?
- 27. Как отключить java.util.logging в Tomcat?
- 28. Можно ли отключить загрузку в zkoss?
- 29. Можно ли отключить бесконечную прокрутку в UIDatePicker?
- 30. Можно ли отключить горизонтальную прокрутку в списке?
Есть ли способ, чтобы назначить только конкретные банки, которые вы хотите сканировать? – 2011-11-09 21:36:05
Не то, чтобы я знал. –