最近,在机器人程序中使用jmx,准备做个远程调用,客户端是web,部署在jboss上,本地测试的都好好的,发到预发布上就是不行,

错误描述: Failed to retrieve RMIServer stub: javax.naming.NameNotFoundException: rmi://10.6.54.232:9734/ffmmendservice -- service jboss.naming.context.java.rmi:."10.6.54.232:9734".ffmmendservice

详细信息:

    javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:369)
javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:270)
org.springframework.jmx.support.MBeanServerConnectionFactoryBean$JMXConnectorLazyInitTargetSource.createObject(MBeanServerConnectionFactoryBean.java:188)
org.springframework.aop.target.AbstractLazyCreationTargetSource.getTarget(AbstractLazyCreationTargetSource.java:86)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:187)
com.sun.proxy.$Proxy81.getMBeanServerConnection(Unknown Source)
org.springframework.jmx.support.MBeanServerConnectionFactoryBean$MBeanServerConnectionLazyInitTargetSource.createObject(MBeanServerConnectionFactoryBean.java:205)
org.springframework.aop.target.AbstractLazyCreationTargetSource.getTarget(AbstractLazyCreationTargetSource.java:86)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:187)
com.sun.proxy.$Proxy83.invoke(Unknown Source)
....
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149)
org.jboss.modcluster.container.jbossweb.JBossWebContext$RequestListenerValve.event(JBossWebContext.java:91)
org.jboss.modcluster.container.jbossweb.JBossWebContext$RequestListenerValve.invoke(JBossWebContext.java:72)
org.jboss.as.web.session.ClusteredSessionValve.handleRequest(ClusteredSessionValve.java:134)
org.jboss.as.web.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:99)
org.jboss.as.web.session.JvmRouteValve.invoke(JvmRouteValve.java:92)
org.jboss.as.web.session.LockingValve.invoke(LockingValve.java:64)
org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926)
java.lang.Thread.run(Thread.java:745)

开始一直以为是服务端没部好,改了端口什么的,还是不行,仔细看错误,看到service jboss.naming.context.java.rmi:."10.6.54.232:9734".ffmmendservice,怀疑是jboss的问题,果然

解决方法:

修改以下文件

/jboss-eap-6.3/modules/system/layers/base/sun/jdk/main/module.xml

找到path name=...位置,添加一行(红色部分)

<dependencies>
        <system export="true">
            <paths>
                <path name="sun/rmi/server"/>
                <path name="com/sun/script/javascript"/>
                <path name="jdk/nashorn/api/scripting"/>

...

<path name="com/sun/jndi/dns"/>
<path name="com/sun/jndi/ldap"/>
<path name="com/sun/jndi/url"/>
<path name="com/sun/jndi/url/rmi"/>
<path name="com/sun/jndi/url/corbaname"/>
<path name="com/sun/jndi/url/dns"/>
<path name="com/sun/jndi/url/iiop"/>
<path name="com/sun/jndi/url/iiopname"/>
<path name="com/sun/jndi/url/ldap"/>
<path name="com/sun/jndi/url/ldaps"/>

...

参考文章:

javax.naming.NameNotFoundException: rmi:....

