如题,服务器是tomcat5.5,项目是hibernate+struts1.
tomcat启动后,第一次运行该项目时,控制台会显示加载hibernate里映射文件(就是table.hbm.xml)可是如果在tomcat没有加载完映射文件的同时另一个人也运行这个项目的时候就会报加载映射文件错误,类似哪个文件被重复加载的错误。。不知道怎么配置就能做到tomcat启动后,也把映射文件也加载完毕了,这样就可以避免同时运行,重复加载了。
tomcat启动后,第一次运行该项目时,控制台会显示加载hibernate里映射文件(就是table.hbm.xml)可是如果在tomcat没有加载完映射文件的同时另一个人也运行这个项目的时候就会报加载映射文件错误,类似哪个文件被重复加载的错误。。不知道怎么配置就能做到tomcat启动后,也把映射文件也加载完毕了,这样就可以避免同时运行,重复加载了。
at org.hibernate.cfg.Mappings.addImport(Mappings.java:105)
at org.hibernate.cfg.HbmBinder.bindPersistentClassCommonValues(HbmBinder.java:541)
at org.hibernate.cfg.HbmBinder.bindClass(HbmBinder.java:488)
at org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:234)
at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:152)
at org.hibernate.cfg.Configuration.add(Configuration.java:362)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:400)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:449)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1263)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1235)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1217)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1184)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1112)
at com.HibernateSessionFactory.rebuildSessionFactory(HibernateSessionFactory.java:63)
at com.HibernateSessionFactory.getCurrentSession(HibernateSessionFactory.java:47)
你和你的同事用的是一个tomcat还是两个tomcat??
你们启动的是一个应用还是两个应用??
如果是每个人在各自的tomcat上启动各自的应用,那么怎么可能会相互影响??
如果是两个人启动同一个tomcat,那能启动起来吗????
就导致了被重复加载。
我对你所谓“启动项目”的说法一直没搞懂。
你的意思是,你把项目部署到tomcat后,通过tomcat的那个批处理文件,启动tomcat的同时,另一个人又点了一次启动?
2.打开浏览器,地址栏里输入:http://localhost:8080/oa/login.jsp
3.在打开的登陆页里敲入username/password点击登陆按纽,登陆。4。这时我又打开一个浏览器,重复2和3的操作。第三步会请求action,action里用了DAO,DAO文件里用了hibernate的sessin工厂,所以就会使configuration加载xml配置文件。可是表多的话会加载个几秒到十几秒。这十几秒的时间里我做了4的操作。因为第三步还没加载完,在第4步里就会又加载一遍,
就导致出错。。这样应该够清楚了。