所以,应该是要请求一个固定可访问的接口,然后这个接口去访回动态的其他服务器IP和端口,而这端口和IP是没办法在本机获取,需要在想要被访问的程序启动时,将其IP和端口写入共享区域(数据库,共享内存等),固定的获取接口根据条件获取动态IP和端口。
缓存这个就不说了,将数据放在一个对象当中即可,具体方式由个人实现吧。定时更改数据的这个,可以这样来做,使用thread和synchronized关键字即可。
线程可以模仿这个例子
package thread
import java.util.Date
public class MyThread implements Runnable {
private static MyThread instance
private MyThread(){
}
public static MyThread getInstance(){
if(instance == null)
instance = new MyThread()
return instance
}
public synchronized void run() {
while(true){
try {
// 打印出时间标明是每隔十秒钟运行的,多次启动该线程同样是每个十秒钟运行一次
System.out.println(new Date().getTime())
wait(10000)
System.out.println("loading data.......")
} catch (InterruptedException e) {
e.printStackTrace()
}
}
}
public static void main(String[] args) {
MyThread thread = MyThread.getInstance()
thread.run()
}
}
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)