我们在tomcat服务器上使用.war文件部署了一个Java应用程序。战争被复制到webapp目录(tomcat停止),然后我们启动服务器。我们有几个自动化流程的脚本,我们在开发备份和生产服务器上部署,直到两天前......然后我们能够在开发机器上部署,但在备份和生产(ovh机器)中,我们收到了异常启动tomcat:
### Error building SqlSession.
### Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: java.io.IOException: Stream closed
org.apache.ibatis.exceptions.PersistenceException:
### Error building SqlSession.
### Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: java.io.IOException: Stream closed
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:51)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:39)
重新部署旧的.war工作正常,但新的.war始终产生此异常。我们花了很多时间试图弄清楚什么是错的,但同样的.war在开发机器上不能用于生产工作而且(这是不可思议的)如果我们使用另一个名称进行战争(只是重命名。 war文件)应用程序工作..但我们需要应用程序使用此特定上下文名称。
请......帮助!
答案 0 :(得分:0)
最终解决了......
主要原因是来自haproxy的检查网址在这个版本中使用了数据库,因此,在上下文部署haproxy时尝试加载此网址并在mybatis上进行多次初始化...
更改url haproxy查询可以解决问题,但我不确定避免加载时初始化问题的好方法。