无法使用 ejb 将 jar 文件部署到 glassfish 3.1.1

发布于 2024-12-23 14:03:26 字数 2943 浏览 3 评论 0原文

我尝试部署生成的 jar 文件 Enterprise JavaBeans 3.1 第 6 版中的第一个 ejb 示例作者:Andrew Lee Rubinger、Bill Burke

到 glassfish 3.1.1 并得到以下异常:

引起:java.lang.IllegalStateException:方法“public abstract int org.jboss.ejb3.examples.ch04.firstejb.CalculatorCommonBusiness.add(int[])”必须抛出至少一个 java.rmi 类型的异常。 RemoteException 或其超类之一 在 com.sun.corba.ee.impl.presentation.rmi.IDLNameTranslatorImpl.(IDLNameTranslatorImpl.java:232) 在 com.sun.corba.ee.impl.presentation.rmi.IDLNameTranslatorImpl.(IDLNameTranslatorImpl.java:65) 在 com.sun.corba.ee.impl.presentation.rmi.IDLNameTranslatorImpl$2.run(IDLNameTranslatorImpl.java:169) 在 com.sun.corba.ee.impl.presentation.rmi.IDLNameTranslatorImpl$2.run(IDLNameTranslatorImpl.java:167) 在 java.security.AccessController.doPrivileged(本机方法) 在 com.sun.corba.ee.impl.presentation.rmi.IDLNameTranslatorImpl.get(IDLNameTranslatorImpl.java:166) 在 com.sun.corba.ee.impl.presentation.rmi.PresentationManagerImpl$ClassDataImpl.(PresentationManagerImpl.java:153) 在 com.sun.corba.ee.impl.presentation.rmi.PresentationManagerImpl$1.lookup(PresentationManagerImpl.java:103) 在 com.sun.corba.ee.impl.presentation.rmi.PresentationManagerImpl$1.lookup(PresentationManagerImpl.java:100) 在 com.sun.corba.ee.spi.orbutil.misc.WeakCache.get(WeakCache.java:114) 在 com.sun.corba.ee.impl.presentation.rmi.PresentationManagerImpl.getClassData(PresentationManagerImpl.java:131) 在 com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie.setTarget(ReflectiveTie.java:101) 在 org.glassfish.enterprise.iiop.impl.POAProtocolMgr.validateTargetObjectInterfaces(POAProtocolMgr.java:315) 在 com.sun.ejb.containers.BaseContainer.initializeHome(BaseContainer.java:1248) 在 com.sun.ejb.containers.StatelessSessionContainer.initializeHome(StatelessSessionContainer.java:202) 在 com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:167) 在 org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:230) ... 55 更多 导致:com.sun.corba.ee.impl.presentation.rmi.IDLTypeException:方法“public abstract int org.jboss.ejb3.examples.ch04.firstejb.CalculatorCommonBusiness.add(int[])”必须抛出至少一个java.rmi.RemoteException 类型或其超类之一的异常 在com.sun.corba.ee.impl.presentation.rmi.IDLTypesUtil.validateExceptions(IDLTypesUtil.java:476) 在 com.sun.corba.ee.impl.presentation.rmi.IDLTypesUtil.validateRemoteInterface(IDLTypesUtil.java:100) 在 com.sun.corba.ee.impl.presentation.rmi.IDLNameTranslatorImpl.(IDLNameTranslatorImpl.java:226) ... 71 更多 |#]

但 CommonBusiness 只是一个接口,为什么它必须抛出异常?!

生成的 jar 仅包含带注释的 beans,没有 ejb-jar.xml 或一些 glassfish 特定的 xml 文件(但据我了解 javaee6 不需要任何 ejb-jar.xml 或服务器特定文件...)

此 jar 已成功部署到 JBoss AS7所以我不知道在哪里挖掘......

I've tryed to deploy resulting jar file from
First example of ejb from Enterprise JavaBeans 3.1, 6th Edition by Andrew Lee Rubinger, Bill Burke

