2013-03-04 93 views

回答

0
public class SFEJB implements EJBRemote{ 
    //..... 
} 

public class Class1{ 
    void method1{ 
    InitialContext ctx = new InitialContext(env);    
    EJBRemote testEJB= (EJBRemote)ctx.lookup(mappedName#fullclassname); 
    //..... 
    } 
} 

,我覺得它會返回一個新的狀態EJB(SFEJB)每個initialcontext.lookup(mappedName#fullclassname)。首先,我認爲「有狀態EJB」中的「有狀態」意味着對於同一個Web客戶端,每次調用initialContext.lookup(mappedName#fullclassname)時我都會得到相同的有狀態EJB,但現在我知道「有狀態」只是testEJB的手段,每個方法調用將調用相同的SFEJB實例(所以在一個狀態)。
那麼testEJB是SFEJB的EJB客戶端? (SFEJB記得testEJB)

+0

呵呵,我覺得比較複雜,如果ejb是無狀態的,那麼每次ctx.lookup(mappedName#fullclassname)都會返回相同的代理! 是否有任何錯誤? – user1169587 2013-03-07 04:03:43

相關問題