给位大侠,一点点思路也行呀。我现在彻底没辙了。拜托拜托了。自从CSDN开始管制以来,我手上就剩90分了。谢谢。

解决方案 »

  1.   

    忘了和大家说了,我用的是WebLogic7.0 和 JBuilder8.0
    这种问题和环境配置有关系吗?(坚决顶到底)
      

  2.   

    从错误提示上可以看出,你的MDB是容器管理事务的,因此需要调用 messageDrivenContext.setRollbackOnly()才可以回滚事务。
    只有采用bean-managed transaction才能用你现在的方法。
      

  3.   

    同意楼上,但是BMT MDB 用JTA的话,恐怕没有地方写messageDrivenContext.getUserTransaction().begin().因为begin的时机在进入onMessage之前,对于CMT,容器会自动
    划定事务界限,对于BMT,好像有问题呦