📄 publishtasklistener.java
字号:
/**publish任务的任务监听器,<br>
*主要是监听输入管道的消息,<br>
*一旦建立了此监听器,<br>
*就等待请求的到来,<br>
*不用在加以关注,<br>
*它会把收到的请求消息自动加入缓冲区(MessageBuffer)。<br>
*
*直到收到了第一个请求消息,<br>
*才创建一个PublishUpload对象,<br>
*此对象是一个线程,<br>
*作为MessageBuffer消息的消费者。<br>
*
*@author Sinpool<br>
*
*@version 1.0<br>
*/
package com.sinpool.rivercrescent.Listener;
import net.jxta.pipe.*;
import net.jxta.peergroup.*;
import net.jxta.protocol.*;
import net.jxta.discovery.*;
import net.jxta.endpoint.*;
import net.jxta.document.*;
import java.util.*;
import java.io.*;
import com.sinpool.rivercrescent.Task.*;
import com.sinpool.rivercrescent.BufferZone.*;
import com.sinpool.rivercrescent.interfaces.MyPipeMsgListener;
public class PublishTaskListener implements MyPipeMsgListener{
private TaskInfo taskInfo = null;
private InputPipe inputPipe = null;
private MessageBuffer messageBuffer = new MessageBuffer();
private PublishManagerControl publishManagerControl = new PublishManagerControl();
private boolean fflag = true;
public PublishTaskListener(TaskInfo ti){
this.taskInfo = ti;
}
public void pipeMsgEvent(PipeMsgEvent event){
Message msg = event.getMessage();
messageBuffer.addElement(msg);
if (fflag){
PublishUpload pu = new PublishUpload(messageBuffer,taskInfo,publishManagerControl);
pu.start();
fflag = false;
}
}
public void startJoinDownloadListener() {}//
public void stopListener(){
publishManagerControl.stopUploadManager();
//唤醒等待upload的线程,从而使之 停止。
Message outmsg = new Message();
ByteArrayMessageElement outMsgTypeElement = new ByteArrayMessageElement("Type",MimeMediaType.XMLUTF8,"Res".getBytes(),null);
outmsg.addMessageElement(outMsgTypeElement);
messageBuffer.addElement(outmsg);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -