导航:首页 > 操作系统 > linuxrmi

linuxrmi

发布时间:2022-09-26 17:08:00

linux启动tomcat失败

Linux下启动tomcat的时候,如果服务启动不成功,可以到查看logs文件夹下的catalina.out
日志文件,cat我的日志文件可得到如下的错误信息:
cat catalina.out
Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 8101; nested exception is:
java.net.BindException: Address already in use
Feb 27, 2011 3:25:39 PM org.apache.catalina.loader.WebappClassLoader loadClass
INFO: Illegal access: this web application instance has been stopped already. Could not load com.funambol.server.tools.directorymonitor.FileChangeEvent. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
从字面上来看,是我的8101端口被占用了,应该是rmi需要用到这个端口,于是使用
netstat -anp
命令来查看各端口被进程占用的情况,这个命令输出包括进程的pid,得到这个pid之后,使用命令:
ps -ef|grep PID
即可查看进程的详细情况。
如果确认此进程可停止的话,
kill pid
重启tomcat就OK了!

Ⅱ linux上如何安装jstatd服务

此命令是一个RMI Server应用程序,提供了对JVM的创建和结束监视,也为远程监视工具提供了一个可以attach的接口

options
-nr 当一个存在的RMI Registry没有找到时,不尝试创建一个内部的RMI Registry
-p port 端口号,默认为1099
-n rminame 默认为JStatRemoteHost;如果多个jstatd服务开始在同一台主机上,rminame唯一确定一个jstatd服务
-J jvm选项

jstatd
会报如下错误:
Could not create remote object access denied (java.util.PropertyPermission java.rmi.server.ignoreSubClasses write) java.security.AccessControlException: access denied (java.util.PropertyPermission java.rmi.server.ignoreSubClasses write) at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323) at java.security.AccessController.checkPermission(AccessController.java:546) at java.lang.SecurityManager.checkPermission(SecurityManager.java:532) at java.lang.System.setProperty(System.java:727) at sun.tools.jstatd.Jstatd.main(Jstatd.java:122)

这是因为没有给jstatd指定安全策略

创建安全策略文件,并命名为jstatd.all.policy
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};

再次启动
C:\Program Files\Java\jdk1.6.0_16\bin>jstatd -J-Djava.security.policy=jstatd.all.policy

利用jps查看正在运行的java命令
jps
C:\Documents and Settings\lulu>jps
4892 Bootstrap
1296 Jstatd
4484 Jps
3332 org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar

此时就可以使用jvisualvm.exe以远程的方式监控JVM相关信息了。
更多例子
(1)使用内部RMI Registry
jstatd -J-Djava.security.policy=all.policy (默认端口为1099)
(2)使用外部RMI Registry
a)使用默认值
rmiregistry&
jstatd -J-Djava.security.policy=all.policy
b)使用2020端口
rmiregistry 2020&
jstatd -J-Djava.security.policy=all.policy -p 2020
c)使用2020端口,使用rminame
rmiregistry 2020&
jstatd -J-Djava.security.policy=all.policy -p 2020 -n AlternateJstatdServerName
(3)RMI Registry已经启动,不创建内部RMI Registry
jstatd -J-Djava.security.policy=all.policy -nr
(4)RMI日志能力
jstatd -J-Djava.security.policy=all.policy -J-Djava.rmi.server.logCalls=true

Ⅲ linux中怎么配置rmi安全策略文件

问题一:RMI服务提供程序运行在Windows操作系统下,RMI服务可以正常访问,但将RMI服务提供程序部署到Linux操作系统下后,RMI服务无法访问,提示

org.springframework.remoting.RemoteConnectFailureException:

