不会是机器配置问题吧~~ ^-^
你是不是把Hibernate的启动代码添加到了Struts插件中去了?让Struts运行的时候自动加载Hibernate,这样在启动的时候是有点慢的,但是运行过程中就不用加载Hibernate的hbm了。不过就算算上了Hibernate的启动时间,也不至于要1分多吧~~

解决方案 »

  1.   

    我们的项目是的struts Action是spring管理的,因此,需要在struts-config.xml添加插件我用秒表算了时间,的确需要55秒。不知道大家有没什么优化措施
      

  2.   

    我们的系统更慢,也是spring struts hibernate。不过系统大一点。启动要2分钟左右。晕死了。测出是spring容器初始化加载的时候耗的时间,hibernate集成到spring里头。但是struts并没有放到spring里。郁闷。有没有好的建议阿。
      

  3.   

    改善log4j,把不必要的信息都去掉
    我一般只留sql和出错信息
      

  4.   

    应该是Log的问题,不然不会这么慢。调整一下log4j的输出等级。
      

  5.   

    谢谢各位。不过我的日志已经调到比较高的等级了,请看如下:log4j.rootLogger=ERROR,A1
    log4j.appender.A1=org.apache.log4j.ConsoleAppender
    log4j.appender.A1.layout=org.apache.log4j.PatternLayout
    log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%nlog4j.appender.R.layout=org.apache.log4j.PatternLayout
    log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n
      

  6.   

    如果你在server.xml中配置了多个服务的话,你可以在别的服务不用的时候注掉.
    <Context ....
    ..
    </Context >
      

  7.   

    仔细跟踪了一下发现hibernate解释hbm的时间不是问题,只有2秒钟但是spring解释那些配置文件,竟然花50秒钟,真是夸张
      

  8.   

    仔细看了spring的源代码,发现主要是spring的beans,默认default-lazy-init为false,导致在启动时候,会默认加载整个对象实例图,导致速度慢 把beans的default-lazy-init改为true的话,spring在启动的时候并没有真正实例化对象,而只是用一个代理来实现。当真正需要调用该类的时候,才会去实例化。更重要的是spring的实例化对象效率是不高的,需要花费很多时间。这样在运行期间第一次点页面的时候,会加载一部分需要的beans,所以稍微慢2-3秒钟,但是这相对于一次性加载花费的50秒钟要轻松很多