2012-12-04 65 views
3

我有一個用EJB2.1編寫的現有應用程序。這部署在jboss-5.1.0.GA上作爲EAR。從EJB2庫調用EJB3庫

我現在有一個新的要求來實現一個應該被EJB2.1應用程序使用的過程。兩者都將在自己的ear文件中,但都將在相同的jboss-5.1.0實例上運行。

我的問題是:

  • 是否可以調用EJB3耳朵的服務從EJB2.1耳朵?
  • 如果對上述答案是肯定的,是否可以管理交易?即只有EJB2.1應用程序提交任何事務。
  • 將現有的2.1應用程序遷移到v3是不可能的。是否正在創建新的流程,因爲v3值得付出努力,或者我可能遇到兩者之間的整合問題?
  • 我一直在尋找一個簡單的問候世界類型的例子,證明上述但一直沒能找到任何。任何人都知道一個很好的例子?
  • EJB3服務將從EJB2應用程序中的會話bean中調用。這是做錯了嗎? (即會話bean不是客戶端)。
+0

你試過Google嗎? http://docs.jboss.org/ejb3/docs/tutorial/1.0.7/html/EJB2.1_and_EJB3_references.html – Andy

回答

2

EJB3規範允許的平滑過渡,限定用於EJB2/EJB3的互操作性的方法,它有時笨重,則需要不必需的工件在「正常」 EJB3應用程式(@RemoteHome

  • 是否有可能從EJB2.1耳中調用EJB3耳朵的服務?

是的,這是可能的,請參閱:Referencing EJB3 beans in EJB2.1Introduction to using EJB2.1 client adaptors 和樣本項目 「ejb21_client_adaptors」

  • 如果答案以上是肯定的,是可以管理交易?即只有EJB2.1應用程序提交任何事務。

是的,只記得有@TransactionAttribute(TransactionAttributeType.MANDATORY)

  • 來註釋EJB3方法的EJB3服務將在EJB2的應用程序會話bean調用。這是做錯了嗎? (即會話bean不是客戶端)。

我這裏看看有沒有問題,會話Bean可以調用其他bean的服務。