2015-01-14 37 views
0

這是我創建的會話bean類。 我給這個類添加了一些方法,它以前工作得很好。現在,當我添加一個新的方法時,當我通過客戶端應用程序調用方法時,它會給出錯誤消息。新增加的方法在會話bean中拋出異常

@Stateless(mappedName="ejb/funwayFacadeRemote") 
public class funwayFacade implements funwayFacadeRemote { 

@PersistenceContext 
private EntityManager em; 

     public int getName(){ 
      return 1; 
    } 

} 

這是我的客戶端應用程序

public class Main { 
    @EJB(mappedName= "ejb/funwayFacadeRemote") 
    private static funwayFacadeRemote funwayFacade; 
public static void main(String[] args) throws funwayException { 

    System.out.println(funwayFacade.getName()); 

} 

不過所有這一切我實現了當我實施新的方法,它給java.lang.reflect.InvocationTargetException getName()方法是一種新前仍在工作的方法實施方法 哪些不起作用。

java.lang.reflect.InvocationTargetException 在sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在sun.reflect.DelegatingMethodAccessorImpl。調用(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:606) 在org.glassfish.appclient.client.acc.AppClientContainer.launch(AppClientContainer.java:446) 在org.glassfish.appclient.client.AppClientFacade.main(AppClientFacade.java:166) 原因:javax.ejb.EJBException:java.rmi.RemoteException:CORBA BAD_OPERATION 1330446 368不;嵌套的異常是: org.omg.CORBA.BAD_OPERATION:---------- BEGIN服務器端堆棧跟蹤---------- org.omg.CORBA.BAD_OPERATION:FINE: 01210032:無法在com.sun.proxy類中找到名爲getNum的方法$ Proxy282在反射中Tie vmcid:OMG次要代碼:32已完成:否在com.sun.proxy上有 $ Proxy148.methodNotFoundInTie(未知源) at com .sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke在(ReflectiveTie.java:166) 在com.sun.corba.ee.impl.protocol.ServerRequestDispatcherImpl.dispatchToServant(ServerRequestDispatcherImpl.java:528) COM .sun.corba.ee.impl.protocol.ServerRequestDispatcherImpl.dispatch(ServerRequestDispatcherImpl.java:199) at com.sun.corba.ee.impl.protocol.MessageMediatorImpl.handleRequestRequest(MessageMediatorImpl.java:1549) 在com.sun.corba.ee.impl.protocol.MessageMediatorImpl.handleRequest(MessageMediatorImpl.java:1425) 在com.sun.corba.ee.impl.protocol.MessageMediatorImpl.handleInput(MessageMediatorImpl.java:930) 在com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:213) at com.sun.corba.ee.impl.protocol.MessageMediatorImpl.handleRequest(MessageMediatorImpl.java:694) at com.sun.corba.ee.impl.protocol.MessageMediatorImpl.dispatch(MessageMediatorImpl.java:496) 在com.sun.corba.ee.impl.protocol.MessageMediatorImpl.doWork(MessageMediatorImpl.java:2222) 在COM。 sun.corba.ee.impl.threadpool.ThreadPoolImpl $ WorkerThread.performWork(ThreadPoolImpl.java:497) at com.sun.corba.ee.impl.threadpool.ThreadPoolImpl $ WorkerThread.ru n(ThreadPoolImpl.java:540) ---------- END服務器端堆棧跟蹤---------- vmcid:OMG次要代碼:32已完成:否 at funway._funwayFacadeRemote_Wrapper .getNum(funway/_funwayFacadeRemote_Wrapper.java) at funwayclient.Main.main(Main.java:32) ... 6 more 引起來自:java.rmi.RemoteException:CORBA BAD_OPERATION 1330446368否;嵌套的異常是: org.omg.CORBA.BAD_OPERATION:---------- BEGIN服務器端堆棧跟蹤---------- org.omg.CORBA.BAD_OPERATION:FINE: 01210032:無法在com.sun.proxy類中找到名爲getNum的方法$ Proxy282在反射中Tie vmcid:OMG次要代碼:32已完成:沒有 at com.sun.proxy。$ Proxy148。methodNotFoundInTie(Unknown Source) at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:166) at com.sun.corba.ee.impl.protocol.ServerRequestDispatcherImpl.dispatchToServant(ServerRequestDispatcherImpl的.java:528) 在com.sun.corba.ee.impl.protocol.ServerRequestDispatcherImpl.dispatch(ServerRequestDispatcherImpl.java:199) 在com.sun.corba.ee.impl.protocol.MessageMediatorImpl.handleRequestRequest(MessageMediatorImpl.java :1549) at com.sun.corba.ee.impl.protocol.MessageMediatorImpl.handleRequest(MessageMediatorImpl.java:1425) at com.sun.corba.ee.impl.protocol.MessageMediatorImpl.handleInput(MessageMediatorImpl.java:930 ) at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:213) 在com.sun.corba.ee.impl.protocol.MessageMediatorImpl.handleRequest(MessageMediatorImpl.java:694) 在com.sun.corba.ee.impl.protocol.MessageMediatorImpl.dispatch(MessageMediatorImpl.java:496) 在com.sun.corba.ee.impl.protocol.MessageMediatorImpl.doWork(MessageMediatorImpl.java:2222) at com.sun.corba.ee.impl.threadpool.ThreadPoolImpl $ WorkerThread.performWork(ThreadPoolImpl.java:497) at com.sun.corba.ee.impl.threadpool.ThreadPoolImpl $ WorkerThread.run(ThreadPoolImpl.java:540)