Cannot connect to remote service
[rmi://192.168.0.106:1199/ItemRetag]; nested exception is
java.rmi.ConnectException: Connection refused to host: 127.0.0.1; ……

决办法:在加载RMI服务之前将当前服务器的IP指定给hostName,如
System.setProperty("java.rmi.server.hostname",
"192.168.100.7");或者修改/etc/hosts文件,在这个文件中加 192.168.100.54 testlinux1
localhost.localdomain localhost
就行,或者将/etc/hosts文件中默认的127.0.0.1改成当前机器的IP即可!

问题二:java.rmi.server.ExportException: internal error: ObjID already in
use Caused by: java.rmi.server.ExportException: internal error: ObjID
already in use……

出现这种问题及有可能是/etc/hosts文件中指定的IP并不是当前服务器的真实IP,RMI在初始化时注册服务失败。

通过System.out.println(InetAddress.getLocalHost().toString());查看当前主机的IP
是否为真实IP,如显示为SIMBANK/220.250.64.24,而真实IP为192.168.1.2

解决办法:修改/etc/hosts文件中错误的IP即可,将:

220.250.64.24 SIMBANK
修改为

192.168.1.2 SIMBANK

Ⅳ 如何测试rmi 端口在linux环境下是否启动

这个需要Linux服务器里边支持nc命令,如果还没有装的情况会显示 我们可以使用yum命令直接安装,我的是Centos 6.5系统 如果不会用,直接打nc命令就会显示出它的使用方法 如果需要测试某个服务器的端口在能不能正常在外面 访问 例如我测试一下 180...

Ⅳ 如何jvm监控linux服务器

如何配置visualvm监控
visualvm支持在Linux和windows上启用图形界面监控jvm的资源,但是如何可以使我们在windows上监控到远程linux服务器资源,这还需要做一些配置,此文是在原文基础上做了更改的,希望对大家能有所帮助。
(1)首先要修改JDK中JMX服务的配置文件,以获得相应的权限:
进入$JAVA_HOME所在的根目录的/jre/lib/management子目录下,
a. 将jmxremote.password.template文件复制为jmxremote.password
b. 调整jmxremote.access和jmxremote.password的权限为只读写,可以使用如下命令
chmod 600 jmxremote.access jmxremote.password
c. 打开jmxremote.password文件,去掉
# monitorRole QED
# controlRole R&D
这两行前面的注释符号
(2)修改env.sh
打开env.sh文件,并在JVM的启动配置中添加如下信息:
JAVA_OPTS="-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=10.20.150.218 其他配置”
这几个配置的说明如下:
-Dcom.sun.management.jmxremote.port:这个是配置远程connection的端口号的,要确定这个端口没有被占用
-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false:这两个是固定配置,是JMX的远程服务权限的
-Djava.rmi.server.hostname:这个是配置server的IP的,要使用server的IP最好在机器上先用hostname –i看一下IP是不是机器本身的IP,如果是127.0.0.1的话要改一下,否则远程的时候连不上,目前我们的server上我已经都改好了
(3)Windows客户端配置
JDK 1.6版本自带visualvm,只需要进到bin目录下启动即可
启动后页面比较简洁,配置也很简单:
a. 点击左侧菜单的add Remote host,输入server的IP,然后再advanced settings里配置端口(注意这个端口要和server上的端口一致)
b. 右击刚才配置的IP,选择JMX connection方式,再次输入端口,就可以监视到JVM资源了

Ⅵ linux jboss6.3怎么修改应用启动端口

1、将默认端口8080改为80
找到JBOSS_HOME/server/default/deploy/jbossweb-tomcat50.sar/server.xml文件,找到如下部分:
<!-- A HTTP/1.1 Connector on port 8080 -->
<Connector port="8080" address="${jboss.bind.address}"
maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"
emptySessionPath="true"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"/>
把里面的8080改为80。JBOSS启动之后就可以用http://localhost/访问。

Ⅶ 如何让 RMI 程序同时支持 IPv4 和 IPv6

实践证明它是健壮,易于实现,并具有很好的互操作性。但是 IPv4 协议的初始设计仍有一些未考虑到的地方,随着 Internet 的飞速发展和新型应用的不断涌现,这些不足逐渐显露出来。首先,近年来 Internet 成指数级数增长,而只有 32 位地址的 IPv4 引起了迫在眉睫的 IP 地址空间耗尽的问题;第二,IPv4 路由结构较为扁平,使得 Internet 上骨干路由器需要维护庞大的路由表;第三,目前 IPv4 实现方案中,多数情况需要手工配置或者使用 DHCP 有状态方式配置协议,随着越来越多的节点要求接入网络,需要一种简便的配置方式;第四,在 IP 级的安全方面,IPv4 并不强制使用 IPSec ;最后,IPv4 协议中使用服务类型 TOS 字段来支持实时通信流传送,而 TOS 功能有限,因此对实时数据传输 Qos 的支持不是很理想。为解决上述问题及其它相关问题,互联网工程任务组织 IETF 开发了一套新的协议和标准即 IP 版本 6(IPv6)。它吸纳了很多用于更新 IPv4 的新思想,在设计时力求对上下层协议造成最小的影响。与 IPv4 相比,IPv6 协议具有以下一些新的特性:IPv6 协议头采用了固定长度的头部,路由器在处理 IPv6 报头时,效率会更高。IPv6 具有 128 位的巨大地址空间,既便为当前所有主机都分配一个 IPv6 地址,IPv6 仍然有充足的地址供以后使用。IPv6 具有即插即用特性。 IPv6 引入了无状态地址自动配置方式,链路上的主机根据路由公告和自身的链路地址可以自动生产一个 IPv6 地址,从而简化了入网主机的配置过程,实现了 IPv6 的即插即用。提供网络层的认证和加密。 IPv6 支持 IPSec,这为网络安全提供了一种基于标准的解决方案。IPv6 更好地支持 QoS 。 IPv6 协议头部包含流标签字段,使得路由器可以对属于一个流的数据包进行识别和提供特殊处理;用业务流分类字段来区分通信流的优先级。因此 IPv6 对 QoS 提供了更好的支持。IPv6 更好地支持移动性。虽然 IPv4 也有移动特性,但是作为 IPv4 的扩展实现,受到体系结构和连通性的限制。而 IPv6 的移动特性是内置的,具有较少的局限性并具有更强的可伸缩性和健壮性,可满足将来 Internet 的通信需求。IPv6 具有很好的可扩展性,这可通过在 IPv6 协议头之后添加新的扩展协议头实现。回页首Java 对 IPv6 的支持Java 从 1.4 开始,已经提供了对 IPv6 的支持。 Java APIs 遵循了如下 IPv6 标准:RFC2373: IPv6 Addressing ArchitectureRFC2553: Basic Socket Interface Extensions for IPv6RFC2732: Format for Literal IPv6 Address in URL但是由于安全等因素,Java 并没有支持原始套接字。除此之外,一些 IPv6 特性,诸如隧道,自动配置,移动 IP 等,Java 都没有提供支持。与 C/C++ 对 IPv6 的支持不同,Java 对 IPv6 的支持是自动和透明的,也就是说现有的 Java 程序不需要经过修改就可以直接支持 IPv6 。以下面代码为例,这段代码在 IPv4 上可以正常运行,同样也可以工作在 IPv6 上。InetAddress ip = InetAddress.getByName("java.sun.com"); Socket s = new Socket(ip, 80);Java 对 IPv6 的支持体现在其 JDK 对 IPv6 的支持上,当然前提条件是操作系统需要提供对 IPv6 的支持。以下操作系统已经提供了对 IPv6 的支持,表1. OS 对 IPv6 的支持Windows:Windows 2000Windows XPWindows NTWindows 2003 serverLinux:Linux kernel 2.2 及以上版本Unix:AIX 4.3 及以上版本Solaris 8 及以上版本HP-UX 11i 及以上版本BSD/OS 4.0 及以上版本True64 Unix 4.0D 及以上版本FreeBSD 4.0 及以上版本NetBSDOpenBSD 2.7 及以上版本Other OS:OS/390, Z/OS V1R4 及以上版本OS400 V5R2 及以上版本Mac OS X下面列出了各个版本 JDK 对 IPv6 的支持情况。表2. JDK 对 IPv6 的支持JDK/ JDK 1.4NOYESYESNOIBM JDK 1.5YESYESYESYESSUN JDK 1.4NOYESYESSUN JDK 1.5YESYESYESJRockit JDK 1.4NOYESJRockit JDK 1.5YESYESHP-UX JDK 1.4YESHP-UX JDK 1.5YES回页首RMI 对 IPv6 的支持既然Java 对 IPv6 的支持是透明的,那么 RMI 程序理论上就应该同时支持 IPv4 和 IPv6,但测试结果告诉我们只有在 RMI 服务器端套接字不绑定 IP 地址的情况下这种结论才成立。考虑下面这样一个例子,一个支持双栈的服务器,同时配置了 IPv4 地址和 IPv6 地址。服务器应用程序用如下代码创建了一个服务器套接字,等待客户端的连接。由于 Java 对 IPv6 的透明支持,IPv4 和 IPv6 的客户端都可以正常连接到这台服务器上。清单1. 无 IP 绑定的服务器套接字程序 try { int port = 2000; ServerSocket srv = new ServerSocket(port); Socket socket = srv.accept(); } catch (IOException e) { e.printStackTrace(); }通过natestat – na可以看出,服务器监听在 0.0.0.0:2000 上,这样任何客户端都可以连接到服务器上,其中包括 IPv6 客户端用服务器的 IPv6 地址也能顺利连接。Proto Local Address Foreign Address State TCP 0.0.0.0:2000 0.0.0.0:0 LISTENING但是很多时候,应用程序从安全等角度考虑,常常需要将服务器套接字绑定在某个具体的 IP 上。现在我们假设把服务器套接字绑定在一个 IPv4 地址上,如下程序所示:清单2. 绑定 IP 的服务器套接字程序 try { int port = 2000; ServerSocket srv = new ServerSocket(port); srv.bind(new InetSocketAddress( “ 9.181.27.34 ” , port) Socket socket = srv.accept(); } catch (IOException e) { e.printStackTrace(); }通过natestat – na,我们可以发现监听方式已改变: Proto Local Address Foreign Address State TCP 9.181.27.34:2000 0.0.0.0:0 LISTENING从套接字的定义看出,它由 IP 和端口组成,它们唯一确定了一个套接字,同时也限定了访问套接字的方式。在访问由固定 IP 和端口组成的套接字时,客户端必须指定服务器的 IP 和端口才能正常连接。在服务器绑定 IPv4 地址的情况下,IPv6 客户端就无法用服务器的 IPv6 地址进行访问,当然 IPv4 客户端能通过服务器的 IPv4 地址 9.181.27.34 进行连接访问。上面分析了 Java 对 IPv6 的支持以及服务器套接字如何影响客户端的连接,接下来我们用实例分析 RMI 对 IPv6 的支持。我们搭建了如下的实验环境:图1. 实验环境接下来,我们设计了一个基本的 RMI 应用程序,下面这段是 RMI 服务器程序:清单3. RMI 服务器程序 import java.rmi.*; import java.rmi.server.*; import java.rmi.registry.*; public class SampleServerImpl extends UnicastRemoteObject implements SampleServer { SampleServerImpl() throws RemoteException { super(); } public int sum(int a,int b) throws RemoteException { return a + b; } public static void main(String args[]) { try { //create a local instance of the object SampleServerImpl Server = new SampleServerImpl(); //put the local instance in the registry Naming.rebind("rmi://9.181.27.34/SAMPLE-SERVER" , Server); System.out.println("Server waiting....."); } catch (java.net.MalformedURLException me) { System.out.println("Malformed URL: " + me.toString()); } catch (RemoteException re) { System.out.println("Remote exception: " + re.toString()); } } }编译源程序,启动rmiregistry,然后运行 RMI 服务器程序。通过netstat – na我们可以看见,RMI 监听方式如下,尽管我们在程序中用了”Naming.rebind("rmi://9.181.27.34/SAMPLE-SERVER" , Server)”:Proto Local Address Foreign Address State TCP 0.0.0.0:1099 0.0.0.0:0 LISTENING那么,根据我们上面关于套接字对客户端连接的影响的分析,我们可以看出在这种情况下,IPv4 RMI 客户端和 IPv6 RMI 客户端都应该能够顺利连接 RMI 服务器。下面我们就看一下 IPv4 客户端的连接程序:清单4. RMI 客户端程序 import java.rmi.*; import java.rmi.server.*; public class SampleClient { public static void main(String[] args) { //get the remote object from the registry try { //using RMI server ’ s IPv4 address to connect String url = "//9.181.27.34/SAMPLE-SERVER"; SampleServer remoteObject = (SampleServer)Naming.lookup(url); System.out.println("Got remote object"); System.out.println(" 1 + 2 = " + remoteObject.sum(1,2) ); } catch (RemoteException exc) { System.out.println("Error in lookup: " + exc.toString()); } catch (java.net.MalformedURLException exc) { System.out.println("Malformed URL: " + exc.toString()); } catch (java.rmi.NotBoundException exc) { System.out.println("NotBound: " + exc.toString()); } } }编译并运行该程序,可以看到正常连接到 RMI 服务器,运行结果如下:Got remote object 1 + 2 = 3下面我们在 IPv4 RMI 客户端程序的基础上作一下改动,用 RMI 服务器的 IPv6 地址进行连接,修改如下:String url = "//2001:251:1a05::6/SAMPLE-SERVER"; SampleServer remoteObject = (SampleServer)Naming.lookup(url);编译修改之后的程序,在 IPv6 RMI 客户端上运行,同样可以正常连接 RMI 服务器,运行结果如下:Got remote object 1 + 2 = 3通过这个例子,我们可以看出基本的 RMI 程序对 IPv6 的支持是透明的,它可以同时支持 IPv4 和 IPv6 。通过这个例子,我们也可以看出,它实际上不能绑定 IP 地址,这在安全性要求比较高的企业级应用程序中并不是很合适,它们通常采用UnicastRemoteObject类的exportObject(Remote obj, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)方法来绑定 RMI IP 地址。在RMIServerSocketFactory实例中,创建 RMI 服务器套接字并绑定 IP 地址,在RMIClientSocketFactory实例中通过服务器绑定的 IP 地址进行访问。在RMI 服务器绑定 IP 地址的情况,如果让 RMI 同时支持 IPv4 和 IPv6 呢?下面给出了一个解决方案。既然要让 RMI 同时支持 IPv4 和 IPv6,那么在服务器端,我们就要同时创建两个套接字,一个绑定在 IPv4 地址上,一个绑定在 IPv6 地址上。首先,我们应该创建两个类IPv4RMIServerSocket和IPv6RMIServerSocket,他们都实现RMIServerSocketFactory接口。IPv4RMIServerSocket创建一个服务器套接字并绑定在 RMI 服务器的 IPv4 地址上;IPv6RMIServerSocket创建一个服务器套接字并绑定在 RMI 服务器的 IPv6 地址上。其次,在创建两个类IPv4RMIClientSocket和IPv6RMIClientSocket,他们都实现RMIClientSocketFactory接口。IPv4RMIClientSocket创建一个客户端套接字并通过 RMI 服务器的 IPv4 地址进行连接;IPv6RMIClientSocket创建一个客户端套接字并通过 RMI 服务器的 IPv6 地址进行连接。然后,在创建好我们需要的服务器和客户端类之后,服务器应用程序需要两次调用exportObject方法将远程对象导出。但是有一个问题出现了,同一个远程对象不能同时导出两次。如何解决这个问题呢?办法就是我们需要对远程对象作一个wrapper。现在假设有一个远程对象Kernel的类定义如下:清单5. Kernel 类定义 public class Kernel extends Remote{ public void addWebServer(String hostName, int port) throws RemoteException { //Function implementation code } public void changeLogLevel(int level) throws RemoteException { //Function implementation code } }Kernel 的 Wrapper 定义如下:清单6. Kernel 的 Wrapper 类定义 public class KernelWrapper extends Remote { transient Kernel kernel_; public KernelWrapper (Kernel kernel) throws RemoteException, IOException { super(); kernel_ = kernel; } public void addWebServer(String hostName, int port) throws RemoteException { kernel_.addWebServer(hostName, port); } public void changeLogLevel(int level) throws RemoteException { kernel_.changeLogLevel(level); } }在应用程序初始化的时候,实例化一个 Kernel 实例,并将它作为参数实例化两个 KernelWrapper 实例,如下所示:清单7. KernelWrapper 实例化 kernelObj = new Kernel(); //remote kernel object for IPv4 clients ipv4kernelObj = new KernelWrapper (kernelObj); //remote kernel object for IPv6 clients ipv6kernelObj = new KernelWrapper (kernelObj);最后应用程序需要将 ipv4kernelObj 和 ipv6kernelObj 远程对象导出,如下所示:清单8. 远程对象导出 //export remote object for IPv4 client UnicastRemoteObject.exportObject( ipv4kernelObj, 1099, IPv4RMIClientSocket, IPv4RMIServerSocket ) //export remote object for IPv6 client UnicastRemoteObject.exportObject( ipv6kernelObj, 1099, IPv6RMIClientSocket, IPv6RMIServerSocket )这样IPv4 客户端通过服务器的 IPv4 地址进行访问,而 IPv6 客户端通过服务器的 IPv6 地址进行访问,从而成功的使得 RMI 服务器在绑定 IP 地址的情况下同时支持 IPv4 和 IPv6 。回页首结束语本文在分析服务器套接字对 IPv4 和 IPv6 客户端的影响的基础上,介绍了两种不同的 RMI 应用对 IPv6 的支持情况,同时给出了一种 RMI 服务器在需要绑定 IP 地址的情况下如何同时支持 IPv4 和 IPv6 客户端的解决方案。参考资料 IPv6 主页:IPv6 官方网站。
Networking IPv6 User Guide for J2SDK/JRE 1.4:JDK 1.4 对 IPv6 的支持。
An example of RMI programming:RMI 的简单例子。
“探索Internet Protocol, version 6 (IPv6)”(developerWorks,2006 年 7 月):了解 IPv6 的地址格式、主要优点和符合新标准的 IT 产品。
“配置FTP 服务器以支持 IPv6”(developerWorks,2006 年 8 月):在本文中,学习配置 File Transfer Protocol (FTP) 服务器以支持 IPv6,然后通过一个简单的使用 IPv6 地址的 Java 程序来与 FTP 服务器通信。
“结合使用 WebSphere Application Server V7 和 IPv6”(developerWorks,2008 年 11 月):本文将介绍用于验证 IBM WebSphere Application Server V7 的过程,以验证其对 IPv6 以及对 IPv4/IPv6 混合模式基础结构的支持。
developerWorks Java 技术专区:这里有数百篇关于 Java 编程的文章。
关于作者沈刚目前在 IBM Tivoli 部门从事 ITM for Applications 产品开发工作。关闭[x]关于报告滥用的帮助报告滥用谢谢! 此内容已经标识给管理员注意。关闭[x]关于报告滥用的帮助报告滥用报告滥用提交失败。 请稍后重试。关闭[x]developerWorks:登录IBM ID:需要一个 IBM ID?忘记IBM ID?密码:忘记密码?更改您的密码 保持登录。单击提交则表示您同意developerWorks 的条款和条件。 使用条款 当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。所有提交的信息确保安全。关闭[x]请选择您的昵称:当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。昵称:(长度在 3 至 31 个字符之间)单击提交则表示您同意developerWorks 的条款和条件。 使用条款. 所有提交的信息确保安全。为本文评分评论回页首

Ⅷ 大神linux下怎么启动jdk里面的rmiregistry

JDK即java开发工具它没有啥可双击就运行的图标它要在命令行中运行要想运行java程序个人推荐用eclipse集成的来发环境工能超强最主要的是不用配置jdk中那样的pathc和lasspath

Ⅸ 怎么修改jboss端口 linux

在一台机器上部署了多个jboss server,需要修改相关端口以避免端口冲突
一、vi $JBOSS_HOME/server/default/conf/jboss-service.xml
1、WebService端口
name="jboss:service=WebService">
8083
2、JNDI端口:
name="jboss:service=Naming"
xmbean-dd="resource:xmdesc/NamingService-xmbean.xml">
1099
1098
3、RMI端口:
name="jboss:service=invoker,type=jrmp">
4444
name="jboss:service=invoker,type=pooled">
4445
二、vi $JBOSS_HOME/server/default/deploy/jbossweb-tomcat55.sar/server.xml
1、HTTP端口:
三、vi $JBOSS_HOME/server/default/deploy/jms/uil2-service.xml
1、JMS:
8093

Ⅹ 如何在linux添加添加jmx端口

个人环境说明:JAVA
jdk1.6.0_20
IP地址:192.168.88.106
系统登陆用户名:Administrator

1,设置密码文件和权限
在jdk1.6.0_20\jre\lib\management中将jmxremote.password.template复制一份重命为
jmxremote.password。修改最后两行,将
#monitorRole
QED
#controlRole
R&D
前面的#号去掉。为什么后面解释。

然后修改jmxremote.password的文件权限为仅当前用户完全控制,所有者为当前用户,具体步骤如下:
Windows系统需要3个步骤:

在jmxremote.password文件上右键->属性,切换到安全选项卡。<XP系统可能看不到,请网络>
点“高级”按钮,弹出“jmxremote.password的高级安全设置”窗口。
(1)删除所有用户对jmxremote.password文件的访问权限:
在“权限”选项卡中点“更改权限”,将“包括可从该对象的父项继承的权限”
复选框去掉,然后系统会弹出一个“Windows安全”警告,选择“删除”按钮。
删除成功后,权限项目栏会变成:“所有组或用户均不具有访问此对象的权限。但是该对象的所有者可以分配权限。”

(2)指定当前登陆用户对该文件有完全控制权限
点“添加”按钮,再点“高级”按钮,再点“立即查找”,在搜索结果中找当前系统的登陆用户双击添加进来。
注意不要选择那些带S结尾的,那个表示组,只能选择用户。我的是Administrator
返回后点确定,然后在弹出框中勾选“完全控制”。点确定返回刚开始的“jmxremote.password的高级安全设置”窗口。
(3)将所有者设置为当前系统的登陆用户
切换到所有者选项卡,点击“编辑”,双击选择当前系统的登陆用户,注意不要选择那些带S结尾的,那个表示组,只能选择用户。
最后一路确定。权限修改完毕。

Linux系统:
chmod
600 jmxremote.password
这个没试过,官方这么写的。

2,启动JMX服务端

下面这行命令我是在JDK的根目录执行的,
这里指定的端口号是10089,主机名称即当前计算机IP地址,不推荐设置成localhsot或者127.0.0.1,会导致在别的机子上连不上来。JAR包指定的是JDK自带的一个DEMO
java
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.port=10089
-Djava.rmi.server.hostname=192.168.88.106 -jar
demo/jfc/Java2D/Java2Demo.jar

3,启动JConsole
在JDK的bin目录执行jconsole.exe

阅读全文

与linuxrmi相关的资料

热点内容
怎么为电脑加密 浏览:58
服务器出现差错是什么意思 浏览:616
苹果app移到商店里怎么删掉 浏览:254
phpjsphtml 浏览:63
吃鸡手机国际服服务器超时怎么办 浏览:68
努比亚Z5无命令 浏览:641
展示网站云服务器 浏览:870
代码混淆器php 浏览:365
贝恩pdf 浏览:207
丙烯pdf 浏览:367
云服务器华硕 浏览:711
sublime3运行python 浏览:188
怎么把安卓视频传到苹果上面 浏览:81
手机拍鬼片用什么app 浏览:640
爬山虎app是干什么用的 浏览:506
有哪些写给程序员的歌 浏览:49
成都市命令 浏览:993
建立系列文件夹 浏览:984
苹果开机白屏带文件夹问号 浏览:734
体验服为什么服务器会关闭 浏览:41