public abstract class AbstractPublishStrategy extends NHeadTransportStrategy implements PublishStrategy
PublishStrategy实现checksum, provider, socketConf| 构造器和说明 |
|---|
AbstractPublishStrategy() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
accqireToken()
publish消息时由于内存queue容量是有限的,需要获取一个许可
|
void |
accqireToken(int n)
publish消息时由于内存queue容量是有限的,需要获取n个许可
|
protected boolean |
canRunTask()
当前并发任务是否达到最大值,是否可以继续处理新任务
|
protected abstract void |
fastFailedRunning(SessionIdProvider sessionIdProvider)
出现异常时,快速失败处理
|
void |
finishPub(ByteBuffer buf,
SessionIdProvider sessionIdProvider)
一个发送任务被成功发送后需要处理的行为
|
int |
getMaxConcurrent() |
int |
getTaskLimitCount() |
protected abstract void |
handleFinish(String logId,
long status,
SessionIdProvider sessionIdProvider)
消息发送完成或失败时控制后续处理,一般需要通知调用方
|
protected void |
registerRunTask()
增加并发数,单线程
|
void |
releaseToken()
消息处理完后需要释放一个许可
|
void |
releaseToken(int n)
消息处理完后需要释放n个许可
|
void |
setMaxConcurrent(int maxConcurrent) |
void |
setTaskLimitCount(int taskLimitCount) |
protected void |
unRegisterRunTask()
减少并发数,单线程
|
applySocketConf, buildSimpleCommand, getProviderclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitfastFailed, getCurrentTaskCount, getNextTask, handlePubTimeout, handleShutDown, submitMessage, submitMessageapplySocketConf, buildSimpleCommand, getProviderpublic int getTaskLimitCount()
public void setTaskLimitCount(int taskLimitCount)
public int getMaxConcurrent()
public void setMaxConcurrent(int maxConcurrent)
public void accqireToken()
throws InterruptedException
PublishStrategyaccqireToken 在接口中 PublishStrategyInterruptedException - 线程被打断public void accqireToken(int n)
throws InterruptedException
PublishStrategyaccqireToken 在接口中 PublishStrategyn - 获取token的数量InterruptedException - 线程被打断异常public void releaseToken(int n)
PublishStrategyreleaseToken 在接口中 PublishStrategyn - 许可的数量public void releaseToken()
PublishStrategyreleaseToken 在接口中 PublishStrategypublic void finishPub(ByteBuffer buf, SessionIdProvider sessionIdProvider)
PublishStrategyfinishPub 在接口中 PublishStrategybuf - 内容sessionIdProvider - SessionIdProviderprotected abstract void fastFailedRunning(SessionIdProvider sessionIdProvider)
sessionIdProvider - SessionIdProviderprotected abstract void handleFinish(String logId, long status, SessionIdProvider sessionIdProvider)
logId - logIdstatus - 状态sessionIdProvider - SessionIdProviderprotected boolean canRunTask()
protected void registerRunTask()
protected void unRegisterRunTask()
Copyright © 2017. All rights reserved.