JBoss 4.2 死锁

JBoss 4.2 死锁

问候,

不确定这是否适用于这里或 stackoverflow,但如下所示:

我在 JBoss 4.2 上部署了一个带有 MySQL 后端的 J2EE 应用程序。在对该应用程序进行压力测试时,我发现了许多问题:

 org.jboss.tm.JBossTransactionRolledbackException: Contention on read lock promotion for bean.  Exception in second transaction; nested exception is: 
javax.ejb.EJBException: Contention on read lock promotion for bean.  Exception in second transaction; - nested throwable: (javax.ejb.EJBException: Contention on read lock promotion for bean.  Exception in second transaction)

您建议我如何调试它?

提前致谢。

答案1

我通过在 ejbmodule/META-INF/ 中创建一个名为“jboss-container.xml”的文件解决了这个问题。

该文件的内容为:

<container-configurations>

    <container-configuration extends="Standard CMP 2.x EntityBean">

        <container-name>DeadlockAvoidingConfiguration</container-name>
        <instance-cache>org.jboss.ejb.plugins.PerTxEntityInstanceCache</instance-cache> 
        <locking-policy>org.jboss.ejb.plugins.lock.NoLock</locking-policy>
        <commit-option>C</commit-option>
    </container-configuration>

</container-configurations>

我知道这不是最佳解决方案(因为它会影响缓存),但它修复了错误。

请随意添加。

相关内容