These are my code..........
********remote interface*******
package My;
import java.rmi.*;
import javax.ejb.*;
public interface DemoInter extends EJBObject
{
public int add(int a,int b) throws RemoteException;
}
************home interface***********
package My;
import javax.ejb.*;
import java.rmi.*;
public interface DemoHome extends EJBHome
{
public DemoInter create() 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( )
{
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(int a,int b) 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();
System.out.println(obj1.add(4,5));
} 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 <[EMAIL PROTECTED]>
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
<[EMAIL PROTECTED]>
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.