好吧,这让我很难过。 RAD在websphere上运行了一个webapp项目,该项目使用项目引用来访问包含所有模型代码(包括我的休眠逻辑)的lib项目。 lib目录的Junit测试正常工作。 webapp项目中的junit测试,但在J2EE容器之外运行效果良好。但是,一旦我们在J2EE容器中运行,相同的代码会使JVM崩溃。Hibernate在Session.createQuery上崩溃jvm
请注意,并非所有的代码都这样做。更新正常。然而,石英进程死于sessions.createQuery,并且web服务调用死于createQuery。当我说“死”我的意思是整个JVM关闭,喷出以下转储到控制台:
Unhandled exception
Type=Unhandled trap vmState=0x00040000
J9Generic_Signal_Number=00000040 ExceptionCode=c00000fd ExceptionAddress=003A065D ContextFlags=0001007f
Handler1=0037A0C0 Handler2=003DC000
EDI=0037F178 ESI=26EDEB30 EAX=26EDEC00 EBX=00006030
ECX=33594900 EDX=33594900
EIP=003A065D ESP=2DB63000 EBP=002B2828 EFLAGS=00010206
GS=002B FS=0053 ES=002B DS=002B
Module=C:\Program Files (x86)\IBM\SDP\runtimes\base_v7\java\jre\bin\j9vm24.dll
Module_base_address=00370000 Offset_in_DLL=0003065d
Target=2_40_20110216_075791 (Windows 7 6.1 build 7601 Service Pack 1)
CPU=x86 (4 logical CPUs) (0x1f890f000 RAM)
----------- Stack Backtrace -----------
的查询似乎是正确的(正如我所说,他们的J2EE容器之外工作)。如果有帮助,这里就是其中之一:
Query sql = s.createQuery("from Type t where t.typeCode=? and t.applicationCode=? ");
我们以前从未见过这一点,并没有得到很多护目镜牵引。我们使用的是Windows 7,RAD 8,WAS 7.0.0.17,Hibernate 4.1.9,DB2 XA数据源,而不是我认为它很重要,但我们已将org.springframework.orm.hibernate4.HibernateTransactionManager作为我们的事务经理。
任何想法?