Есть ли способ заставить Jboss Seam сканировать только определенные пакеты на наличие аннотированных классов? - PullRequest
1 голос
/ 02 февраля 2012

Извините, если есть очевидный ответ - я новичок в seam, и мне поручено оптимизировать запуск приложения, когда он сканирует почти весь путь к классу приложения для классов, помеченных аннотациями шва.Это займет около 30 секунд.Мы обнаружили, что если мы извлечем все эти классы в отдельный JAR и поместим seam.properties в этот JAR, а не в наши WEB-INF / классы, сканирование займет около 50% этого времени.

Хотя этоэто вариант, который не является нашим первым выбором из-за сопротивления изменению развернутой структуры этого приложения.

Итак ... есть ли способ передать SEAM список пакетов, которые могут сделать его сканирование немного быстрее?Любые другие идеи?

Спасибо!

1 Ответ

1 голос
/ 03 февраля 2012

Я не думаю, что есть простая конфигурация, которую вы можете изменить, поэтому SEAM не сканирует весь путь к классам.Сканирование на jar выполняется быстрее, потому что, если jar не содержит свойств, все классы внутри не будут проверяться один за другим.Поскольку у вас есть веб-приложение SEAM, при запуске сканируются все классы в web-inf.

Вероятно, вы можете перезаписать некоторые функции в классе Init, который я считаю ответственным за сканирование приложения.Честно говоря, мне интересно, почему вы думаете, что сканирование является самой важной частью на этапе запуска.Hibernate также занимает большую часть времени запуска, просто приведу один пример.Наш сервер Jboss 4.2 запускается примерно за 30 секунд.Но у нас есть несколько банок и нет классов непосредственно в веб-инф.

Кроме того, запуск сервера обычно выполняется один раз в xx месяц.Вы используете Jboss AS?Например, вы можете отключить ненужные модули, что дает вам большую скорость, или, если вы не используете Ejbs, вы можете переключиться на tomcat и половину времени запуска, вот так.

...