2 Replies Latest reply on Jan 18, 2005 7:46 AM by bonoc

    rmi-iiop and inner classes

    bonoc

      Posted: Mon Jan 17, 2005 12:15 PM Post subject: Inner classes

      --------------------------------------------------------------------------------

      I have a value class that has an inner class. The deployment of ejb fails due to this. Where can I find a list of supported/unsupported types and when will inner classes be supported? Thanks


      [ERROR]@[17 Jan 2005 10:40:32,719] [org.jboss.ejb.StatelessSessionContainer] : Initialization failed
      org.jboss.iiop.rmi.RMIIIOPNotImplementedException: Class org.twia.submission.Location$FloodInsuranceOption has a '$', li
      ke proxies or inner classes.
      at org.jboss.iiop.rmi.ValueAnalysis.doAnalyze(ValueAnalysis.java:92)
      at sun.reflect.GeneratedMethodAccessor33.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.iiop.rmi.WorkCacheManager.doTheWork(WorkCacheManager.java:183)
      at org.jboss.iiop.rmi.WorkCacheManager.getAnalysis(WorkCacheManager.java:106)
      at org.jboss.iiop.rmi.ValueAnalysis.getValueAnalysis(ValueAnalysis.java:60)
      at org.jboss.iiop.rmi.ir.InterfaceRepository.addClass(InterfaceRepository.java:747)
      at org.jboss.iiop.rmi.ir.InterfaceRepository.getTypeCode(InterfaceRepository.java:312)
      at org.jboss.iiop.rmi.ir.InterfaceRepository.addValue(InterfaceRepository.java:992)
      at org.jboss.iiop.rmi.ir.InterfaceRepository.addClass(InterfaceRepository.java:750)
      at org.jboss.iiop.rmi.ir.InterfaceRepository.getTypeCode(InterfaceRepository.java:312)
      at org.jboss.iiop.rmi.ir.InterfaceRepository.addOperations(InterfaceRepository.java:647)
      at org.jboss.iiop.rmi.ir.InterfaceRepository.addInterface(InterfaceRepository.java:920)
      at org.jboss.iiop.rmi.ir.InterfaceRepository.addClass(InterfaceRepository.java:730)
      at org.jboss.iiop.rmi.ir.InterfaceRepository.getTypeCode(InterfaceRepository.java:312)
      at org.jboss.iiop.rmi.ir.InterfaceRepository.mapClass(InterfaceRepository.java:138)
      at org.jboss.proxy.ejb.IORFactory.create(IORFactory.java:251)
      at org.jboss.ejb.StatelessSessionContainer.createService(StatelessSessionContainer.java:168)
      at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:158)
      at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:976)
      at $Proxy14.create(Unknown Source)
      at org.jboss.system.ServiceController.create(ServiceController.java:310)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
      at $Proxy40.create(Unknown Source)
      at org.jboss.ejb.EjbModule.createService(EjbModule.java:301)
      at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:158)
      at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:976)
      at $Proxy14.create(Unknown Source)
      at org.jboss.system.ServiceController.create(ServiceController.java:310)
      at org.jboss.system.ServiceController.create(ServiceController.java:243)
      at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

        • 1. Re: rmi-iiop and inner classes
          frito

          There is no serialisation done during deployment. Are you implementing something in the beans constructor which should be done in the ejbCreate() method?

          And seems that your class is not properlty serializable. Try this:
          How to Make a Class Serializable
          http://www.oreilly.com/catalog/javarmi/chapter/ch10.html

          • 2. Re: rmi-iiop and inner classes
            bonoc

            This is not a bean. Its a POJO thats referenced by a bean. Where did you get anything about serialization? The class is properlly serializable. The exception is saying that JBoss does not support inner classes in iiop. My question was does jboss support inner classes in iiop -- not how do I do serialization.