geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From atul12345 <atul.i...@gmail.com>
Subject Re: how to run Ejb program on geronimo
Date Mon, 07 Apr 2008 07:51:40 GMT

Dear Sir,

             Thanks for help but this is not my solution. Anyway according
to u i am showing the ENTIRE stack trace for this exception and include the
exact  source code........


This is my Exception which is generated during the client program
execute.......
java.lang.ClassCastException
         at
  com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow(PortableR
         at
 javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:137)
         at HelloWorld.main(HelloWorld.java:31)
 Caused by: java.lang.ClassCastException: $Proxy0 cannot be cast to
 org.omg.CORBA
         at
 com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow(PortableR
         ... 2 more

 Could anyone tell me what I’m doing wrong? Thanks a lot. Looking forward to
hearing from you.

These are my code..........

********remote interface*******
package My;

import java.rmi.*;

import javax.ejb.*;

public interface DemoInter extends EJBObject
{
           public int add() throws RemoteException;
}

************home interface***********
package My;

import javax.ejb.*;
import java.rmi.*;



public interface DemoHome extends EJBHome
{
public DemoInter create(int a, int b) throws
CreateException,RemoteException;
}
*************bean class*************

package My;

import javax.ejb.*;
import java.rmi.*;

public class DemoBean implements SessionBean
{
 int a,b;
private SessionContext context;
   public void setSessionContext(SessionContext ctx){this.context=ctx}
 
   public void ejbCreate( int a,int b)
   {
                this.a=a;
                this.b=b;
          System.out.println("ejb Created");
   }
 
    public void ejbActivate(){System.out.println("ejbActivate()");}
    public void ejbPassivate(){System.out.println("ejbPassivate()");}
    public void ejbRemove(){System.out.println("distroyed");}
    public int add() throws RemoteException
    {
           return(a+b);
    }
}

**********ejb-jar.xml****************
       

<ejb-jar id="ejb-jar_1" xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
         http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd" version="2.1">
        <description>Example of a session bean</description>
        <display-name>MyTimeBeanEJBName</display-name>
        <enterprise-beans>
                <session id="Session_MyTime">
                       
                        <ejb-name>My.DemoEJB</ejb-name>
                        <home>My.DemoHome</home>
                        <remote>My.DemoInter</remote>
                        <ejb-class>My.DemoBean</ejb-class>
                                       
                        <session-type>Stateful</session-type>
                        <transaction-type>Container</transaction-type>
                </session>
        </enterprise-beans>
</ejb-jar>

*************openejb.xml***********


<openejb-jar xmlns="http://www.openejb.org/xml/ns/openejb-jar-2.1"
             xmlns:nam="http://geronimo.apache.org/xml/ns/naming-1.1"
             xmlns:pkgen="http://www.openejb.org/xml/ns/pkgen-2.0"
             xmlns:security="http://geronimo.apache.org/xml/ns/security-1.1"
  xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1">  
       
       
  <enterprise-beans>
    <session>
            <ejb-name>My.DemoEJB</ejb-name>
            <jndi-name>ejb/mgmt/MEJBRemoteHome</jndi-name>
    </session>
  </enterprise-beans>
</openejb-jar>


***********my client**************




import java.util.*;
import javax.rmi.PortableRemoteObject;
import javax.naming.*;
import javax.rmi.*;
import My.*;


public class Client {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                try {
                       
                        Properties properties=new Properties();
            properties.setProperty(Context.INITIAL_CONTEXT_FACTORY,
"org.apache.openejb.client.RemoteInitialContextFactory");
           
properties.put("java.naming.provider.url","ejbd://localhost:4201");
                       
            Context ctx=new InitialContext(properties);
                        System.out.println("ic = " + ctx);
                       
                        //MyTimeLocal myTimeLocal =
(MyTimeLocal)context.lookup("java:comp/env/ejb/MyTimeBean");
                       // My.DemoInter remoteObj
=(My.DemoInter)ctx.lookup("ejb/mgmt/MEJBRemoteHome");
                       Object object=ctx.lookup("ejb/mgmt/MEJBRemoteHome");
                       // System.out.println("hello" +object);
                        My.DemoHome ejbHome
=(My.DemoHome)PortableRemoteObject.narrow(object,My.DemoHome.class);
          System.out.println("hello" +ejbHome);                      
  My.DemoInter obj1=ejbHome.create(4,5);
  System.out.println(obj1.add());




                                                                                       
                } catch (Exception e) {
                        System.out.println(e);
                        // TODO: handle exception
                }
                       
               

        }

}


