Jboss 如何在SEAM中的bean初始化链末尾调用启动bean
这是在JBoss 6上启动JBoss SEAM应用程序后打印的最后一组行Jboss 如何在SEAM中的bean初始化链末尾调用启动bean,jboss,seam,jboss6.x,seam2,Jboss,Seam,Jboss6.x,Seam2,这是在JBoss 6上启动JBoss SEAM应用程序后打印的最后一组行 14:00:04,449 INFO [org.jboss.seam.servlet.SeamFilter] Initializing filter: org.jboss.seam.servlet.characterEncodingFilter 14:00:04,450 INFO [org.jboss.seam.servlet.SeamFilter] Initializing filter: org.jboss.se
14:00:04,449 INFO [org.jboss.seam.servlet.SeamFilter] Initializing filter:
org.jboss.seam.servlet.characterEncodingFilter
14:00:04,450 INFO [org.jboss.seam.servlet.SeamFilter] Initializing filter:
org.jboss.seam.web.redirectFilter
14:00:04,451 INFO [org.jboss.seam.servlet.SeamFilter] Initializing filter:
org.jboss.seam.web.exceptionFilter
14:00:04,452 INFO [org.jboss.seam.servlet.SeamFilter] Initializing filter:
org.jboss.seam.web.multipartFilter
14:00:04,452 INFO [org.jboss.seam.servlet.SeamFilter] Initializing filter:
org.jboss.seam.web.identityFilter
14:00:04,453 INFO [org.jboss.seam.servlet.SeamFilter] Initializing filter:
org.jboss.seam.web.rewriteFilter
我的意图是在SeamFilter初始化后打印上面的消息(在JBoss6控制台上)。我该怎么做?您可以在普通组件上尝试此注释。删除此组件上的
@Startup
@Name("myStartup")
@Startup
@Scope(APPLICATION)
@BypassInterceptors
public class MyStartup {
@Create
public void create() {
System.out.println("SERVER STARTED SUCCESSFULLY");
}
}
如果只是在所有seam消息之后显示一些状态,那么至少有两种方法: 首先是使用Shervin的解决方案,并在
$jboss_HOME/server//conf/jboss-log4j.xml
中抑制org.jboss.seam.servlet.Filter INFO
消息:
@Observer({"org.jboss.seam.postInitialization", "org.jboss.seam.postReInitialization"})
public void create() {
System.out.println("SERVER STARTED SUCCESSFULLY");
}
上述建议似乎不起作用。有没有办法使用带有优先选项的@Instal注释?我不知道如何使其工作。上面的建议产生了与以前类似的输出,并且在Servlet筛选器初始化后不会打印上面的行。我查看了代码public static void endReinitialization(){Contexts.startup(ScopeType.APPLICATION);Events.instance().raiseEvent(“org.jboss.seam.postReInitialization”);您的建议似乎是正确的,但由于某些原因没有起作用。您使用的是seam的哪个版本?您应该使用最新版本,因为它支持jboss 6。如果这不起作用,请尝试删除
@启动组件中的@旁路拦截器。
<category name="org.jboss.seam.servlet.Filter">
<priority value="ERROR"/>
</category>
@Scope(APPLICATION)
@Name("com.example.seam.myFilter")
@BypassInterceptors
@Filter(within={"org.jboss.seam.web.rewriteFilter"})
public class MyFilter implements Filter {
public void doFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException {
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("SERVER STARTED SUCCESSFULLY");
}
}