---------- END服務器端堆棧跟蹤------ ---- vmcid:OMG次要代碼:32已完成:否 at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:310) at com.sun.co rba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:211) at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:150) at com。 ORG:sun.corba.ee.impl.presentation.rmi.codegen.CodegenStubBase.invoke(CodegenStubBase.java:226) 在funway .__ funwayFacadeRemote_Remote_DynamicStub.getNum(funway/__ funwayFacadeRemote_Remote_DynamicStub.java) ... 8個 所致。 omg.CORBA.BAD_OPERATION:---------- BEGIN服務器端堆棧跟蹤---------- org.omg.CORBA.BAD_OPERATION:FINE:01210032:找不到指定的方法getNum in com.sun.proxy $ Proxy282反射Tie vmcid:OMG次要代碼:32已完成:沒有 at com.sun.proxy。$ Proxy148.methodNotFoundInTie(未知來源) at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:166) at com.sun.corba.ee.impl.protocol.ServerRequestDispatcherImpl.dispatchToServant(ServerRequestDispatcherImpl.java:528) 在com.sun.corba.ee.impl.protocol.ServerRequestDispatcherImpl.dispatch(ServerRequestDispatcherImpl.java:199) 在com.sun.corba.ee.impl.protocol.MessageMediatorImpl.handleRequestRequest(MessageMediatorImpl.java:1549) 在com.sun.corba.ee.impl.protocol.MessageMediatorImpl.handleRequest(MessageMediatorImpl.java:1425) 在com.sun.corba.ee.impl.protocol.MessageMediatorImpl.handleInput(MessageMediatorImpl.java:930) 在COM。 sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:213) at com.sun.corba.ee.impl。 protocol.MessageMediatorImpl.handleRequest(MessageMediatorImpl.java:694) at com.sun.corba.ee.impl.protocol.MessageMediatorImpl.dispatch(MessageMediatorImpl.java:496) at com.sun.corba.ee.impl.protocol。 MessageMediatorImpl.doWork(MessageMediatorImpl.java:2222) at com.sun.corba.ee.impl.threadpool.ThreadPoolImpl $ WorkerThread.performWork(ThreadPoolImpl.java:497) at com.sun.corba.ee.impl.threadpool。 ThreadPoolImpl $ WorkerThread.run(ThreadPoolImpl.java:540)

---------- END服務器端堆棧跟蹤---------- vmcid:OMG次要代碼:32已完成:否 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl。的newInstance(NativeConstructorAccessorImpl.java:57) 在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在java.lang.reflect.Constructor.newInstance(Constructor.java:526) 在com.sun.corba。 ee.impl.protocol.giopmsgheaders.MessageBase.getSystemException(MessageBase.java:813) at com.sun.corba.ee.impl.protocol.giopmsgheaders.ReplyMessage_1_2.getSystemException(ReplyMessage_1_2.java:131) at com.sun。 corba.ee.impl.protocol.MessageMediatorImpl.getSystemExceptionReply(MessageMediatorImpl.java:594) at com.sun.corba.ee.impl.protocol.ClientRequestDispatcherImpl.processResponse(ClientRequestDispatcherImpl.java:519) at com.sun.corba。 ee.impl.protocol.ClientRequestDispatcherImpl.marshalingComplete(ClientRequestDispatcherImpl。 java:393) at com.sun.corba.ee.impl.protocol.ClientDelegateImpl.invoke(ClientDelegateImpl.java:272) at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl。 Java的:198) ...... 11多個 Java結果:1

+0

在你的異常拋出時,找不到getNum方法。這個方法存在於你的會話bean中?如果存在,你如何部署你的服務器應用程序? – user3584190

回答

0

我想你忘了申報新方法的接口。

要修復它添加以下到您的funwayFacadeRemote

public int getName(); 

注意:Java類和接口的名稱應該以大寫字母開頭。