EJB結構我有兩個應用程序部署在GlassFish - 應用程序A和B.CDI和GlassFish的3.1
兩者都部署爲war包,應用B應用從應用A.使用一些組件現在
AI有一個接口:
public interface BusinessInterface() extends SomeOtherInterface {
void someAction();
}
我有這種接口的3個實施方式 - 兩個應用程序A,在一個應用程序B:BusinessInterfaceA1, BusinessInterfaceA2, BusinessInterfaceB
只要它們都是CDIBeans,一切都很好 - 我使用自定義@Qualifier批註(@ BusinessInterfaceA1,@ BusinessInterfaceA2)和@Default批註B的實現來區分它們。
但是現在我需要應用程序的A實現成爲有狀態的EJB,這就是它變得有趣的地方。
當我再補充上都實現@Statefull註解,一個我得到了這樣的事情:
javax.servlet.ServletException: org.jboss.weld.exceptions.WeldException: WELD-000049
細節:
java.lang.IllegalStateException: Unable to convert ejbRef for ejb BusinessInterfaceA1 to a business object of type interface SomeOtherInterface
我怎樣才能解決呢?我需要所有的實現是在一個方式avaliable我可以注入他們喜歡
@Inject @SomeAnnotation private BusinessInterface businessInterface;
這是一個很長的時間,因爲我需要它,我沒有適當的環境,現在對其進行測試,但還是要謝謝你。 – slnowak 2014-12-03 16:08:26