?? discoverpeerjob.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 com.cn.darkblue.listener.CFPGQueryListener;
import com.cn.darkblue.listener.CFPeerQueryListener;
import com.cn.darkblue.util.CFDefData;
public class DiscoverPeerJob extends Job{
private static final Log log = LogFactory.getLog(DiscoverPeerJob.class);
int seconds = 2;
int times = 0;
PeerGroup parentPg = null;
Map conditions = null;
DiscoveryService discovery;
CFPeerQueryListener listener;
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 int getSeconds() {
return seconds;
}
public void setSeconds(int seconds) {
this.seconds = seconds;
}
public int getTimes() {
return times;
}
public void setTimes(int times) {
this.times = times;
}
public DiscoverPeerJob(String name,PeerGroup pg){
super(name);
parentPg = pg;
discovery = parentPg.getDiscoveryService();
listener = new CFPeerQueryListener(parentPg);
listener.init(conditions);
discovery.addDiscoveryListener(listener);
}
public DiscoverPeerJob(PeerGroup pg){
this("DiscoverPeer",pg);
}
@Override
protected IStatus run(IProgressMonitor monitor) {
if(times<seconds){
try{
discovery.getLocalAdvertisements(DiscoveryService.PEER, null, null);
discovery.getRemoteAdvertisements(null, DiscoveryService.PEER,
null, null, CFDefData.MAX_RESPONSE);
}catch(Exception e){
e.printStackTrace();
log.error(e.getMessage());
}finally{
schedule(CFDefData.STAND_SLEEP);
times++;
log.info(" Sertch the peer time : "+(seconds-times));
}
}
return null;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -