java 获取服务器域名和tomcat 端口号

GodByeWord 发布于 2014/07/08 09:46
阅读 13K+
收藏 0

问题描述:程序中有一个定时任务,但是程序会部署到不同的服务器,也就是定时任务会在多个服务器上运行。想通过域名和tomcat端口号来控制定时任务在指定服务器的tomcat端口下运行

定时任务是spring quartz。不是servlet 所以无法用request获取IP及端口,不知道有没有其他方法可以获取。急求大虾指点。

加载中
1
harries
harries

(1)拆分单独定时任务程序美部署在一台,

(2)集群的话,做成service,只能运行一次可参见dubble或者前端顶一个nginx,linux  crontab定时调用

(3)

设置需要的Key,例如Tomcat服务器:

编辑文件${tomact-dir}/bin/catalina.bat, 添加以下内容即可:
set JAVA_OPTS=-D<key>="<value>"

如:
set JAVA_OPTS=-Dreyo.localPort="8081"
 
然后在程序取出 System.getProperty("reyo.localPort")了

GodByeWord
GodByeWord
多谢,我试了下set JAVA_OPTS=-Dreyo.localPort="8081",可是拿不到,我想是我哪个地方出问题了,不过我用了另外一种方法:String classPath = System.getProperty("java.class.path");我们的tomcat目录都是带_8080之类的
0
h
hyw520110
可以获取当前服务的tomcat的路径,从tomcat配置文件读取http服务端口.这样更好一点
GodByeWord
GodByeWord
你说的方法确实是更保险一些,我们tomcat目录都带有端口号,我的方法有些侥幸!
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部