this is log file..........

13:02:24,839 INFO  [SupportedModesServiceImpl] Portlet mode 'edit' not found
for portletId: '/plugin.Deployment!227983155|0'
13:02:30,987 INFO  [SupportedModesServiceImpl] Portlet mode 'edit' not found
for portletId: '/plugin.Deployment!227983155|0'
13:02:34,611 INFO  [SupportedModesServiceImpl] Portlet mode 'edit' not found
for portletId: '/plugin.Deployment!227983155|0'
13:02:35,732 INFO  [SupportedModesServiceImpl] Portlet mode 'edit' not found
for portletId: '/plugin.Deployment!227983155|0'
13:02:40,045 INFO  [config] Configuring Service(id=Default Stateless
Container, type=Container, provider-id=Default Stateless Container)
13:02:40,045 INFO  [config] Configuring Service(id=Default Stateful
Container, type=Container, provider-id=Default Stateful Container)
13:02:40,045 INFO  [config] Configuring Service(id=Default BMP Container,
type=Container, provider-id=Default BMP Container)
13:02:40,046 INFO  [config] Configuring Service(id=Default CMP Container,
type=Container, provider-id=Default CMP Container)
13:02:40,046 INFO  [config] Configuring app:
default/ejbsample1.jar/1207553559310/jar
13:02:40,078 INFO  [OpenEJB] Auto-deploying ejb DemoEJB:
EjbDeployment(deployment-id=ejbsample1.jar/DemoEJB)
13:02:40,079 INFO  [config] Loaded Module:
default/ejbsample1.jar/1207553559310/jar
13:02:40,976 INFO  [startup] Assembling app:
/home/atul/santemp/geronimo-tomcat6-javaee5-2.1/var/temp/geronimo-deployer17419.tmpdir/ejbsample1.jar
13:02:40,985 INFO  [startup] Jndi(name=DemoEJBRemoteHome) -->
Ejb(deployment-id=ejbsample1.jar/DemoEJB)
13:02:40,985 INFO  [startup] Created
Ejb(deployment-id=ejbsample1.jar/DemoEJB, ejb-name=DemoEJB,
container=Default Stateless Container)
13:02:40,985 INFO  [startup] Deployed
Application(path=/home/atul/santemp/geronimo-tomcat6-javaee5-2.1/var/temp/geronimo-deployer17419.tmpdir/ejbsample1.jar)
13:02:41,083 INFO  [SupportedModesServiceImpl] Portlet mode 'edit' not found
for portletId: '/plugin.Deployment!227983155|0'




