RMI 编译器为 EJB 2.1 生成损坏的存根
向无状态 EJB(2.1) 添加新方法并通过 Rad 8 UI 将其提升到远程接口会导致 RMI 编译器生成损坏的 EJB _Stub。
Java 编译器错误:类型 _ChoiceApplicationService_Stub 必须实现继承的抽象方法 ChoiceApplicationService.updateSeatsData(SeatsUpdate)
我多次删除了存根,并让 Rad 重新调用了 RMIC 至少 10 次,但没有成功。我关闭 RAD 并使用 -clean 指令重新启动它几次,但没有成功。
有没有人在 Rad/Exclipse 中的存根生成方面遇到过问题,并且知道什么可能导致此问题?不幸的是,EJB 因坏存根而损坏,我什至无法通过修复存根来解决它,因为它会被覆盖。
编辑:看起来 Rad 8/Eclipse 有一个隐藏文件缓存在某处。无论我升级/降级或手动添加到服务接口,生成的存根每次都是相同的。
编辑2:当降级方法时,它还会产生一个错误的领带,其中仍然包含所有“缓存”方法:_EJSRemoteStatelessChoiceApplicationService_77509b5e_Tie
编辑3:全新的工作区同样的问题,但它适用于我们的构建机器...
Adding a new method to a stateless EJB(2.1) and promoting it to the Remote interface through the Rad 8 UI leads to the RMI compiler generating a broken EJB _Stub.
Java Compiler Error: The type _ChoiceApplicationService_Stub must implement the inherited abstract method ChoiceApplicationService.updateSeatsData(SeatsUpdate)
I deleted the stub several times and had Rad reinvoke the RMIC atleast 10 times with no success. I shut down RAD and restarted it with the -clean directive several times with no success.
Has anyone had a problem with the Stub generation in Rad/Exclipse and knows what could cause this? Unfortunately the EJB is broken with a bad Stub and i cant even address it by fixing the stub since it will be overwritten.
Edit: It looks like Rad 8/Eclipse has a hidden file cached somewhere. No matter what i promote/demote or manually add to the Service Interface the generated stub is identical every time.
Edit2: When demoting methods it also produces a faulty Tie that still has all the 'cached' methods in it: _EJSRemoteStatelessChoiceApplicationService_77509b5e_Tie
Edit3: Brand new workspace same problem, but it works on our Build machine ...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这并没有真正解决我遇到的问题,但我最终创建了一个新的 EJB 3 项目,重新创建配置文件并复制 java 源代码。我可以再次构建,作为一个很好的副作用,我正在使用最新的 EAR、EJB 等版本。
This doesnt really solve the problem i had, but i ended up creating a new EJB 3 project recreating the configuration files and copy over the java source code. I can build again and as a nice side effect i am using the latest EAR, EJB etc. version.