Hi guys!

I have developed a very simple EJB with the JBoss IDE 1.5:

Here is the EJB:

Interface:


  | package src;
  | 
  | import javax.ejb.Remote;
  | 
  | @Remote
  | public interface MyCalculator
  | {
  |     int add(int x, int y);
  |     
  |     int sub(int x, int y);
  | }
  | 

Implementation:


  | package src;
  | 
  | import javax.ejb.Stateless;
  | import src.MyCalculator;
  | 
  | public @Stateless class MyCalculatorBean implements MyCalculator {
  | 
  |     public int add(int x, int y)
  |     {
  |             return x+y;
  |     }
  | 
  |     public int sub(int x, int y)
  |     {
  |             return x-y;
  |     }
  | 
  | }
  | 

jndi.properties:


  | java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
  | java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
  | java.naming.provider.url=localhost:1099
  | 

It deployed successfully.

Next I developed the client.
First I got some ClassNotFoundException for the class EJBMetaDataImpl. Luckily 
that problem could be solved as I found another thread stating that the client 
project needs the jboss-client.jar.

Here ist the client:


  | import java.rmi.RMISecurityManager;
  | import java.util.Enumeration;
  | import java.util.Hashtable;
  | 
  | import javax.naming.Context;
  | import javax.naming.InitialContext;
  | 
  | import src.MyCalculator;
  | 
  | public class MyCalculator_Client
  | {
  | 
  |     /**
  |      * @param args
  |      */
  |     public static void main(String[] args)
  |     {
  |             try
  |             {
  |                     System.setSecurityManager(new RMISecurityManager());
  |                     InitialContext ctx = new InitialContext();
  | 
  |                     MyCalculator myCalculator = (MyCalculator) ctx
  |                                     .lookup("MyCalculatorBean/remote");
  | 
  |                     System.out.println("1+2=" + myCalculator.add(1, 2));
  | 
  |             } catch (Exception e)
  |             {
  |                     e.printStackTrace(System.err);
  |             }
  |     }
  |     
  | }
  | 

Here is the exception during invocation:


  | 20:13:12,665 ERROR [SocketServerInvoker] Failed to accept socket connection
  | java.lang.reflect.InvocationTargetException
  |     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  |     at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
  |     at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
  |     at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
  |     at 
org.jboss.remoting.transport.socket.ServerThread.createServerSocket(ServerThread.java:147)
  |     at 
org.jboss.remoting.transport.socket.ServerThread.<init>(ServerThread.java:84)
  |     at 
org.jboss.remoting.transport.socket.SocketServerInvoker.processInvocation(SocketServerInvoker.java:434)
  |     at 
org.jboss.remoting.transport.socket.SocketServerInvoker.run(SocketServerInvoker.java:401)
  |     at java.lang.Thread.run(Thread.java:595)
  | Caused by: java.io.EOFException
  |     at 
java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2232)
  |     at 
java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2698)
  |     at 
java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:750)
  |     at java.io.ObjectInputStream.<init>(ObjectInputStream.java:268)
  |     at 
org.jboss.remoting.loading.ObjectInputStreamWithClassLoader.<init>(ObjectInputStreamWithClassLoader.java:57)
  |     at 
org.jboss.remoting.serialization.impl.java.JavaSerializationManager.createInput(JavaSerializationManager.java:52)
  |     at 
org.jboss.remoting.transport.socket.ServerSocketWrapper.createInputStream(ServerSocketWrapper.java:56)
  |     at 
org.jboss.remoting.transport.socket.ClientSocketWrapper.createStreams(ClientSocketWrapper.java:76)
  |     at 
org.jboss.remoting.transport.socket.ClientSocketWrapper.<init>(ClientSocketWrapper.java:54)
  |     at 
org.jboss.remoting.transport.socket.ServerSocketWrapper.<init>(ServerSocketWrapper.java:50)
  |     ... 9 more
  | 20:13:12,675 ERROR [SocketServerInvoker] Failed to accept socket connection
  | java.lang.reflect.InvocationTargetException
  |     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  |     at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
  |     at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
  |     at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
  |     at 
org.jboss.remoting.transport.socket.ServerThread.createServerSocket(ServerThread.java:147)
  |     at 
org.jboss.remoting.transport.socket.ServerThread.<init>(ServerThread.java:84)
  |     at 
org.jboss.remoting.transport.socket.SocketServerInvoker.processInvocation(SocketServerInvoker.java:434)
  |     at 
org.jboss.remoting.transport.socket.SocketServerInvoker.run(SocketServerInvoker.java:401)
  |     at java.lang.Thread.run(Thread.java:595)
  | Caused by: java.net.SocketException: Software caused connection abort: recv 
failed
  |     at java.net.SocketInputStream.socketRead0(Native Method)
  |     at java.net.SocketInputStream.read(SocketInputStream.java:129)
  |     at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
  |     at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
  |     at java.io.BufferedInputStream.read(BufferedInputStream.java:313)
  |     at 
java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2217)
  |     at 
java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2230)
  |     at 
java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2698)
  |     at 
java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:750)
  |     at java.io.ObjectInputStream.<init>(ObjectInputStream.java:268)
  |     at 
org.jboss.remoting.loading.ObjectInputStreamWithClassLoader.<init>(ObjectInputStreamWithClassLoader.java:57)
  |     at 
org.jboss.remoting.serialization.impl.java.JavaSerializationManager.createInput(JavaSerializationManager.java:52)
  |     at 
org.jboss.remoting.transport.socket.ServerSocketWrapper.createInputStream(ServerSocketWrapper.java:56)
  |     at 
org.jboss.remoting.transport.socket.ClientSocketWrapper.createStreams(ClientSocketWrapper.java:76)
  |     at 
org.jboss.remoting.transport.socket.ClientSocketWrapper.<init>(ClientSocketWrapper.java:54)
  |     at 
org.jboss.remoting.transport.socket.ServerSocketWrapper.<init>(ServerSocketWrapper.java:50)
  |     ... 9 more
  | 

Any idea?

Thanks!

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3924797#3924797

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3924797


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to