jboss部署出现jboss.naming.context.java.rmi找不到错误的更多相关文章

  1. 【转】Maven实战(四)---多模块项目---JBOSS部署问题

    原文出自于:http://blog.csdn.net/liutengteng130/article/details/41622681      感谢! 这几天在搭框架中仅仅是JBOSS就遇到了很多问题 ...

  2. Java RMI 介绍和例子以及Spring对RMI支持的实际应用实例

    RMI 相关知识 RMI全称是Remote Method Invocation-远程方法调用,Java RMI在JDK1.1中实现的,其威力就体现在它强大的开发分布式网络应用的能力上,是纯Java的网 ...

  3. java RMI入门指南

    感觉这篇文章不错,直接转了 RMI全称是Remote Method Invocation-远程方法调用,Java RMI在JDK1.1中实现的,其威力就体如今它强大的开发分布式网络应用的能力上,是纯J ...

  4. Java RMI 入门指南

    开通博客也有好些天了,一直没有时间静下心来写博文,今天我就把两年前整理的一篇关于JAVA RMI入门级文章贴出来,供有这方面需要的同学们参考学习. RMI 相关知识 RMI全称是Remote Meth ...

  5. JAVA RMI 实例

    下面我将介绍一个完整的实例,让初学者能快速体验RMI的功用. 分为以下四个步骤 1. 创建远程接口及声明远程方法(HelloInterface.java)2. 实现远程接口及远程方法(继承Unicas ...

  6. Java RMI详解

    RMI:远程方法调用(Remote Method Invocation).能够让在某个java虚拟机上的对象像调用本地对象一样调用另一个java 虚拟机中的对象上的方法. RMI远程调用步骤: 1,客 ...

  7. Java RMI(远程方法调用)开发

    参考 https://docs.oracle.com/javase/7/docs/platform/rmi/spec/rmi-arch2.html http://www.cnblogs.com/wxi ...

  8. Java RMI远程方法调用

    RMI(远程接口调用) 1. RMI的原理: RMI系统结构,在客户端和服务器端都有几层结构. 方法调用从客户对象经占位程序(Stub).远程引用层(Remote Reference Layer)和传 ...

  9. Java RMI 入门案例

    Java Remote Method Invocation(Java RMI) 是一个 Java API, 执行远程方法的调用,相当于 Remote Procedure Calls(RPC).Java ...

随机推荐

  1. MEAN Stack:创建RESTful web service

    本文在个人博客上的地址为URL,欢迎品尝. 前段时间做了DTREE项目中的前后端数据存储功能,在原有的ngController上进行HTTP请求,后端接受到请求后再存储到mongoDB上.现将学习所得 ...

  2. Handler笔记

    5.Handler内存泄露 在一个Activity里面,如果没有静态地创建一个Handler,有可能导致内存泄露. 因为Hander和Looper绑定,如果looper的MessageQueue有消息 ...

  3. 【转】UIBezierPath精讲

    http://www.henishuo.com/uibezierpath-draw/ 基础知识 使用UIBezierPath可以创建基于矢量的路径,此类是Core Graphics框架关于路径的封装. ...

  4. rop框架签名功能控制

    平台级控制: 通过<rop:annotation-driven/>的 sign-enable 属性即可开启或关闭服务平台签名验证功能:<rop:annotation-driven s ...

  5. JEECMS-自定义标签[list]

    1.自定义标签类 import static cn.com.yhxl.common.web.freemarker.DirectiveUtils.OUT_LIST; import static free ...

  6. 使用apt-get autoremove造成的系统无法开机

    由于误操作(apt-get autoremove xxx)删除了一些lib文件貌似,之后,系统直接重启,然后就无法进入系统,后使用引导盘对系统进行修复,思路如下: 1.挂载已经有的分区,挂载为可读可写 ...

  7. MEF 编程指南(四):声明导入

    组合部件通过 [System.ComponentModel.Composition.ImportAttribute] 特性声明导入.类似于导出,也有几种不同的方法声明导入,即通过:字段(Fields) ...

  8. UVa540 Team Queue

    // 题意:有t个团队的人在排队.每次来了一个新人之后,如果他有队友在排队,那么这个新人会插队到队友的身后. // 要求支持三种指令:ENQUEUE x; DEQUEUE(队首出队); STOP.模拟 ...

  9. poj 1087 C - A Plug for UNIX 网络流最大流

    C - A Plug for UNIXTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contes ...

  10. 关于打包android自己编写的第三方library提供jar

    最近公司要求把应用的接口写成sdk提供给别人使用,写好了之后,发现导出来jar包怎么使用也有误,在运行时会报java.lang.NoClassDefFoundError的错,于是纠结了很久,突然在博客 ...