This bug is fixed in CVS Branch_3_2.
It affected arrays whose element type corresponds (per the Java
to IDL mapping) to an abstract valuetype.
BTW: Adam's workaround was effective because he replaced an abstract
valuetype (java.util.Map) by a concrete one (java.util.HashMap).
Cheers,
Francisco
On Wed, 13 Aug 2003, Francisco Reverbel wrote:
> Hi Adam,
>
> On Mon, 11 Aug 2003, Adam Wasserman wrote:
>
> >
> > Hello all,
> >
> > I am using JBoss 3.2.1 and would like to deploy a stateless session bean
> > using the iiop invoker. The remote interface of this bean makes use of an
> > object with a reference to an array of java.util.Map objects. During
> > deployment, JBoss performs an interface analysis on the remote interface.
> > I'm not very knowledgeable in this area yet, but I imagine that JBoss is
> > busy verifying all the types referenced directly or indirectly by the
> > object referenced in the remote interface and producing IDL definitions for
> > them. This deployment process always fails, and it is failing on the
> > reference to the array of java.util.Map:
> >
> > private Map[] hoursPerProjectPerDay;
> >
> > The exception I get can be found at the end of this posting.
> >
> > If I change the reference to:
> >
> > private HashMap[] hoursPerProjectPerDay;
> >
> > there is no problem at deployment time.
> >
> > Am I violating a type restriction in IDL?
>
> No you are not. You have found a bug in JBoss/IIOP.
>
> I'm looking into it...
>
> Cheers,
>
> Francisco
>
> >
> > Many thanks,
> > Adam
> >
> > 2003-08-11 15:03:16,273 DEBUG [org.jboss.iiop.rmi.ParameterAnalysis]
> > ParameterAnalysis(): cls=[java.util.Map] typeIDLName=[::java::util::Map].
> > 2003-08-11 15:03:16,273 DEBUG [org.jboss.iiop.rmi.ir.ContainerImplDelegate]
> > ContainerImplDelegate._lookup("java") entered.
> > 2003-08-11 15:03:16,273 DEBUG [org.jboss.iiop.rmi.ir.ContainerImplDelegate]
> > ContainerImplDelegate._lookup("util") entered.
> > 2003-08-11 15:03:16,273 DEBUG [org.jboss.iiop.rmi.ir.ContainerImplDelegate]
> > ContainerDelegateImpl.add() added "util".
> > 2003-08-11 15:03:16,273 DEBUG [org.jboss.iiop.rmi.ContainerAnalysis]
> > Interface count: 0
> > 2003-08-11 15:03:16,273 DEBUG [org.jboss.iiop.rmi.ir.ValueDefImpl]
> > ValueDefImpl.type() entered.
> > 2003-08-11 15:03:16,273 DEBUG [org.jboss.iiop.rmi.ir.ValueDefImpl]
> > ValueDefImpl.type() returning.
> > 2003-08-11 15:03:16,273 DEBUG [org.jboss.iiop.rmi.ir.InterfaceRepository]
> > Value: base=Map
> > 2003-08-11 15:03:16,273 DEBUG [org.jboss.iiop.rmi.ir.ContainerImplDelegate]
> > ContainerDelegateImpl.add() added "Map".
> > 2003-08-11 15:03:16,273 DEBUG [org.jboss.iiop.rmi.ContainerAnalysis]
> > Constants count: 0
> > 2003-08-11 15:03:16,273 DEBUG [org.jboss.iiop.rmi.ir.InterfaceRepository]
> > Value member count: 0
> > 2003-08-11 15:03:16,273 DEBUG [org.jboss.iiop.rmi.ContainerAnalysis]
> > Attribute count: 1
> > 2003-08-11 15:03:16,273 DEBUG [org.jboss.iiop.rmi.ir.ContainerImplDelegate]
> > ContainerDelegateImpl.add() added "Empty".
> > 2003-08-11 15:03:16,273 ERROR [org.jboss.ejb.StatelessSessionContainer]
> > Initialization failed
> > java.lang.NullPointerException
> > at
> > org.jboss.iiop.rmi.ir.InterfaceRepository.addArray(InterfaceRepository.java:806)
> > at
> > org.jboss.iiop.rmi.ir.InterfaceRepository.addClass(InterfaceRepository.java:703)
> > at
> > org.jboss.iiop.rmi.ir.InterfaceRepository.getTypeCode(InterfaceRepository.java:311)
> > at
> > org.jboss.iiop.rmi.ir.InterfaceRepository.addValue(InterfaceRepository.java:965)
> > at
> > org.jboss.iiop.rmi.ir.InterfaceRepository.addClass(InterfaceRepository.java:729)
> > at
> > org.jboss.iiop.rmi.ir.InterfaceRepository.getTypeCode(InterfaceRepository.java:311)
> > at
> > org.jboss.iiop.rmi.ir.InterfaceRepository.addOperations(InterfaceRepository.java:650)
> > at
> > org.jboss.iiop.rmi.ir.InterfaceRepository.addInterface(InterfaceRepository.java:898)
> > at
> > org.jboss.iiop.rmi.ir.InterfaceRepository.addClass(InterfaceRepository.java:710)
> > at
> > org.jboss.iiop.rmi.ir.InterfaceRepository.getTypeCode(InterfaceRepository.java:311)
> > at
> > org.jboss.iiop.rmi.ir.InterfaceRepository.mapClass(InterfaceRepository.java:137)
> > at org.jboss.proxy.ejb.IORFactory.create(IORFactory.java:251)
> > at
> > org.jboss.ejb.StatelessSessionContainer.createService(StatelessSessionContainer.java:164)
> > at
> > org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:158)
> > 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)
> > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
> > at
> > org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:966)
> > at $Proxy8.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:549)
> > at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
> > at $Proxy17.create(Unknown Source)
> > at org.jboss.ejb.EjbModule.createService(EjbModule.java:299)
> > at
> > org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:158)
> > 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)
> > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
> > at
> > org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:966)
> > at $Proxy8.create(Unknown Source)
> > at org.jboss.system.ServiceController.create(ServiceController.java:310)
> > at org.jboss.system.ServiceController.create(ServiceController.java:243)
> > at sun.reflect.GeneratedMethodAccessor2.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:549)
> > at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
> > at $Proxy16.create(Unknown Source)
> > at org.jboss.ejb.EJBDeployer.create(EJBDeployer.java:519)
> > at org.jboss.deployment.MainDeployer.create(MainDeployer.java:784)
> > at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:639)
> > at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:613)
> > 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:549)
> > at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
> > at $Proxy7.deploy(Unknown Source)
> > at
> > org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:302)
> > at
> > org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:476)
> > at
> > org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:200)
> > at
> > org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:273)
> > at
> > org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)
> > 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:549)
> > at
> > org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:966)
> > at $Proxy0.start(Unknown Source)
> > at org.jboss.system.ServiceController.start(ServiceController.java:392)
> > 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:549)
> > at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
> > at $Proxy5.start(Unknown Source)
> > at org.jboss.deployment.SARDeployer.start(SARDeployer.java:226)
> > at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832)
> > at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:640)
> > at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:613)
> > at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:597)
> > 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:549)
> > at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
> > at $Proxy6.deploy(Unknown Source)
> > at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:365)
> > at org.jboss.system.server.ServerImpl.start(ServerImpl.java:272)
> > at org.jboss.Main.boot(Main.java:150)
> > at org.jboss.Main$1.run(Main.java:388)
> > at java.lang.Thread.run(Thread.java:534)
> >
> > --
> > Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
> >
> >
> >
> > -------------------------------------------------------
> > This SF.Net email sponsored by: Free pre-built ASP.NET sites including
> > Data Reports, E-commerce, Portals, and Forums are available now.
> > Download today and enter to win an XBOX or Visual Studio .NET.
> > http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
> > _______________________________________________
> > JBoss-Development mailing list
> > [EMAIL PROTECTED]
> > https://lists.sourceforge.net/lists/listinfo/jboss-development
> >
>
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by: Free pre-built ASP.NET sites including
> Data Reports, E-commerce, Portals, and Forums are available now.
> Download today and enter to win an XBOX or Visual Studio .NET.
> http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
> _______________________________________________
> JBoss-Development mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/jboss-development
>
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
JBoss-Development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development