|
||||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object java.lang.Thread com.taobao.metamorphosis.server.store.MessageStore
public class MessageStore
一个topic的消息存储,内部管理多个文件(segment)
嵌套类摘要 |
---|
从类 java.lang.Thread 继承的嵌套类/接口 |
---|
Thread.State, Thread.UncaughtExceptionHandler |
字段摘要 |
---|
从类 java.lang.Thread 继承的字段 |
---|
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY |
构造方法摘要 | |
---|---|
MessageStore(String topic,
int partition,
MetaConfig metaConfig,
DeletePolicy deletePolicy)
|
|
MessageStore(String topic,
int partition,
MetaConfig metaConfig,
DeletePolicy deletePolicy,
long offsetIfCreate)
|
方法摘要 | |
---|---|
void |
append(List<Long> msgIds,
List<PutCommand> putCmds,
AppendCallback cb)
Append多个消息,返回写入的位置 |
void |
append(long msgId,
PutCommand req,
AppendCallback cb)
Append单个消息,返回写入的位置 |
void |
close()
|
void |
flush()
|
String |
getDescription()
|
long |
getMaxOffset()
返回当前最大可读的offset |
long |
getMessageCount()
|
long |
getMinOffset()
返回当前最小可读的offset |
long |
getNearestOffset(long offset)
返回离指定offset往前追溯最近的可用offset ,当传入的offset超出范围的时候返回边界offset |
int |
getPartition()
|
List<SegmentInfo> |
getSegmentInfos()
|
long |
getSizeInBytes()
|
String |
getTopic()
|
void |
replayAppend(long offset,
int length,
int checksum,
List<Long> msgIds,
List<PutCommand> reqs,
AppendCallback cb)
重放事务操作,如果消息没有存储成功,则重新存储,并返回新的位置 |
void |
run()
|
void |
runDeletePolicy()
|
MessageSet |
slice(long offset,
int maxSize)
根据offset和maxSize返回所在MessageSet, 当offset超过最大offset的时候返回null, 当offset小于最小offset的时候抛出ArrayIndexOutOfBounds异常 |
从类 java.lang.Object 继承的方法 |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
public MessageStore(String topic, int partition, MetaConfig metaConfig, DeletePolicy deletePolicy) throws IOException
IOException
public MessageStore(String topic, int partition, MetaConfig metaConfig, DeletePolicy deletePolicy, long offsetIfCreate) throws IOException
IOException
方法详细信息 |
---|
public String getDescription()
public long getMessageCount()
public long getSizeInBytes()
public void close() throws IOException
Closeable
中的 close
IOException
public void runDeletePolicy()
public void append(long msgId, PutCommand req, AppendCallback cb)
msgId
- req
- public void run()
Runnable
中的 run
Thread
中的 run
public void append(List<Long> msgIds, List<PutCommand> putCmds, AppendCallback cb)
msgIds
- reqs
- public void replayAppend(long offset, int length, int checksum, List<Long> msgIds, List<PutCommand> reqs, AppendCallback cb) throws IOException
to
- msgIds
- reqs
-
IOException
public String getTopic()
public int getPartition()
public List<SegmentInfo> getSegmentInfos()
public void flush() throws IOException
IOException
public long getMaxOffset()
public long getMinOffset()
public MessageSet slice(long offset, int maxSize) throws IOException
offset
- maxSize
-
IOException
public long getNearestOffset(long offset)
offset
-
|
||||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |