ejb3 session bean and JNDI problem.
xubin Nov 30, 2005 2:52 AMI write a EJB3 session bean, it run in a JBOSS4.0.3SP1 server.
and i write a client to test the EJB3 session bean, the client is run in another
JVM.
here is my client
public class JNDITest {
public JNDITest() {
super();
// TODO Auto-generated constructor stub
}
/**
* @param args
*/
public static void main(String[] args) {
Properties env = new Properties();
env.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
env.setProperty(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interface");
env.setProperty(Context.PROVIDER_URL, "jnp://xbw:1099");
try {
Context ctx = new InitialContext(env);
com.xubin.jnditest.ejb3.JNDITest testbean = (com.xubin.jnditest.ejb3.JNDITest)ctx.lookup(com.xubin.jnditest.ejb3.JNDITest.class.getName());
System.out.println(testbean.getInfo());
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
and here is my ejb3
package com.xubin.jnditest.ejb3;
import javax.ejb.Stateless;
import com.xubin.jnditest.ejb3.JNDITest;
public @Stateless class JNDITestBean implements JNDITest {
public String getInfo() {
return "Just a test";
}
}
when I run my client, it's all right, "Just a test" is printed on console.
But, in server side, an error is raise:
15:32:09,515 ERROR [ServerThread] failed
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at java.io.ObjectInputStream$PeekInputStream.peek(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.readBlockHeader(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.refill(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.read(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.readByte(Unknown Source)
at java.io.ObjectInputStream.readByte(Unknown Source)
at org.jboss.remoting.transport.socket.ServerSocketWrapper.checkConnection(ServerSocketWrapper.java:54)
at org.jboss.remoting.transport.socket.ServerThread.acknowledge(ServerThread.java:217)
at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:298)
at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:169)
Can anyone tell me why? Please give me a hand!