|
||||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
public interface MessageProducer
消息生产者,线程安全,推荐复用
方法摘要 | |
---|---|
void |
beginTransaction()
开启一个事务并关联到当前线程,在事务内发送的消息将作为一个单元提交给服务器,要么全部发送成功,要么全部失败 |
void |
commit()
提交当前事务,将事务内发送的消息持久化,此方法仅能在beginTransaction之后调用 |
PartitionSelector |
getPartitionSelector()
返回本生产者的分区选择器 |
int |
getTransactionTimeout()
返回当前设置的事务超时时间,默认为0,表示永不超时 |
boolean |
isOrdered()
已过时。 |
void |
publish(String topic)
发布topic,以便producer从zookeeper获取broker列表并连接,在发送消息前必须先调用此方法 |
void |
rollback()
回滚当前事务内所发送的任何消息,此方法仅能在beginTransaction之后调用 |
SendResult |
sendMessage(Message message)
发送消息 |
SendResult |
sendMessage(Message message,
long timeout,
TimeUnit unit)
发送消息,如果超出指定的时间内没有返回,则抛出异常 |
void |
sendMessage(Message message,
SendMessageCallback cb)
异步发送消息,在默认时间内(3秒)回调callback,此模式下无法使用事务 |
void |
sendMessage(Message message,
SendMessageCallback cb,
long time,
TimeUnit unit)
异步发送消息,在指定时间内回调callback,此模式下无法使用事务 |
void |
setDefaultTopic(String topic)
设置发送消息的默认topic,当发送的message的topic没有找到可用broker和分区的时候,选择这个默认topic指定的broker发送 。 |
void |
setTransactionRequestTimeout(long time,
TimeUnit timeUnit)
Set transaction command request timeout.default is five seconds. |
void |
setTransactionTimeout(int seconds)
设置事务超时时间,从事务开始计时,如果超过设定时间还没有提交或者回滚,则服务端将无条件回滚该事务。 |
void |
shutdown()
关闭生产者,释放资源 |
方法详细信息 |
---|
void publish(String topic)
topic
- void setDefaultTopic(String topic)
topic
- SendResult sendMessage(Message message) throws MetaClientException, InterruptedException
message
- 消息对象
MetaClientException
- 客户端异常
InterruptedException
- 响应中断void sendMessage(Message message, SendMessageCallback cb, long time, TimeUnit unit)
message
- cb
- time
- unit
- void sendMessage(Message message, SendMessageCallback cb)
message
- cb
- SendResult sendMessage(Message message, long timeout, TimeUnit unit) throws MetaClientException, InterruptedException
message
- 消息对象timeout
- 超时时间unit
- 超时的时间单位
MetaClientException
- 客户端异常
InterruptedException
- 响应中断void shutdown() throws MetaClientException
Shutdownable
中的 shutdown
MetaClientException
PartitionSelector getPartitionSelector()
@Deprecated boolean isOrdered()
void beginTransaction() throws MetaClientException
MetaClientException
- 如果已经处于事务中,则抛出TransactionInProgressException异常void setTransactionTimeout(int seconds) throws MetaClientException
seconds
- 事务超时时间,单位:秒
MetaClientException
beginTransaction()
,
rollback()
,
commit()
void setTransactionRequestTimeout(long time, TimeUnit timeUnit)
time
- timeUnit
- int getTransactionTimeout() throws MetaClientException
MetaClientException
void rollback() throws MetaClientException
MetaClientException
beginTransaction()
void commit() throws MetaClientException
MetaClientException
beginTransaction()
|
||||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |