1 Reply Latest reply on Jan 27, 2003 10:22 AM by Kasper

    Binding and looking up an RMIService

    John Grater Newbie

      I'm using JBoss 3.0.2 and have what I thought was a simple task to achieve. Bind an RMI service and look it up from an external test program. How do I do it?!

      I create a user service by extending ServiceMBeanSupport and implementing startService() in which I bind my RMI Service.

      I've tried:
      new InitialContext().bind() - fails as object should be Serializable - doesn't make sense for RMI as whole point is to use the stubs etc
      org.jboss.naming.NonSerializableFactory.bind() - works fine in the server but looking up from the client just gives me null
      Naming.bind() - fails in the server with:
      java.rmi.MarshalException: Error marshaling transport header; nested exception is:
      java.net.SocketException: Connection aborted by peer: JVM_recv in socket input stream read
      java.net.SocketException: Connection aborted by peer: JVM_recv in socket input stream read
      at java.net.SocketInputStream.socketRead(Native Method)
      at java.net.SocketInputStream.readSocketInputStream.java:85)
      at java.io.BufferedInputStream.fill(BufferedInputStream.java:181)
      at java.io.BufferedInputStream.read(BufferedInputStream.java:199)
      at java.io.DataInputStream.readByte(DataInputStream.java:217)
      at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:201)
      at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:169)
      at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:313)
      at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source)
      at java.rmi.Naming.bind(Naming.java:106)

      I've tried binding to "here" or "rmi://here", "jnp://here" etc

      The only "success" I can get is to bind as jnp with a Serializable object which comes down the wire to the client - but this isn't RMI which I'm trying to do.

      Apologies if this is a real newbie question but I'm coming from Weblogic and all this works in there.

      Thanks in advance for your help,
      John