public interface HelloWorldRemote {
String name();
}
public interface HelloWorldLocal extends HelloWorldRemote{}
@Stateless
@Remote(HelloWorldRemote.class)
@Local(HelloWorldLocal.class)
public class HelloWorld implements HelloWorldRemote, HelloWorldLocal {
@Override
public String name() {
return "getName";
}
}
public static void main(String[] args) throws NamingException {
Properties props = new Properties();
props.setProperty(Context.INITIAL_CONTEXT_FACTORY,
"org.jnp.interfaces.NamingContextFactory");
props.setProperty(Context.PROVIDER_URL, "127.0.0.1:1099");
props.setProperty(Context.URL_PKG_PREFIXES, "org.jboss.naming");
InitialContext ctx = new InitialContext(props);
HelloWorldRemote remote = (HelloWorldRemote) ctx.lookup("HelloWorld/remote");
System.out.println(remote.name());
}
用的是JBOSS7发布的
运行JBOSS的standalone.bat
异常信息:
Exception in thread "main" javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out]
at org.jnp.interfaces.NamingContext.discoverServer(NamingContext.java:1115)
at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1192)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:514)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:507)
at javax.naming.InitialContext.lookup(InitialContext.java:411)
at com.leon.Test.main(Test.java:23)
Caused by: java.net.SocketTimeoutException: Receive timed out
at java.net.TwoStacksPlainDatagramSocketImpl.receive0(Native Method)
at java.net.TwoStacksPlainDatagramSocketImpl.receive(TwoStacksPlainDatagramSocketImpl.java:90)
at java.net.DatagramSocket.receive(DatagramSocket.java:786)
at org.jnp.interfaces.NamingContext.discoverServer(NamingContext.java:1093)
... 5 more
谢谢。。。。。。