繁体   English   中英

无法将带有ejb的jar文件部署到glassfish 3.1.1

[英]Cannot deploy jar file with ejb to glassfish 3.1.1

我尝试从Andrew Lee Rubinger,Bill Burke撰写的Enterprise JavaBeans 3.1(第6版)的ejb的第一个示例中部署结果jar文件

到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),位于com.sun.corba.ee的com.sun.corba.ee.impl.presentation.rmi.IDLNameTranslatorImpl.get(IDLNameTranslatorImpl.java:166)的java.security.AccessController.doPrivileged(本机方法) .impl.presentation.rmi.PresentationManagerImpl $ ClassDataImpl。(PresentationManagerImpl.java:153)位于com.sun.corba.ee.impl.presentation.rmi.PresentationManagerImpl $ 1.lookup(Presentat 见com.sun.corba.ee.impl.presentation.rmi上的ionManagerImpl.java:103).com.sun.corba.ee.spi.orbutil.misc.WeakCache.get上的PresentationManagerImpl $ 1.lookup(PresentationManagerImpl.java:100) (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。 org.glassfish.ejb.startup.EjbApplication.loadContainers(jb)上的sun.ejb.containers.StatelessSessionContainer.initializeHome(StatelessSessionContainer.java:202)在com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:167) 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中的超类之一com.sun.corba.ee.impl.presentation.rmi.IDLTypesUtil.validateExceptions(IDLTypesUtil.java:476)com.sun.corba.ee.impl.presentation.rmi的IDLTypesUtil.validateRemoteInterface(IDLTypesUtil.java:100) .IDLNameTranslatorImpl。(IDLNameTranslatorImpl.java:226)...还有71个|#]

但是CommonBusiness只是一个接口,为什么它必须引发任何异常?!

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

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

我还使用arquillian-glassfish-managed-3.1触发了问题,并已将其发送给glassfish ejb负责人。

但是,我需要使用其他方法来确认该问题,以判断是由玻璃鱼还是本地人造成的。

我无法在单个源代码的页面之间导航。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM