2017-08-02 75 views
0

我正在使用Jboss JBoss EAP 6.4.5.GA (AS 7.5.5.Final-redhat-3),并且我在web.xml中遇到了问题。 这里是web.xml中的一部分,我有:Jboss以错误顺序启动servlets

<servlet> 
    <servlet-name>Servlet1</servlet-name> 
    <servlet-class>classPath.servlet1</servlet-class> 
    <load-on-startup>0</load-on-startup> 
</servlet> 
<servlet> 
    <servlet-name>Servlet2</servlet-name> 
    <servlet-class>classPath.servlet2</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

当我启动JBoss服务器,我看到我的配置是不会保留,因为有时Servlet2 Servelt1之前启动,但是这不应该发生。 当我删除数据,tmp和日志目录,然后启动JBOSS它启动Servlet2之前的Servlet1,但在JBOSS重新启动后,我看到Servlet2在Servlet1之前运行。

有人曾经有过这种情况或类似的情况,可以帮助我吗? Maybye有一个特殊的标签,它可以告诉JBOSS“Servlet1后exaclly开始Servelet2”这不是'load-on-startup'”。

*编辑* 我要补充这个局面有趣的信息。在调试模式中新鲜启动(删除这些目录)第一个init()方法在Servlet1中启动,然后在Servlet2中启动,但在JBOSS重启后,只启动Servlet2中的init(),我不知道为什么...

+0

它可以使用@WebFilter注解 – sForSujit

+0

@WebFilter不使用过滤器而不使用Servlet? – Kacu

+0

以编程方式可以禁止servlet2启动。即通过检查会话变量是否存在以及是否已设置,启动servlet2部分,因此在执行期间,认为servlet2试图开始,通过检查会话变量条件,流程停止 –

回答

0

也许你可以检查一下"<load-on-startup>0</load-on-startup>"究竟意味着在web.xml中的 。

我记得这个attrib ute不仅意味着序列,而且还意味着其他的东西,尤其是当它为0时。

+0

你根本没记得这一点...... –