[jboss-user] [EJB 3.0] - The infamous SocketTimeoutException

FredDolittle do-not-reply at jboss.com
Wed Dec 17 13:55:07 EST 2008


Hi All,

I am having a client connection problem.  I am using JBoss 5.0 implementing JDK 6.  I have sucessfuly deployed my test Stateful bean and here is the output from the URL:http://localhost:8080/jmx-console/ (after selecting service=JNDIView from the jboss section AND pressing 'Invoke' from the list operation):

java: Namespace

  +- UserTransactionSessionFactory (proxy: $Proxy125 implements interface org.jboss.tm.usertx.interfaces.UserTransactionSessionFactory)
  +- TS_AppClient1
  |   +- UserTransaction[link -> UserTransaction]
  |   +- metaData
  |   +- env
  |   |   +- testserver
  |   |   |   +- HelloStatefulBean[link -> HelloStatefulBean]
  |   +- classPathEntries

Now when I use my standalone client, to access this Stateful bean, I continue to get the following stack trace:
Before silly 1:
javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out]
        at org.jnp.interfaces.NamingContext.discoverServer(NamingContext.java:1507)
        at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1636)
        at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:636)
        at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:629)
        at javax.naming.InitialContext.lookup(InitialContext.java:392)
javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out]
        at testclient.Main.main(Main.java:32)
Caused by: java.net.SocketTimeoutException: Receive timed out
        at java.net.PlainDatagramSocketImpl.receive0(Native Method)
        at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:136)
        at java.net.DatagramSocket.receive(DatagramSocket.java:712)
        at org.jnp.interfaces.NamingContext.discoverServer(NamingContext.java:1477)
        ... 5 more

Here is the client code:

public class Main
{
    public static void main(String[] args)
    {
        InitialContext ctx = null;
        HelloStatefulRemoteInterface silly;
        Object array[] = new Object[1];
        Properties prop = new Properties();

        try
        {
            prop.setProperty("j2ee.clientName", "TS_AppClient1");
            ctx = new InitialContext(prop);
            System.out.println("Before silly 1:"+ctx.getNameInNamespace());
            Context enc = (Context) ctx.lookup("HelloStatefulBean");
            System.out.println("Before silly 2:"+enc.getNameInNamespace());
        }
        catch (NamingException e)
        {
            e.printStackTrace();
            System.out.println(e.toString(true));
        }
    }
}

Also, my jndi.properties file has the following key/values:
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces

Here is my jboss-client.xml:
<jboss-client>
    <jndi-name>TS_AppClient1</jndi-name>
    <ejb-ref>
        <ejb-ref-name>testserver/HelloStatefulBean</ejb-ref-name>
        <jndi-name>HelloStatefulBean</jndi-name>
    </ejb-ref>
</jboss-client>

I have tried doing the lookup with the text from the 'ejb-ref-name' with no success...

Anybody have any thoughts?

Thanks,
Jerry


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

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



More information about the jboss-user mailing list