【发布时间】:2013-02-05 23:30:16
【问题描述】:
好吧,这让我很难过。我有一个在 websphere 上运行的 RAD 中的 webapp 项目,它使用对包含所有模型代码(包括我的休眠逻辑)的 lib 项目的项目引用。 lib 目录的 Junit 测试工作正常。 webapp 项目中的 junit 测试,但在 J2EE 容器之外运行正常。然而,一旦我们在 J2EE 容器中运行,同样的代码会使 JVM 崩溃。
请注意,并非所有代码都这样做。更新工作正常。然而,一个石英进程在 session.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=? ");
我们以前从未见过这种情况,而且 Goggle 的吸引力也不大。我们在 Windows 7、RAD 8、WAS 7.0.0.17、Hibernate 4.1.9、DB2 XA 数据源上,我认为这并不重要,但我们已经将 org.springframework.orm.hibernate4.HibernateTransactionManager 配置为我们的事务经理。
有什么想法吗?
【问题讨论】: