HTTP Status 503 on Sun Java System Application Server 9.1_02



我们正在将生产应用程序复制到DR机器上。我们的应用程序是一个使用Hibernate Spring和Struts2框架的web应用程序,运行在Sun Java System application Server 9.1 . 02 (build b04-fcs)上。该应用程序在生产环境中是稳定的。在我们第一次复制时也运行了它。最近我们遇到了一个HTTP状态503。从重新部署到重新启动应用服务器(servlet容器),我们尝试了所有方法。我们甚至尝试从源代码重新构建应用程序并重新部署它,只是为了解析http状态503。是什么原因导致HTTP状态503?提前谢谢各位。

这里是我的依赖/jar文件

  • antlr-2.7.6.jar
  • arpeggio-1.1.jar
  • cglib-2.2.jar
  • commons-collections-3.1.jar
  • commons-dbcp-1.2.2.jar
  • commons-fileupload-1.2.2.jar
  • commons-io-2.0.1.jar
  • commons-lang-2.4.jar
  • commons-logging-1.1.1.jar
  • commons-pool-1.4.jar
  • dom4j-1.6.1.jar
  • freemarker-2.3.16.jar
  • ganymed-ssh2-build210.jar
  • hibernate - jpa 2.0 - api - 1.0.1.final.jar
  • hibernate3.jar
  • javassist-3.12.0.GA.jar
  • jettison-1.3.2.jar
  • jta-1.1.jar
  • ldap.jar
  • log4j-1.2.14.jar
  • mime-util-2.1.3.jar
  • ognl-3.0.1.jar
  • oracle10g.jar
  • org.springframework.asm-3.0.6.RELEASE.jar
  • org.springframework.beans-3.0.6.RELEASE.jar
  • org.springframework.context-3.0.6.RELEASE.jar
  • org.springframework.core-3.0.6.RELEASE.jar
  • org.springframework.expression-3.0.6.RELEASE.jar
  • org.springframework.jdbc-3.0.6.RELEASE.jar
  • org.springframework.orm-3.0.6.RELEASE.jar
  • org.springframework.transaction-3.0.6.RELEASE.jar
  • org.springframework.web-3.0.6.RELEASE.jar
  • slf4j-api-1.6.1.jar
  • slf4j-log4j12-1.6.1.jar
  • struts2-core-2.2.3.1.jar
  • struts2-json-plugin-2.2.3.1.jar
  • struts2-spring-plugin-2.2.3.1.jar
  • xwork-core-2.2.3.1.jar

这是应用服务器日志

Log Entry Detail

时间戳april 25, 2013 17:03:12.981日志级别严重的日志记录器org.apache.catalina.core.StandardContext名称-值对_ThreadID = 14; _ThreadName = pool-1-thread-7; _RequestID = d73c920a - 2 - b6a 4 - f42 - b523 - 93503 - d089b74;记录编号302消息IDPWC1306完整的消息由于先前的错误,context/myproject启动失败

Log Entry Detail

时间戳Apr 25, 2013 17:03:12.980日志级别严重的日志记录器javax.enterprise.system.container.web名称-值对_ThreadID = 14; _ThreadName = pool-1-thread-7; _RequestID = d73c920a - 2 - b6a 4 - f42 - b523 - 93503 - d089b74;记录编号301消息ID收集/myproject PWC1275完整的消息org.springframework.beans.factory.BeanCreationException:在类路径资源[hibernate-config/myproject-hibernate-spring.xml]中定义名为'myprojectSessionFactory'的bean创建错误:init方法调用失败;嵌套异常是java.lang.NoSuchMethodError:在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at . . javax/persistence/onetomany.com orphanremoval (org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)在org.springframework.beans.factory.support.AbstractBeanFactory. dogetbean (AbstractBeanFactory.java:290)在org.springframework.beans.factory.support.AbstractBeanFactory. getbean (AbstractBeanFactory.java:192org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons (DefaultListableBeanFactory.java: 567) org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization (AbstractApplicationContext.java: 895) org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java: 425) org.springframework.web.context.ContextLoader.createWebApplicationContext (ContextLoader.java: 282)org. springframework.web.contextloader . initwebapplicationcontext (ContextLoader.java:204) at org. springframework.web.contextloader . contextlistener . contextinitialized (ContextLoaderListener.java:47) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4523) at org.apache.catalina.core.StandardContext.start(StandardContext.java:5184) at com.sun.enterprise.web.WebModule.start(WebModule.java:326) atcom.sun.appserv.management.util.misc.RunnableBase.run(RunnableBase.java: 304) at com.sun.appserv.management.util.misc.RunnableBase.run(RunnableBase.java:341) at java.util.concur . executors $RunnableAdapter.call(Executors.java:432) at java.util.concur . futuretask $Sync.innerRun(futurettask .java:284) at java.util.concur . futurettask .run(futurettask .java:138) at .sun.appserv.management.util.misc runnablebase . runsync (RunnableBase.java:304) at .sun.appserv.management.util.misc runnablebase .run(RunnableBase.java:341java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java: 678) at java.lang.Thread.run(Thread.java:811)javax/persistence/OneToMany.orphanRemoval()Z at org.hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder.java:1912) at org.hibernate.cfg.AnnotationBinder.processIdPropertiesIfNotAlready(AnnotationBinder.java:796) at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:707) at org.hibernate.cfg.Configuration$MetadataSourceQueue.processAnnotatedClassesQueue(Configuration.java:4035) atorg.hibernate.cfg.Configuration MetadataSourceQueue.processMetadata美元(Configuration.java: 3989) org.hibernate.cfg.Configuration.secondPassCompile (Configuration.java: 1398) org.hibernate.cfg.Configuration.buildMappings (Configuration.java: 1375) org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory (LocalSessionFactoryBean.java: 717) org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet (AbstractSessionFactoryBean.java: 211)org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)…24多

这里有一个大线索:

Caused by: java.lang.NoSuchMethodError: 
javax/persistence/OneToMany.orphanRemoval()Z

这是说一些代码需要在javax.persistence.OneToManyAPI上调用签名为boolean orphanRemoval()的方法…但是刚刚加载的API版本不提供这些方法。

换句话说,在WAR文件中的一些jar之间存在版本不匹配。

我不认为这是hibernate和hibernate-jpa文件之间的不匹配,因为JBoss hibernate 3。X版本的zip文件有这些文件名。

相反,我认为这是Hibernate和Spring之间的不匹配。特别地,Spring手册说:

注意:从Spring 3.0开始,Spring需要Hibernate 3.2或更高版本。

我不清楚你使用的是哪个版本的Hibernate 3,但我的理论是它对于Spring 3.0.x来说太老了。

最新更新