[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