djencks wrote:
> 
> We seem to be going around in circles.  I don't believe the exception  
> you show is consistent with the client code you show.  Please show  
> the ENTIRE stack trace for this exception and include the exact  
> source code as a file so I can see the line numbers from the client  
> code matching up with the stack trace.  I cannot investigate further  
> without some definite correspondence that I can see clearly between  
> the pieces of information you supply.
> 
> thanks
> david jencks
> 
> On Apr 3, 2008, at 9:51 PM, atul12345 wrote:
> 
>>
>>
>>
>> Dear sir,
>>
>>                I am sure, when i running the client code, got that
>> Exception. I have already mentioned all exception which throw  
>> during the
>> execution of client program.
>>        if u want again so that is....
>> please sir provide me write solution to resolve this problem becoz  
>> i have
>> already spent two to three days resolve it problem.
>>
>> java.lang.ClassCastException
>>         at
>> com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow(PortableR
>>         at
>> javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:137)
>>         at HelloWorld.main(HelloWorld.java:31)
>> Caused by: java.lang.ClassCastException: $Proxy0 cannot be cast to
>> org.omg.CORBA
>>         at
>> com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow(PortableR
>>         ... 2 more
>>
>> Could anyone tell me what I’m doing wrong? Thanks a lot. Looking  
>> forward to
>> hearing from you.
>>
>>
>> djencks wrote:
>>>
>>> Are you sure you are running the client code you show?  The error
>>> indicates you are using PortableRemoteObject.narrow() rather than the
>>> simple cast in the client code you showed earlier.
>>>
>>> Is the CCE happening on the client?
>>>
>>> I'm unable to see how the exception you show can be coming from the
>>> code you show.  More of the exception stack trace might possibly be
>>> helpful.
>>>
>>> david jencks
>>>
>>>
>>> On Apr 2, 2008, at 10:05 PM, atul12345 wrote:
>>>
>>>>
>>>>
>>>>    Thanks for help but this is not problem that is when i run my
>>>> client
>>>> program that time i get error.......
>>>>            java.lang.ClassCastException: $Proxy0 cannot be cast to
>>>> My.DemoInter
>>>>
>>>> Actually sir i have already mentioned  interfaces,bean class and my
>>>> client
>>>> and xml. so please check that code and tell me what i am doing  
>>>> wrong.
>>>> Actually sir i had spent already three days to run one simple ejb
>>>> program i
>>>> think geronimo server is not good for ejb.
>>>>
>>>>
>>>> please help me  to give suitable response..........
>>>>
>>>>
>>>> vhnguy2 wrote:
>>>>>
>>>>> Hi Atul,
>>>>>
>>>>> It looks like you're doing a remote lookup. I think your client  
>>>>> code
>>>>> should look something similar to
>>>>>
>>>>> My.DemoInter remoteObj =(My.DemoInter)ctx.lookup(<jndi for remote
>>>>> interface>);
>>>>>
>>>>> Let me know if this works.
>>>>>
>>>>> Thanks,
>>>>> Viet
>>>>>
>>>>>
>>>>> On Wed, Apr 2, 2008 at 4:12 AM, atul12345 <atul.iims@gmail.com>
>>>>> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>  atul12345 wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Hi Sir,
>>>>>>>          Thanks for help. I appreciate your attention. See ya!
>>>>>>>       This is my ejb-jar.xml file here i do have  all the classes
>>>>>> means
>>>>>>> interface name.
>>>>>>>
>>>>>>> <ejb-jar id="ejb-jar_1" xmlns="http://java.sun.com/xml/ns/j2ee"
>>>>>>>        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>>>>>        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
>>>>>>>        http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"
>>>>>>> version="2.1">
>>>>>>>       <description>Example of a session bean</description>
>>>>>>>       <display-name>MyTimeBeanEJBName</display-name>
>>>>>>>       <enterprise-beans>
>>>>>>>               <session id="Session_MyTime">
>>>>>>>
>>>>>>>                       <ejb-name>My.DemoEJB</ejb-name>
>>>>>>>                       <home>My.DemoHome</home>
>>>>>>>                       <remote>My.DemoInter</remote>
>>>>>>>                       <ejb-class>My.DemoBean</ejb-class>
>>>>>>>
>>>>>>>                       <session-type>Stateful</session-type>
>>>>>>>                       <transaction-type>Container</transaction-
>>>>>>> type>
>>>>>>>               </session>
>>>>>>>       </enterprise-beans>
>>>>>>> </ejb-jar>
>>>>>>>
>>>>>>> When I try to execute my client , I receive this error message:
>>>>>>> java.lang.ClassCastException.
>>>>>>>
>>>>>>> java.lang.ClassCastException
>>>>>>>         at
>>>>>>> com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow
>>>>>>> (PortableR
>>>>>>>         at
>>>>>>> javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:
>>>>>>> 137)
>>>>>>>         at HelloWorld.main(HelloWorld.java:31)
>>>>>>> Caused by: java.lang.ClassCastException: $Proxy0 cannot be  
>>>>>>> cast to
>>>>>>> org.omg.CORBA
>>>>>>>         at
>>>>>>> com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow
>>>>>>> (PortableR
>>>>>>>         ... 2 more
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> Could anyone tell me what I'm doing wrong? Thanks a lot. Looking
>>>>>> forward
>>>>>>> to hearing from you.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> manucet wrote:
>>>>>>>>
>>>>>>>> Hi Atul,
>>>>>>>>             I am not sure but did you specify the home and
 
>>>>>>>> remote
>>>>>>>> interfaces in the ejb-jar.xml file? If yes it will be helpful
>>>>>>>> if you
>>>>>>>> can provide a test case.
>>>>>>>>
>>>>>>>> Regards
>>>>>>>> Manu
>>>>>>>>
>>>>>>>> On Tue, Apr 1, 2008 at 4:33 PM, atul12345 <atul.iims@gmail.com>
>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>  Actually after resolved jndi name problem i get one
new error
>>>>>>>>> that
>>>>>> is
>>>>>>>>>
>>>>>>>>>  java.lang.ClassCastException: $Proxy0 cannot be cast
to
>>>>>>>>> My.DemoHome
>>>>>>>>>   if anyone have any idea what is this so please give
 me
>>>>>>>>> suitable
>>>>>>>>> soluation
>>>>>>>>>  to resolve that problem.........
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>  atul12345 wrote:
>>>>>>>>>>
>>>>>>>>>>  Dear Sir,
>>>>>>>>>>
>>>>>>>>>>               I am new programmer to Geronimo and
EJB which  
>>>>>>>>>> are
>>>>>>>>> running on
>>>>>>>>>> gentoo. i am createing stateful session bean like
that........
>>>>>>>>>> This is remote Interface..........
>>>>>>>>>> package My;
>>>>>>>>>>
>>>>>>>>>> import java.rmi.*;
>>>>>>>>>>
>>>>>>>>>> import javax.ejb.*;
>>>>>>>>>>
>>>>>>>>>> public interface DemoInter extends EJBObject
>>>>>>>>>> {
>>>>>>>>>>            public int add(int a,int b) throws RemoteException;
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> This is Home Interface..........
>>>>>>>>>> package My;
>>>>>>>>>>
>>>>>>>>>> import javax.ejb.*;
>>>>>>>>>> import java.rmi.*;
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> public interface DemoHome extends EJBHome
>>>>>>>>>> {
>>>>>>>>>> public DemoInter create() throws
>>>>>>>>>> CreateException,RemoteException;
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> This is Bean class............
>>>>>>>>>>
>>>>>>>>>> package My;
>>>>>>>>>>
>>>>>>>>>> import java.rmi.*;
>>>>>>>>>>
>>>>>>>>>> import javax.ejb.*;
>>>>>>>>>>
>>>>>>>>>> public class DemoBean implements SessionBean
>>>>>>>>>> {
>>>>>>>>>>          public DemoBean() {
>>>>>>>>>>                 // TODO Auto-generated constructor
stub
>>>>>>>>>>                            }
>>>>>>>>>>         public void ejbCreate()
>>>>>>>>>>         {
>>>>>>>>>>            System.out.println("ejbCreate()");
>>>>>>>>>>         }
>>>>>>>>>>
>>>>>>>>>>         public void ejbRemove()
>>>>>>>>>>         {
>>>>>>>>>>            System.out.println("ejbRemove()");
>>>>>>>>>>         }
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> public void ejbActivate()
>>>>>>>>>> {
>>>>>>>>>>    System.out.println("ejbActivate()");
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> public void ejbPassivate()
>>>>>>>>>> {
>>>>>>>>>>    System.out.println("ejbPassivate()");
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> public void setSessionContext(SessionContext ctx){}
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> public int add(int a,int b) throws RemoteException
>>>>>>>>>> {
>>>>>>>>>> return (a+b);
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> open-ejb.xml is where i specified the jndi name
>>>>>>>>>>
>>>>>>>>>> <openejb-jar
>>>>>> xmlns="http://www.openejb.org/xml/ns/openejb-jar-2.1"
>>>>>>>>>>
>>>>>>>>> xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.1"
>>>>>>>>>>
>>>>>>>>>> xmlns:security="http://geronimo.apache.org/xml/ns/

>>>>>>>>>> security-1.1"
>>>>>>>>>>   xmlns:sys="http://geronimo.apache.org/xml/ns/ 
>>>>>>>>>> deployment-1.1">
>>>>>>>>>>
>>>>>>>>>>   <enterprise-beans>
>>>>>>>>>>     <session>
>>>>>>>>>>             <ejb-name>Demo</ejb-name>
>>>>>>>>>>
>>>>>> <jndi-name>org.geronimo.ejbsample.HomeBean</jndi-name>
>>>>>>>>>>     </session>
>>>>>>>>>>   </enterprise-beans>
>>>>>>>>>> </openejb-jar>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>  and this is my client code...........
>>>>>>>>>>
>>>>>>>>>> import java.util.*;
>>>>>>>>>> import javax.naming.*;
>>>>>>>>>> import javax.rmi.*;
>>>>>>>>>> import My.*;
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> public class Client {
>>>>>>>>>>
>>>>>>>>>>         /**
>>>>>>>>>>          * @param args
>>>>>>>>>>          */
>>>>>>>>>>         public static void main(String[] args) {
>>>>>>>>>>                 // TODO Auto-generated method stub
>>>>>>>>>>                 try {
>>>>>>>>>>
>>>>>>>>>>                         Properties properties=new
Properties 
>>>>>>>>>> ();
>>>>>>>>>>
>>>>>> properties.setProperty(Context.INITIAL_CONTEXT_FACTORY,
>>>>>>>>>> "org.apache.openejb.client.RemoteInitialContextFactory");
>>>>>>>>>>
>>>>>>>>>>
>>>>>> properties.setProperty(Context.PROVIDER_URL,
>>>>>>>>>> "ejbd://localhost:4201" );
>>>>>>>>>>
>>>>>>>>>>             Context ctx=new InitialContext(properties);
>>>>>>>>>>
>>>>>>>>>>                  My.DemoHome
>>>>>>>>>>
>>>>>> home=(My.DemoHome)ctx.lookup
>>>>>> ("java:org.geronimo.ejbsample.HomeBean");
>>>>>>>>>>
>>>>>>>>>>   My.DemoInter object =home.create();
>>>>>>>>>>   System.out.println(object.add(12,22));
>>>>>>>>>>
>>>>>>>>>> that is my code, everything is ok means deploy successfully
 
>>>>>>>>>> but
>>>>>>>>> problem is
>>>>>>>>>> when i execute client program, that time i get error
that is
>>>>>>>>>>
>>>>>>>>>> javax.naming.NameNotFoundException:
>>>>>> org.geronimo.ejbsample.HomeBean
>>>>>>>>> does
>>>>>>>>>> not exist in the system.  Check that the app was
successfully
>>>>>>>>> deployed.
>>>>>>>>>> So if anybody know how to resolve this problem then
please  
>>>>>>>>>> give
>>>>>> me
>>>>>>>>>> suitable suggestion to resolve this problem..
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>  --
>>>>>>>>>  View this message in context:
>>>>>>>>>
>>>>>> http://www.nabble.com/how-to-run--Ejb-program-on-geronimo-
>>>>>> tp16392851s134p16417878.html
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Sent from the Apache Geronimo - Users mailing list archive
at
>>>>>>>>> Nabble.com.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>  --
>>>>>>  View this message in context:
>>>>>> http://www.nabble.com/how-to-run--Ejb-program-on-geronimo-
>>>>>> tp16392851s134p16444488.html
>>>>>>
>>>>>>
>>>>>> Sent from the Apache Geronimo - Users mailing list archive at
>>>>>> Nabble.com.
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>> -- 
>>>> View this message in context: http://www.nabble.com/how-to-run--Ejb-
>>>> program-on-geronimo-tp16392851s134p16465788.html
>>>> Sent from the Apache Geronimo - Users mailing list archive at
>>>> Nabble.com.
>>>>
>>>
>>>
>>>
>>
>> -- 
>> View this message in context: http://www.nabble.com/how-to-run--Ejb- 
>> program-on-geronimo-tp16392851s134p16482909.html
>> Sent from the Apache Geronimo - Users mailing list archive at  
>> Nabble.com.
>>
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/how-to-run--Ejb-program-on-geronimo-tp16392851s134p16535345.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Mime
View raw message