📄 fidsqueuehelper.java
字号:
/**
* Created at Dec 1, 2008
*/
package com.jdev.app.db;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import com.jdev.app.db.queue.FidsAddWorker;
import com.jdev.app.db.queue.FidsQueue;
import com.jdev.app.db.queue.FidsQueueFactory;
import com.jdev.app.db.queue.FidsTakeWorker;
import com.jdev.net.data.QueueWorker;
import com.jdev.net.data.datatype.StringType;
import com.jdev.util.Debug;
/**
* <p>Title: FidsQueueHelper</p>
* <p>Description: </p>
* @author Lawrence
* @version
*/
public class FidsQueueHelper {
private final static String module = FidsQueueHelper.class.getName();
private final static FidsQueueFactory queueFactory = FidsQueueFactory.getInstance();
protected int CSType;
/**
* @param type
*/
public FidsQueueHelper(int type) {
CSType = type;
}
public byte[] getSend() throws Exception {
byte[] response = null;
try {
FidsQueue queue = queueFactory.getQueue();
if(queue.getSendRecord()<=0)
return null;
ByteArrayOutputStream bout = (ByteArrayOutputStream)queue.removeSendFirst();
response = bout.toByteArray();
} catch (Exception e) {
Debug.logError("getSend() error:" + e, module);
throw new Exception(e);
}
return response;
}
public byte[] getRecv() throws Exception {
byte[] response = null;
try {
FidsQueue queue = queueFactory.getQueue();
if(queue.getRecvRecord()<=0)
return null;
ByteArrayOutputStream bout = (ByteArrayOutputStream)queue.removeRecvFirst();
response = bout.toByteArray();
} catch (Exception e) {
Debug.logError("getRecv() error:" + e, module);
throw new Exception(e);
}
return response;
}
public InputStream putSend(byte[] array) throws Exception {
try {
FidsQueue queue = queueFactory.getQueue();
InputStream bin = new ByteArrayInputStream(array);
queue.pushSend(bin);
return bin;
} catch (Exception e) {
Debug.logError("putSend error:" + e, module);
throw new Exception(e);
}
}
public InputStream putRecv(byte[] array) throws Exception {
try {
FidsQueue queue = queueFactory.getQueue();
InputStream bin = new ByteArrayInputStream(array);
queue.pushRecv(bin);
return bin;
} catch (Exception e) {
Debug.logError("putRecv error:" + e, module);
throw new Exception(e);
}
}
/**
* 读取字符串
* @return String
* @throws java.lang.Exception
*/
public String readSend() throws Exception {
try {
FidsQueue queue = queueFactory.getQueue();
QueueWorker worker = new FidsTakeWorker(queue);
StringType st = new StringType(QueueWorker.REQUEST);
st.accpet(worker);
return st.getContent();
} catch (Exception ex) {
Debug.logError("TcpConnection writeObject error:" + ex, module);
throw new Exception(ex);
}
}
/**
* 写入字符串
* @param msg
* @throws java.lang.Exception
*/
public void writeSend(String msg) throws Exception {
try {
FidsQueue queue = queueFactory.getQueue();
QueueWorker worker = new FidsAddWorker(queue);
StringType st = new StringType(QueueWorker.RESPONSE);
st.setContent(msg);
st.accpet(worker);
} catch (Exception ex) {
Debug.logError("TcpConnection writeString error:" + ex, module);
throw new Exception(ex);
}
}
/**
* 读取字符串
* @return String
* @throws java.lang.Exception
*/
public String readRecv() throws Exception {
try {
FidsQueue queue = queueFactory.getQueue();
QueueWorker worker = new FidsTakeWorker(queue);
StringType st = new StringType(QueueWorker.REQUEST);
st.accpet(worker);
return st.getContent();
} catch (Exception ex) {
Debug.logError("TcpConnection writeObject error:" + ex, module);
throw new Exception(ex);
}
}
/**
* 写入字符串
* @param msg
* @throws java.lang.Exception
*/
public void writeRecv(String msg) throws Exception {
try {
FidsQueue queue = queueFactory.getQueue();
QueueWorker worker = new FidsAddWorker(queue);
StringType st = new StringType(QueueWorker.RESPONSE);
st.setContent(msg);
st.accpet(worker);
} catch (Exception ex) {
Debug.logError("TcpConnection writeString error:" + ex, module);
throw new Exception(ex);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -