📄 discoverpgjob.java
字号:
package com.cn.darkblue.job;
import java.util.Map;
import net.jxta.discovery.DiscoveryService;
import net.jxta.peergroup.PeerGroup;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.ui.progress.UIJob;
import com.cn.darkblue.helper.IMsgScreen;
import com.cn.darkblue.listener.CFPGQueryListener;
import com.cn.darkblue.util.CFDefData;
public class DiscoverPGJob extends UIJob{
private static final Log log = LogFactory.getLog(DiscoverPGJob.class);
int seconds = 10;
PeerGroup parentPg = null;
Map conditions = null;
IMsgScreen screen = null;
CFPGQueryListener listener = null;
DiscoveryService discovery = null;
int times = 0;
public Map getConditions() {
return conditions;
}
public void setConditions(Map conditions) {
this.conditions = conditions;
}
public PeerGroup getParentPg() {
return parentPg;
}
public void setParentPg(PeerGroup parentPg) {
this.parentPg = parentPg;
}
public IMsgScreen getScreen() {
return screen;
}
public void setScreen(IMsgScreen screen) {
this.screen = screen;
}
public int getSeconds() {
return seconds;
}
public void setSeconds(int seconds) {
this.seconds = seconds;
}
public DiscoverPGJob(PeerGroup pg,IMsgScreen msn){
this("discover peergroup",pg,msn);
}
public DiscoverPGJob(String name,PeerGroup pg,IMsgScreen msn) {
super(name);
parentPg = pg;
screen = msn;
listener = new CFPGQueryListener(parentPg);
listener.init(conditions, screen);
discovery = parentPg.getDiscoveryService();
discovery.addDiscoveryListener(listener);
}
@Override
public IStatus runInUIThread(IProgressMonitor monitor) {
if(times<seconds){
try{
discovery.getRemoteAdvertisements(null, DiscoveryService.GROUP,
null, null, CFDefData.MAX_RESPONSE);
}catch(Exception e){
log.error(e.getMessage());
}finally{
schedule(CFDefData.STAND_SLEEP);
times++;
int iis = seconds-times;
screen.println(" 查询已经发送,还剩下[ "+String.valueOf(iis)+" ]次尝试");
//log.info(" 查询已经发送,还剩下[ "+String.valueOf(iis)+" ]次尝试");
}
}
//screen.println(" 查询终止 ");
return null;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -