You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Krishnakumar B <ww...@gmail.com> on 2007/01/23 15:31:41 UTC

Using PortableRemoteObject narrow in EJB ( 2.0-M1)

Hi,

If i use PortableRemoteObject narrow in a servlet i get a exception.

[TestHome testHome = (TestHome) PortableRemoteObject.narrow(result,
TestHome.class);]

java.lang.ExceptionInInitializerError
	javax.rmi.PortableRemoteObject.<clinit>(PortableRemoteObject.java:36)
	org.apache.geronimo.test.TomcatTestServlet.doGet(TomcatTestServlet.java:35)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:806)


root cause

org.omg.CORBA.INITIALIZE: Can not create Util delegate:
org.apache.openejb.corba.util.UtilDelegateImpl:  vmcid: 0x0 minor
code: 0x0  completed: No
	javax.rmi.CORBA.Util.<clinit>(Util.java:47)
	javax.rmi.PortableRemoteObject.<clinit>(PortableRemoteObject.java:36)
	org.apache.geronimo.test.TomcatTestServlet.doGet(TomcatTestServlet.java:35)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:806)

I cast the object to EJB Home object when i do a lookup and it works.
[TestHome result = (TestHome)ctx.lookup("java:comp/env/ejb/TestBean");]

Is this method supported?

Regards
Krish

Re: Using PortableRemoteObject narrow in EJB ( 2.0-M1)

Posted by Rick McGuire <ri...@gmail.com>.
David Jencks wrote:
>
> On Jan 23, 2007, at 7:52 AM, Matt Hogstrom wrote:
>
>> Rick,
>>
>> Should we be initializing this as a dependency of j2ee-system or 
>> another component?  Seems like users should get this for free and not 
>> have to declare their own dependency.
>
> IIRC the way things are set up now you get the orbs started when you 
> declare this dependency.  I think that's the reason I didn't add the 
> dependency when I ran into this problem.
>
> Perhaps we could add a classes rather than all dependency from the 
> default environment of the ejb-ref builders.
The real dependency here is the ORBConfigAdapter GBean instance, which 
defines all of the environment variables used by the RMI support and 
does the initial loads of the classes involved while everything is 
ensured to be on the class path. 

The component dependencies end up pulling in the openejb-yoko and 
openejb-corba modules.  The openejb-corba modules were split into a 
separate module so they wouldn't get loaded unless CORBA was being 
used.  The use of PortableRemoteObject seems to suggest CORBA gets used 
more often than most people were aware.  Maybe it does make sense to 
decouple the RMI/corba dependencies from the started CORBABean instances 
contained in the j2ee-corba-yoko config.

Rick


>
> thanks
> david jencks
>
>>
>> I now pause in silence waiting for the mighty ORBitor of truth to speak.
>>
>> On Jan 23, 2007, at 9:36 AM, Rick McGuire wrote:
>>
>>> The RMI code (i.e,, PortableRemoteObject) is dependent on the Corba 
>>> support getting properly initialized.  Your application needs to 
>>> have a dependency on the sj2ee-corba-yoko config, which handles all 
>>> of that.
>>>
>>> Rick
>>>
>>> Krishnakumar B wrote:
>>>> Hi,
>>>>
>>>> If i use PortableRemoteObject narrow in a servlet i get a exception.
>>>>
>>>> [TestHome testHome = (TestHome) PortableRemoteObject.narrow(result,
>>>> TestHome.class);]
>>>>
>>>> java.lang.ExceptionInInitializerError
>>>>     
>>>> javax.rmi.PortableRemoteObject.<clinit>(PortableRemoteObject.java:36)
>>>>     
>>>> org.apache.geronimo.test.TomcatTestServlet.doGet(TomcatTestServlet.java:35) 
>>>>
>>>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>>>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>>>>
>>>>
>>>> root cause
>>>>
>>>> org.omg.CORBA.INITIALIZE: Can not create Util delegate:
>>>> org.apache.openejb.corba.util.UtilDelegateImpl:  vmcid: 0x0 minor
>>>> code: 0x0  completed: No
>>>>     javax.rmi.CORBA.Util.<clinit>(Util.java:47)
>>>>     
>>>> javax.rmi.PortableRemoteObject.<clinit>(PortableRemoteObject.java:36)
>>>>     
>>>> org.apache.geronimo.test.TomcatTestServlet.doGet(TomcatTestServlet.java:35) 
>>>>
>>>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>>>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>>>>
>>>> I cast the object to EJB Home object when i do a lookup and it works.
>>>> [TestHome result = 
>>>> (TestHome)ctx.lookup("java:comp/env/ejb/TestBean");]
>>>>
>>>> Is this method supported?
>>>>
>>>> Regards
>>>> Krish
>>>>
>>>
>>>
>>
>> Matt Hogstrom
>> matt@hogstrom.org
>>
>> "Have you noticed since everyone has a camcorder these days no one 
>> talks about seeing UFOs like they used to?"
>>
>>
>
>


Re: Using PortableRemoteObject narrow in EJB ( 2.0-M1)

Posted by Sachin Patel <sp...@gmail.com>.
Ignore.. responded to the wrong thread.

On Jan 23, 2007, at 1:18 PM, Sachin Patel wrote:

> Ok, one other item we don't support is an ear with an ejbjar, with  
> no application.xml, nor an ejb-jar.xml.  The EARConfigBuilder needs  
> to inspect classes for any ejb related annotations in order to  
> classify it as an ejbjar.  Same goes for other modules contained in  
> an ear with no module or application dd.
>
> However, we can't check for module specific annotations in the  
> EARConfigBuilder, so do we need to consider adding a new method to  
> the ModuleBuilder interface (ex. isModule(JarFile)) so that the  
> individual builders can check for specific annotations and have  
> something abstract that the EARConfigBuilder can invoke?


-sachin



Re: Using PortableRemoteObject narrow in EJB ( 2.0-M1)

Posted by Sachin Patel <sp...@gmail.com>.
Ok, one other item we don't support is an ear with an ejbjar, with no  
application.xml, nor an ejb-jar.xml.  The EARConfigBuilder needs to  
inspect classes for any ejb related annotations in order to classify  
it as an ejbjar.  Same goes for other modules contained in an ear  
with no module or application dd.

However, we can't check for module specific annotations in the  
EARConfigBuilder, so do we need to consider adding a new method to  
the ModuleBuilder interface (ex. isModule(JarFile)) so that the  
individual builders can check for specific annotations and have  
something abstract that the EARConfigBuilder can invoke?

On Jan 23, 2007, at 11:05 AM, David Jencks wrote:

>
> On Jan 23, 2007, at 7:52 AM, Matt Hogstrom wrote:
>
>> Rick,
>>
>> Should we be initializing this as a dependency of j2ee-system or  
>> another component?  Seems like users should get this for free and  
>> not have to declare their own dependency.
>
> IIRC the way things are set up now you get the orbs started when  
> you declare this dependency.  I think that's the reason I didn't  
> add the dependency when I ran into this problem.
>
> Perhaps we could add a classes rather than all dependency from the  
> default environment of the ejb-ref builders.
>
> thanks
> david jencks
>
>>
>> I now pause in silence waiting for the mighty ORBitor of truth to  
>> speak.
>>
>> On Jan 23, 2007, at 9:36 AM, Rick McGuire wrote:
>>
>>> The RMI code (i.e,, PortableRemoteObject) is dependent on the  
>>> Corba support getting properly initialized.  Your application  
>>> needs to have a dependency on the sj2ee-corba-yoko config, which  
>>> handles all of that.
>>>
>>> Rick
>>>
>>> Krishnakumar B wrote:
>>>> Hi,
>>>>
>>>> If i use PortableRemoteObject narrow in a servlet i get a  
>>>> exception.
>>>>
>>>> [TestHome testHome = (TestHome) PortableRemoteObject.narrow(result,
>>>> TestHome.class);]
>>>>
>>>> java.lang.ExceptionInInitializerError
>>>>     javax.rmi.PortableRemoteObject.<clinit> 
>>>> (PortableRemoteObject.java:36)
>>>>     org.apache.geronimo.test.TomcatTestServlet.doGet 
>>>> (TomcatTestServlet.java:35)
>>>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>>>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>>>>
>>>>
>>>> root cause
>>>>
>>>> org.omg.CORBA.INITIALIZE: Can not create Util delegate:
>>>> org.apache.openejb.corba.util.UtilDelegateImpl:  vmcid: 0x0 minor
>>>> code: 0x0  completed: No
>>>>     javax.rmi.CORBA.Util.<clinit>(Util.java:47)
>>>>     javax.rmi.PortableRemoteObject.<clinit> 
>>>> (PortableRemoteObject.java:36)
>>>>     org.apache.geronimo.test.TomcatTestServlet.doGet 
>>>> (TomcatTestServlet.java:35)
>>>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>>>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>>>>
>>>> I cast the object to EJB Home object when i do a lookup and it  
>>>> works.
>>>> [TestHome result = (TestHome)ctx.lookup("java:comp/env/ejb/ 
>>>> TestBean");]
>>>>
>>>> Is this method supported?
>>>>
>>>> Regards
>>>> Krish
>>>>
>>>
>>>
>>
>> Matt Hogstrom
>> matt@hogstrom.org
>>
>> "Have you noticed since everyone has a camcorder these days no one  
>> talks about seeing UFOs like they used to?"
>>
>>
>


-sachin



Re: Using PortableRemoteObject narrow in EJB ( 2.0-M1)

Posted by David Jencks <da...@yahoo.com>.
On Jan 23, 2007, at 7:52 AM, Matt Hogstrom wrote:

> Rick,
>
> Should we be initializing this as a dependency of j2ee-system or  
> another component?  Seems like users should get this for free and  
> not have to declare their own dependency.

IIRC the way things are set up now you get the orbs started when you  
declare this dependency.  I think that's the reason I didn't add the  
dependency when I ran into this problem.

Perhaps we could add a classes rather than all dependency from the  
default environment of the ejb-ref builders.

thanks
david jencks

>
> I now pause in silence waiting for the mighty ORBitor of truth to  
> speak.
>
> On Jan 23, 2007, at 9:36 AM, Rick McGuire wrote:
>
>> The RMI code (i.e,, PortableRemoteObject) is dependent on the  
>> Corba support getting properly initialized.  Your application  
>> needs to have a dependency on the sj2ee-corba-yoko config, which  
>> handles all of that.
>>
>> Rick
>>
>> Krishnakumar B wrote:
>>> Hi,
>>>
>>> If i use PortableRemoteObject narrow in a servlet i get a exception.
>>>
>>> [TestHome testHome = (TestHome) PortableRemoteObject.narrow(result,
>>> TestHome.class);]
>>>
>>> java.lang.ExceptionInInitializerError
>>>     javax.rmi.PortableRemoteObject.<clinit> 
>>> (PortableRemoteObject.java:36)
>>>     org.apache.geronimo.test.TomcatTestServlet.doGet 
>>> (TomcatTestServlet.java:35)
>>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>>>
>>>
>>> root cause
>>>
>>> org.omg.CORBA.INITIALIZE: Can not create Util delegate:
>>> org.apache.openejb.corba.util.UtilDelegateImpl:  vmcid: 0x0 minor
>>> code: 0x0  completed: No
>>>     javax.rmi.CORBA.Util.<clinit>(Util.java:47)
>>>     javax.rmi.PortableRemoteObject.<clinit> 
>>> (PortableRemoteObject.java:36)
>>>     org.apache.geronimo.test.TomcatTestServlet.doGet 
>>> (TomcatTestServlet.java:35)
>>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>>>
>>> I cast the object to EJB Home object when i do a lookup and it  
>>> works.
>>> [TestHome result = (TestHome)ctx.lookup("java:comp/env/ejb/ 
>>> TestBean");]
>>>
>>> Is this method supported?
>>>
>>> Regards
>>> Krish
>>>
>>
>>
>
> Matt Hogstrom
> matt@hogstrom.org
>
> "Have you noticed since everyone has a camcorder these days no one  
> talks about seeing UFOs like they used to?"
>
>


Re: Using PortableRemoteObject narrow in EJB ( 2.0-M1)

Posted by Matt Hogstrom <ma...@hogstrom.org>.
Rick,

Should we be initializing this as a dependency of j2ee-system or  
another component?  Seems like users should get this for free and not  
have to declare their own dependency.

I now pause in silence waiting for the mighty ORBitor of truth to speak.

On Jan 23, 2007, at 9:36 AM, Rick McGuire wrote:

> The RMI code (i.e,, PortableRemoteObject) is dependent on the Corba  
> support getting properly initialized.  Your application needs to  
> have a dependency on the sj2ee-corba-yoko config, which handles all  
> of that.
>
> Rick
>
> Krishnakumar B wrote:
>> Hi,
>>
>> If i use PortableRemoteObject narrow in a servlet i get a exception.
>>
>> [TestHome testHome = (TestHome) PortableRemoteObject.narrow(result,
>> TestHome.class);]
>>
>> java.lang.ExceptionInInitializerError
>>     javax.rmi.PortableRemoteObject.<clinit> 
>> (PortableRemoteObject.java:36)
>>     org.apache.geronimo.test.TomcatTestServlet.doGet 
>> (TomcatTestServlet.java:35)
>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>>
>>
>> root cause
>>
>> org.omg.CORBA.INITIALIZE: Can not create Util delegate:
>> org.apache.openejb.corba.util.UtilDelegateImpl:  vmcid: 0x0 minor
>> code: 0x0  completed: No
>>     javax.rmi.CORBA.Util.<clinit>(Util.java:47)
>>     javax.rmi.PortableRemoteObject.<clinit> 
>> (PortableRemoteObject.java:36)
>>     org.apache.geronimo.test.TomcatTestServlet.doGet 
>> (TomcatTestServlet.java:35)
>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>>
>> I cast the object to EJB Home object when i do a lookup and it works.
>> [TestHome result = (TestHome)ctx.lookup("java:comp/env/ejb/ 
>> TestBean");]
>>
>> Is this method supported?
>>
>> Regards
>> Krish
>>
>
>

Matt Hogstrom
matt@hogstrom.org

"Have you noticed since everyone has a camcorder these days no one  
talks about seeing UFOs like they used to?"



Re: Using PortableRemoteObject narrow in EJB ( 2.0-M1)

Posted by Rick McGuire <ri...@gmail.com>.
The RMI code (i.e,, PortableRemoteObject) is dependent on the Corba 
support getting properly initialized.  Your application needs to have a 
dependency on the sj2ee-corba-yoko config, which handles all of that.

Rick

Krishnakumar B wrote:
> Hi,
>
> If i use PortableRemoteObject narrow in a servlet i get a exception.
>
> [TestHome testHome = (TestHome) PortableRemoteObject.narrow(result,
> TestHome.class);]
>
> java.lang.ExceptionInInitializerError
>     javax.rmi.PortableRemoteObject.<clinit>(PortableRemoteObject.java:36)
>     org.apache.geronimo.test.TomcatTestServlet.doGet(TomcatTestServlet.java:35) 
>
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>
>
> root cause
>
> org.omg.CORBA.INITIALIZE: Can not create Util delegate:
> org.apache.openejb.corba.util.UtilDelegateImpl:  vmcid: 0x0 minor
> code: 0x0  completed: No
>     javax.rmi.CORBA.Util.<clinit>(Util.java:47)
>     javax.rmi.PortableRemoteObject.<clinit>(PortableRemoteObject.java:36)
>     org.apache.geronimo.test.TomcatTestServlet.doGet(TomcatTestServlet.java:35) 
>
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>
> I cast the object to EJB Home object when i do a lookup and it works.
> [TestHome result = (TestHome)ctx.lookup("java:comp/env/ejb/TestBean");]
>
> Is this method supported?
>
> Regards
> Krish
>