背景:
局域网内,有两台linux系统,一台windows系统
linux 服务器A :192.168.1.11,防火墙已经关闭
linux 普通机B:
执行过程:
A上装了jboss应用服务器,现在要在 B 上获取此A的数据源(已经配好 ******* ),
将客户端调用程序打成jar包,在windows下执行没有任何错误,在B下调用报错如下:
Caused by: java.rmi.ConnectException: Connection refused to host: 192.168.1.11; nested exception is:
java.net.ConnectException: Connection timed out
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:128)
at org.jboss.invocation.jrmp.server.JRMPInvoker_Stub.invoke(Unknown Source)
at org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxy.invoke(JRMPInvokerProxy.java:133)
at org.jboss.invocation.InvokerInterceptor.invokeInvoker(InvokerInterceptor.java:241)
at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:181)
at org.jboss.proxy.ClientMethodInterceptor.invoke(ClientMethodInterceptor.java:74)
at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:101)
... 27 more
客户端程序如下:
try {
Context ctx;
Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
p.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
p.put(Context.PROVIDER_URL, "jnp://192.168.1.11:1099");
ctx = new InitialContext(p);
dataSource = (javax.sql.DataSource) ctx.lookup("OracleDataSource");
System.out.println(dataSource);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}