[jboss-user] [Advanced Documentation] - Regrading
jinesh.parikh1983
do-not-reply at jboss.com
Sat Nov 24 13:45:06 EST 2007
Hello ,
I am using JBoss [Zion] 4.0.3RC1.Here is the code of my session bean
Home Interface
------------------
import java.rmi.RemoteException;
import javax.ejb.CreateException;
import javax.ejb.EJBHome;
public interface AdviceHome extends EJBHome{
public AdviceComponent create() throws RemoteException,CreateException;
}
Component Interface
-------------------------
package com.fritolay;
import java.rmi.RemoteException;
import javax.ejb.EJBObject;
public interface AdviceComponent extends EJBObject{
public String getAdvice() throws RemoteException;
}
Bean class
--------------
package com.fritolay;
import java.rmi.RemoteException;
import javax.ejb.EJBException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
public class AdviceImpl implements SessionBean{
public void ejbActivate() throws EJBException, RemoteException {
// TODO Auto-generated method stub
}
public void ejbPassivate() throws EJBException, RemoteException {
// TODO Auto-generated method stub
}
public void ejbRemove() throws EJBException, RemoteException {
// TODO Auto-generated method stub
}
public void setSessionContext(SessionContext arg0) throws EJBException, RemoteException {
// TODO Auto-generated method stub
}
public void ejbCreate(){
System.out.println("ejbcreate method called...");
}
public String getAdvice(){
return "No Advice Temporirly";
}
}
Client code
----------------
package com.fritolay;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;
public class AdviceClient {
public static void main(String[] args) {
InitialContext context = null;
try {
java.util.Hashtable JNDIParm = new java.util.Hashtable();
JNDIParm.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
JNDIParm.put(Context.URL_PKG_PREFIXES, "org.jnp.interfaces");
JNDIParm.put(Context.PROVIDER_URL, "localhost:1099" );
context = new InitialContext(JNDIParm);
if(context==null){
System.out.println("Context is Null");
}
else
{
System.out.println("Context is Not Null");
}
Object o=context.lookup("kamini");
AdviceHome hec=(AdviceHome)PortableRemoteObject.narrow(context.lookup("kamini"),AdviceHome.class);
}
catch(Exception e){
e.printStackTrace();
}
}
}
Here is my ejb-jar.xml
ejb-jar.xml
--------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise
JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar>
<enterprise-beans>
<ejb-name>Advice</ejb-name>
com.fritolay.AdviceHome
com.fritolay.AdviceComponent
<ejb-class>com.fritolay.AdviceImpl</ejb-class>
<session-type>Stateful</session-type>
<transaction-type>Container</transaction-type>
</enterprise-beans>
</ejb-jar>
jboss.xml
------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS 3.0//EN" "http://www.jboss.org/j2ee/dtd/jboss_3_0.dtd">
<enterprise-beans>
<!--
To add beans that you have deployment descriptor info for, add
a file to your XDoclet merge directory called jboss-beans.xml that contains
the , and <message-driven></message-driven>
markup for those beans.
-->
<ejb-name>Advice</ejb-name>
<jndi-name>kamini</jndi-name>
<!--
write a merge file jboss-webservices.ent for webservice-description
-->
</enterprise-beans>
<resource-managers>
</resource-managers>
<!--
| for container settings, you can merge in jboss-container.xml
| this can contain <invoker-proxy-bindings/> and <container-configurations/>
-->
i am using the jdk1.5.0_06 .
when i am deploying the EJBJar (advice.jar) file of the above ejb in above ejb it is deployed properly without any errors.But when i am running the client i am getting following error
javax.naming.CommunicationException [Root exception is java.io.InvalidClassException: org.jboss.util.id.GUID; local class incompatible: stream classdesc serialVersionUID = 3289509836244263718, local class serialVersionUID = 6926421946503004889]
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:663)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:520)
at javax.naming.InitialContext.lookup(Unknown Source)
at com.fritolay.AdviceClient.main(AdviceClient.java:27)
Caused by: java.io.InvalidClassException: org.jboss.util.id.GUID; local class incompatible: stream classdesc serialVersionUID = 3289509836244263718, local class serialVersionUID = 6926421946503004889
at java.io.ObjectStreamClass.initNonProxy(Unknown Source)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at org.jboss.invocation.InvokerInterceptor.readExternal(InvokerInterceptor.java:190)
at java.io.ObjectInputStream.readExternalData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at org.jboss.proxy.Interceptor.readExternal(Interceptor.java:66)
at java.io.ObjectInputStream.readExternalData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at org.jboss.proxy.Interceptor.readExternal(Interceptor.java:66)
at java.io.ObjectInputStream.readExternalData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at org.jboss.proxy.Interceptor.readExternal(Interceptor.java:66)
at java.io.ObjectInputStream.readExternalData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at org.jboss.proxy.ClientContainer.readExternal(ClientContainer.java:147)
at java.io.ObjectInputStream.readExternalData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at java.rmi.MarshalledObject.get(Unknown Source)
at org.jnp.interfaces.MarshalledValuePair.get(MarshalledValuePair.java:51)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:566)
... 3 more
can anybody help me in solving the above error please it is urgent.Please help me....
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4107498#4107498
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4107498
More information about the jboss-user
mailing list