我正在尝试使用jstatd使用jps查询远程JVM,以便最终使用VisualVM监视它.
我使用以下安全策略运行jstatd:
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
Run Code Online (Sandbox Code Playgroud)
jstatd在64位Linux机器上运行,其中包含1.6.0_10版本的HotSpot vm.jstatd命令是:
jstatd -J-Djava.security.policy=jstatd.tools.policy -J-Djava.rmi.server.logCalls=true
Run Code Online (Sandbox Code Playgroud)
我正在尝试从Windows 7计算机运行jps.由于防火墙的限制,我正在通过SSH隧道将RMI数据隧道传输到我的Windows机器,以便jps命令行是:
.\jps.exe -m -l rmi://localhost
Run Code Online (Sandbox Code Playgroud)
当我运行jps时,我在jstatd日志中看到连接尝试,如下所示:
Feb 1, 2011 11:50:34 AM sun.rmi.server.UnicastServerRef logCall
FINER: RMI TCP Connection(3)-127.0.0.1: [127.0.0.1: sun.rmi.registry.RegistryImpl[0:0:0, 0]: java.rmi.Remote lookup(ja va.lang.String)]
Run Code Online (Sandbox Code Playgroud)
但在jps方面,我收到以下错误:
Error communicating with remote host: Connection refused to host: 192.168.1.137; nested exception is:
java.net.ConnectException: Connection refused: connect
Run Code Online (Sandbox Code Playgroud)
基于jstatd日志中列出的连接尝试,我认为jps实际上已经到达主机,但由于某种原因被阻止.有没有我已经设置了一些安全策略或其他一些设置的地方我可以改变,这样我可以得到JPS从远程jstatd拉统计?
我正在通过Learn You a Haskell阅读并找到了我正试图将列表中的元素移动到头部的位置.我想出了我认为天真的方式,如果有人能告诉我经验丰富的Haskell程序员会做什么,我很好奇.
在这个例子中,我有一个Integers列表,我想将元素'4'(索引'3')移动到列表的头部.
let nums = [1, 2, 3, 4, 5]
(nums !! 3) : delete (nums !! 3) nums
Run Code Online (Sandbox Code Playgroud)
返回[4,1,2,3,5].
你怎么看?
我试图让 Jenkins 使用 scp 插件将构建的工件复制到另一台服务器上的存档目录。
理想情况下,我希望能够根据构建版本使目标动态化,因此结果类似于 /builds/<build version>/
对于像 1.2.3.4 这样的构建版本,它看起来像:
/builds/1.2.3.4/
Run Code Online (Sandbox Code Playgroud)
从阅读 scp 插件页面来看,这看起来不太可能,但我认为这里的某个人可能已经想通了。
有没有办法做到这一点?
将带有嵌入在文件名中的版本号的工件放在一个目录中是否更好?
build-automation build-process hudson hudson-plugins jenkins