我有一个CORBA客户端服务器程序,运行得很好。客户端可以远程获取服务并调用方法。
现在我想让服务器使用JPA与数据库交互。但是,当我将这一行添加到服务器代码中时,一切都出错了:
emf.createEntityManager();服务器构建,它没有错误地注册到orbd。但是,当我运行试图连接到服务器的客户机时,我会得到以下异常:
例外: org.omg.CORBA.OBJECT_NOT_EXIST:
完全异常和堆栈跟踪如下:
例外:?开始服务器端堆栈跟踪? org.omg.CORBA.OBJECT_NOT_EXIST:??org.omg.CORBA.OBJECT_NOT_EXIST: vmcid: SUN次要代码: 401完成: No at at com.sun.corba.se.impl.logging.ActivationSystemException.errorInBadServerIdHandler(ActivationSystemException.java:257)。在com.sun.corba.se.impl.activation.ServerManagerImpl.handle(ServerManagerImpl.java:604) at com.sun.corba.se.impl.orb.ORBImpl.handleBadServerId(ORBImpl.java:1602) at com.sun.corba.se.impl.protocol.CorbaServerRequestDispatcherImpl.checkServerId(CorbaServerRequestDispatcherImpl.java:407) at com.sun.corba.se.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:182) at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest( com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1558) at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:940) at com.sun.corba.se.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:198) at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:712 ))在com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:471) at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1230) at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:490) at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:519) at : com.sun.corba.se激活/服务器注册:1.0在com.sun.corba.se.impl.activation.RepositoryImpl.getDBServerDef(RepositoryImpl.java:221)在com.sun.corba.se.impl.activation.RepositoryImpl.getServer(RepositoryImpl.java:228)在com.sun.corba.se.impl.activation.ServerManagerImpl.getEntry(ServerManagerImpl.java:350)在com.sun.corba.se.impl.activation.ServerManagerImpl.handle(ServerManagerImpl.java:566) . 12更多
在我看来,对createEntityManager的调用在逻辑上完全独立于CORBA网络功能,所以我看不出这对连接到服务器的客户端有什么影响。
发布于 2014-09-10 13:38:40
例外来自我的EntityManagerFactory。这与网络无关,但因为在客户端连接之前,我从未运行过服务器,所以在此之前没有出现任何例外。
异常输出并不特别有用。我发现注释掉所有的网络代码并将服务器作为独立的开发程序运行是很有帮助的(当出了问题时,会有更有用的错误消息)。
https://stackoverflow.com/questions/25765848
复制相似问题