JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » EJB / 其它Java EE 討論區 » EJB3  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友   
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 EJB3中,Local interface 能否回傳EntityManager?
千野羽





發文: 5
積分: 0
於 2013-08-17 00:21 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
請問在使用session bean時,呼叫Local interface的回傳值
是否有任何的限制(例如回傳值必須是serializable)

最近遇到一個需求是要提供一個EJB,讓其他在同一個JVM上的Application
透過這個EJB去取得EntityManager,但是在呼叫Local interface時
會出現ClassNotFoundException,所以想請問是否EntityManager無法透過
EJB local interface去取得?

底下是我的程式碼和錯誤訊息,還麻煩各位解答,感謝
測試的環境是JBoss 7.1.1.Final,使用EclipseLink

Session Bean :
@Stateless
public class BasicBean implements BasicBeanLocal {

  @PersistenceContext(unitName = "TESTDEV")
  private EntityManager em;

public EntityManager getEntityManager() throws Exception{
    return em;
  }

}

Local Interface:
@Local
public interface BasicBeanLocal {
  public EntityManager getEntityManager() throws Exception;
}

Application程式碼(和EJB部屬在同一個JBoss上)
public EntityManager getEntityManagerTest() throws Exception{
  try{
    InitialContext initCtx = new InitialContext();
    BasicBeanLocal basic = (BasicBeanLocal)initCtx.lookup(BASICBEAN_JNDI);
    EntityManager em = basic.getEntityManager(); -->錯誤訊息出現在這一行
    return em;
  }catch(Exception ex){
     throw ex;
  }  
}

錯誤訊息:
ClassNotFoundException marshaling EJB parameters,org.jboss.as.ejb3.remote.LocalEjbReceiver.clone(LocalEjbReceiver.java:229) org.jboss.as.ejb3.remote.LocalEjbReceiver.clone(LocalEjbReceiver.java:216) org.jboss.as.ejb3.remote.LocalEjbReceiver.processInvocation(LocalEjbReceiver.java:188) org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:179) org.jboss.ejb.client.TransactionInterceptor.handleInvocation(TransactionInterceptor.java:43) org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:181) org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:128) org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:181) org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:136) org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:121) org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:104)


reply to postreply to post
話題樹型展開
人氣 標題 作者 字數 發文時間
1254 EJB3中,Local interface 能否回傳EntityManager? 千野羽 2058 2013-08-17 00:21
540 Re:EJB3中,Local interface 能否回傳EntityManager? richard 33 2017-09-27 07:49
» JWorld@TW »  EJB / 其它Java EE 討論區 » EJB3

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8