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:47:12 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'












atul12345 wrote:
> 
> c
> 
> 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-tp16392851s134p16535341.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Mime
View raw message