⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 discoverpgjob.java

📁 CoolFace是基于jxta的P2P系统
💻 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 + -