Optimization 有没有一种方法可以让JBossSeam只扫描特定包中的注释类?

Optimization 有没有一种方法可以让JBossSeam只扫描特定包中的注释类?,optimization,jboss,annotations,seam,Optimization,Jboss,Annotations,Seam,如果有一个明显的答案,我很抱歉——我是seam新手,负责优化应用程序的启动,它几乎扫描整个应用程序的类路径,寻找用seam注释的类。这大约需要30秒。我们发现,如果我们将所有这些类提取到一个单独的JAR中,并将seam.properties放在该JAR中,而不是放在WEB-INF/classes中,那么扫描大约需要50%的时间 虽然这是一种选择,但由于无法更改此应用程序的部署结构,因此它不是我们的首选 所以。。。是否有任何方法可以为SEAM提供一个包列表,使其扫描速度更快?还有其他想法吗 谢谢

如果有一个明显的答案,我很抱歉——我是seam新手,负责优化应用程序的启动,它几乎扫描整个应用程序的类路径,寻找用seam注释的类。这大约需要30秒。我们发现,如果我们将所有这些类提取到一个单独的JAR中,并将seam.properties放在该JAR中,而不是放在WEB-INF/classes中,那么扫描大约需要50%的时间

虽然这是一种选择,但由于无法更改此应用程序的部署结构,因此它不是我们的首选

所以。。。是否有任何方法可以为SEAM提供一个包列表,使其扫描速度更快?还有其他想法吗


谢谢

我认为没有一个简单的配置可以更改,因此SEAM不会扫描整个类路径。jar的扫描速度更快,因为如果jar不包含属性,那么内部的所有类都不会逐个检查。因为您有一个SEAM web应用程序,所以在启动时会扫描web inf中的所有类

也许你可以覆盖Init类中的一些函数,我认为它负责扫描应用程序。老实说,我想知道为什么你认为扫描是启动阶段最重要的部分。Hibernate也占了启动时间的很大一部分,仅举一个例子。我们的JBoss4.2服务器总共大约30秒就启动了。但是我们有几个JAR,在web-inf中没有直接的类


此外,通常每个xx月启动一次服务器。您是否使用jboss作为代理?例如,您可以关闭不必要的模块,这样可以提高您的速度,或者如果您不使用EJB,您可以切换到tomcat,这样可以减少一半的启动时间

我认为没有一个简单的配置可以更改,因此SEAM不会扫描整个类路径。jar的扫描速度更快,因为如果jar不包含属性,那么内部的所有类都不会逐个检查。因为您有一个SEAM web应用程序,所以在启动时会扫描web inf中的所有类

也许你可以覆盖Init类中的一些函数,我认为它负责扫描应用程序。老实说,我想知道为什么你认为扫描是启动阶段最重要的部分。Hibernate也占了启动时间的很大一部分,仅举一个例子。我们的JBoss4.2服务器总共大约30秒就启动了。但是我们有几个JAR,在web-inf中没有直接的类


此外,通常每个xx月启动一次服务器。您是否使用jboss作为代理?例如,您可以关闭不必要的模块,这样可以提高您的速度,或者如果您不使用EJB,您可以切换到tomcat,这样可以减少一半的启动时间

最后,我定制了JBossSeam(并打算在我们让它们烘焙一点后将更改提交回项目)。我们面临的问题是,我们有一个EAR项目,其中包含多个初始化seam的战争。当每个WAR初始化seam时,它会扫描整个类路径,寻找包含标志文件的JAR/文件夹(例如seam.properties,找到后,处理整个JAR/文件夹。如果该JAR位于ear/lib文件夹中,则每次初始化seam的战争都会重复该过程。我的更改是使用一些缓存以避免支付>1x的费用。最后,我定制了jboss seam(并打算在我们让它们烘焙一点后将更改提交回项目)。我们面临的问题是,我们有一个EAR项目,其中有多个WAR初始化seam。当每个WAR初始化seam时,它会扫描整个类路径,以查找其中包含标志文件的JAR/文件夹(例如seam.properties,找到后,处理整个JAR/文件夹。如果该JAR位于ear/lib文件夹中,则会在初始化seam的每个WAR中重复该过程。我的更改是使用一些缓存以避免支付大于1x的成本。