`
javapojo
  • 浏览: 32800 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

Spring发布rmi服务出现: Connection refused to host xxx

阅读更多
发布个rmi服务居然出现如下:

17.05.2009 10:19:50 [main] INFO  org.springframework.remoting.rmi.RmiServiceExporter  - Looking for RMI registry at port '1099'
17.05.2009 10:19:54 [main] DEBUG org.springframework.remoting.rmi.RmiServiceExporter  - RMI registry access threw exception
java.rmi.ConnectException: Connection refused to host: 172.18.7.235; nested exception is:
java.net.ConnectException: Connection refused: connect
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:601)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:198)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:184)
at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:322)
at sun.rmi.registry.RegistryImpl_Stub.list(Unknown Source)
at org.springframework.remoting.rmi.RmiServiceExporter.testRegistry(RmiServiceExporter.java:411)
at org.springframework.remoting.rmi.RmiServiceExporter.getRegistry(RmiServiceExporter.java:391)
at org.springframework.remoting.rmi.RmiServiceExporter.getRegistry(RmiServiceExporter.java:370)
at org.springframework.remoting.rmi.RmiServiceExporter.getRegistry(RmiServiceExporter.java:331)
at org.springframework.remoting.rmi.RmiServiceExporter.prepare(RmiServiceExporter.java:263)
at org.springframework.remoting.rmi.RmiServiceExporter.afterPropertiesSet(RmiServiceExporter.java:227)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)
at cn.edu.hust.mes.webservice.CallWebServices.<clinit>(CallWebServices.java:31)
at cn.edu.hust.mes.opcapp.OpcApplication.main(OpcApplication.java:15)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at java.net.Socket.<init>(Socket.java:366)
at java.net.Socket.<init>(Socket.java:180)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:22)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:128)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:595)
  28 more
17.05.2009 10:19:54 [main] INFO  org.springframework.remoting.rmi.RmiServiceExporter  - Could not detect RMI registry - creating new one
17.05.2009 10:19:54 [main] DEBUG org.springframework.remoting.rmi.RmiServiceExporter  - RMI service [cn.edu.hust.mes.webservice.OpcPlcRmiServiceImpl@dac21] is an RMI invoker
17.05.2009 10:19:54 [main] DEBUG org.springframework.aop.framework.JdkDynamicAopProxy  - Creating JDK dynamic proxy: target source is SingletonTargetSource for target object [cn.edu.hust.mes.webservice.OpcPlcRmiServiceImpl@dac21]
17.05.2009 10:19:54 [main] INFO  org.springframework.remoting.rmi.RmiServiceExporter  - Binding service 'opcManager' to RMI registry: RegistryImpl[UnicastServerRef [liveRef: [endpoint:[172.18.7.235:1099](local),objID:[0:0:0, 0]]]]
--------------------------------------------------
可见:Binding service 'opcManager' to RMI registry: RegistryImpl[UnicastServerRef [liveRef: [endpoint:[172.18.7.235:1099](local),objID:[0:0:0, 0]]]]
RMI其实发布成功了...
为什么开始有错呢?
查看源代码发现:其实是Spring的Debug log
他会先看有没rmi注册

org.springframework.remoting.rmi.RmiServiceExporter.testRegistry(RmiServiceExporter.java:411)没有log下再 Could not detect RMI registry - creating new one所以屏蔽该Log4j配置文件中加如:
log4j.logger.org.springframework.remoting.rmi.RmiServiceExporter=INFO
分享到:
评论

相关推荐

    spring RMI 服务(自动把service发布为RMI服务)

    下面将详细阐述Spring RMI服务的实现原理、配置过程以及如何自动化发布服务。 首先,了解RMI的基本概念是必要的。RMI是Java提供的一种标准接口,它允许一个Java对象调用远程主机上的另一个Java对象的方法,就像调用...

    Spring-RMI.rar_spring rmi

    2.3 配置Spring:在Spring配置文件(如`applicationContext.xml`)中,使用`&lt;bean&gt;`标签定义远程服务实现,并使用`RmiServiceExporter`发布服务: ```xml &lt;bean id="rmiExporter" class="org.springframework....

    Spring RMI小例子

    - **`&lt;bean&gt;`标签中的`rmi:`命名空间**:Spring配置文件中可以使用`&lt;rmi:registry&gt;`来定义RMI注册表,`&lt;rmi:export&gt;`用于导出远程服务。 - **`RmiServiceExporter`**:Spring提供的bean,负责将Spring Bean暴露为...

    SpringRMI小例子

    &lt;property name="serviceUrl" value="rmi://localhost:1099/myService" /&gt; ``` 5. 客户端调用:在客户端代码中,可以直接使用`myRemoteService` Bean来调用服务器端的服务方法。 ```java @Autowired private ...

    Spring RMI

    &lt;property name="serviceUrl" value="rmi://localhost:1099/myRemoteService"/&gt; ``` 以上就是关于Spring集成RMI的相关知识点,包括基本概念、配置、优势、优化策略以及与Spring Boot的结合。通过理解和掌握这些...

    spring-rmi-example:Spring rmi 示例,取自 code.google.com,因为 code.google.com 将停止使用

    spring-rmi-示例 项目是从 code.google.com/p/springrmiexample 导出的,我这边稍作修改 这个项目是如何在 Spring 的帮助下设置 RMI 服务器和客户端的示例。 该项目包含2个子项目: Spring RMI 示例服务器,即 Web...

    spring和RMI分布式整合源码

    通过Spring的Bean工厂,我们可以将RMI服务声明为Spring Bean,这样就可以利用Spring的依赖注入来配置和服务。此外,Spring AOP可以用于在远程方法调用前后添加拦截逻辑,如日志记录、性能监控等。 具体到这个压缩包...

    spring+rmi非本地实现

    总的来说,"spring+rmi非本地实现"项目展示了如何利用Spring和RMI来构建分布式服务,提供了一种跨越网络调用的方法,增强了系统的可扩展性和解耦性。理解和掌握这部分知识对于开发分布式系统具有重要意义。

    java Spring+RMI入门程序源代码

    4. **异常处理**:Spring 可以帮助封装 RMI 调用中可能出现的异常,提供统一的错误处理策略。 通过这个 "java Spring+RMI 入门程序源代码",开发者可以学习如何在 Spring 框架中集成 RMI 技术,创建可扩展、高可用...

    rmi与spring整合实例

    - 在`rmi_spring_server`项目中,包含了服务器端的代码,实现了RMI服务的发布。 - 在`rmi_spring_client`项目中,包含了客户端的代码,实现了对服务器端RMI服务的调用。 通过上述整合,我们可以构建一个健壮的...

    spring rmi 小例子

    &lt;property name="serviceUrl" value="rmi://localhost:1099/MyRemoteService" /&gt; ``` 5. **运行与测试**:启动服务器端,然后在客户端调用代理对象的方法进行测试。例如: ```java MyRemoteService remote...

    spring rmi 集成

    &lt;property name="serviceUrl" value="rmi://localhost:1099/MyService" /&gt; ``` 4. **使用远程服务**:客户端可以直接通过`myServiceClient`对象调用远程服务的方法,如`doSomething()`。 ### 三、RMI 库与...

    spring中使用RMI

    在Spring的XML配置文件中,我们创建一个`&lt;bean&gt;`来表示远程服务,并使用`&lt;rmi:export&gt;`标签将该服务暴露为RMI服务: ```xml &lt;rmi:registry id="registry" port="1099" /&gt; &lt;rmi:service id=...

    spring RMI 实用分享

    &lt;property name="serviceUrl" value="rmi://localhost:1099/MyRemoteService"/&gt; ``` 2. **使用RMI客户端**:在代码中,可以直接注入`myRemoteServiceProxy`并调用其方法,就像调用本地对象一样。 ```java @...

    spring与rmi 整合实例 源码详解

    spring 与rmi 的整合 1.首先编写接口 interface : 这里的接口要继承Remote, 它是一个标识接口 2.编写实现类 3.编写main方法用于启动 service 4 配置spring文件 编写客户端测试类

    Spring-RMI (RMI调用, HTTP调用)

    3. **Spring配置**:在Spring配置文件中,你需要声明一个`RmiServiceExporter`,它会暴露你的服务实现为RMI服务。你可以通过指定`serviceInterface`和`serviceImplementation`属性来关联接口和实现。 4. **客户端...

    spring RMI简单例子

    Spring RMI(Remote Method Invocation)是Java平台上的远程方法调用技术,结合Spring框架的特性,使得在分布式系统中调用远程服务变得更加便捷。在这个简单的例子中,我们将深入理解Spring RMI的工作原理以及如何...

    java spring+rmi 的远程调用例子

    &lt;property name="serviceUrl" value="rmi://localhost:1099/myRemoteService"/&gt; ``` 6. **安全性与性能优化**:在实际应用中,我们还需要考虑RMI的安全性和性能。例如,使用SSL加密通信、设置连接池来复用RMI...

    spring rmi应用

    3. **配置Spring容器**:在Spring的XML配置文件中,你需要声明一个`&lt;bean&gt;`来表示远程服务,使用`&lt;rmi:export&gt;`或`&lt;bean class="org.springframework.remoting.rmi.RmiServiceExporter"&gt;`标签将服务导出为RMI。...

    如何在Spring框架中使用RMI技术.zip

    服务器端工程包含RMI服务的实现和配置,而客户端工程则展示了如何通过Spring的RMI代理访问这些服务。通过分析和运行这两个示例,开发者可以深入理解Spring框架与RMI的整合,以及如何在实际项目中应用这一技术。 ...

Global site tag (gtag.js) - Google Analytics