Я пытался развернуть полученный файл JAR из
Первый пример ejb от Enterprise JavaBeans 3.1, 6-е издание, Эндрю Ли Рубингер, Билл Берк
на 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)
at 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 содержит только аннотированные bean-компоненты и не содержит ejb-jar.xml или некоторых xml-файлов, специфичных для glassfish (но, как я понимаю, javaee6 не требует ни ejb-jar.xml, ни файлов, специфичных для сервера ...)
Эта банка была успешно развернута на JBoss AS7, поэтому я не знаю, где копать ...