to glassfish 3.1.1 and got the following exception:

Caused by: java.lang.IllegalStateException: Method 'public abstract int org.jboss.ejb3.examples.ch04.firstejb.CalculatorCommonBusiness.add(int[])' must throw at least one exception of type java.rmi.RemoteException or one of its super-classes
at com.sun.corba.ee.impl.presentation.rmi.IDLNameTranslatorImpl.(IDLNameTranslatorImpl.java:232)
at com.sun.corba.ee.impl.presentation.rmi.IDLNameTranslatorImpl.(IDLNameTranslatorImpl.java:65)
at com.sun.corba.ee.impl.presentation.rmi.IDLNameTranslatorImpl$2.run(IDLNameTranslatorImpl.java:169)
at com.sun.corba.ee.impl.presentation.rmi.IDLNameTranslatorImpl$2.run(IDLNameTranslatorImpl.java:167)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.corba.ee.impl.presentation.rmi.IDLNameTranslatorImpl.get(IDLNameTranslatorImpl.java:166)
at com.sun.corba.ee.impl.presentation.rmi.PresentationManagerImpl$ClassDataImpl.(PresentationManagerImpl.java:153)
at com.sun.corba.ee.impl.presentation.rmi.PresentationManagerImpl$1.lookup(PresentationManagerImpl.java:103)
at com.sun.corba.ee.impl.presentation.rmi.PresentationManagerImpl$1.lookup(PresentationManagerImpl.java:100)
at com.sun.corba.ee.spi.orbutil.misc.WeakCache.get(WeakCache.java:114)
at com.sun.corba.ee.impl.presentation.rmi.PresentationManagerImpl.getClassData(PresentationManagerImpl.java:131)
at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie.setTarget(ReflectiveTie.java:101)
at org.glassfish.enterprise.iiop.impl.POAProtocolMgr.validateTargetObjectInterfaces(POAProtocolMgr.java:315)
at com.sun.ejb.containers.BaseContainer.initializeHome(BaseContainer.java:1248)
at com.sun.ejb.containers.StatelessSessionContainer.initializeHome(StatelessSessionContainer.java:202)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:167)
at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:230)
... 55 more
Caused by: com.sun.corba.ee.impl.presentation.rmi.IDLTypeException: Method 'public abstract int org.jboss.ejb3.examples.ch04.firstejb.CalculatorCommonBusiness.add(int[])' must throw at least one exception of type java.rmi.RemoteException or one of its super-classes
at com.sun.corba.ee.impl.presentation.rmi.IDLTypesUtil.validateExceptions(IDLTypesUtil.java:476)
at com.sun.corba.ee.impl.presentation.rmi.IDLTypesUtil.validateRemoteInterface(IDLTypesUtil.java:100)
at com.sun.corba.ee.impl.presentation.rmi.IDLNameTranslatorImpl.(IDLNameTranslatorImpl.java:226)
... 71 more
|#]

But CommonBusiness is just an interface why it must throw any exceptions?!

Resulting jar contains only annotated beans and no ejb-jar.xml or some glassfish specific xml files (but as I understand javaee6 don't require any ejb-jar.xml nor server specific files...)

This jar was successfully deployed to JBoss AS7 so I don't know where to dig...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

伴随着你 2024-12-30 14:03:27

我无法从单个源代码的页面导航到页面。

但是您必须为该方法抛出 RemoteException

I cannot navigate from pages to pages for a single source code.

But you must throw a RemoteException for that method

謸气贵蔟 2024-12-30 14:03:27

我还使用 arquillian-glassfish-management-3.1 触发了该问题,并已发送至 glassfish ejb Leader。

不过,我需要通过其他方式来确认该问题,以判断是 glassfish 还是 arquillian 引起的。

I also trigger the problem using arquillian-glassfish-managed-3.1 and has sent into glassfish ejb leader.

However, I need to confirm the issue using other ways to judge whether being caused by glassfish or arquillian.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文