跳到主要内容

创建事务性会话

客户端可以在一个现有的会话内创建一个或多个事务性会话。事务性会话始终有一个活跃的事务。一旦创建了事务性会话,在该事务性会话内就会自动开始一个事务。

在一个事务性会话内,客户端最多可以创建一个生产者流来发布消息(参见“事务中的消息发布”),以及最多 256 个消费者流来消费消息(参见“事务中的消息消费”)。


Java RTO、C 和 .NET API

对于 Java RTO、C 和 .NET API,默认情况下,事务性会话会自动为事务性会话建立一个生产者流,并为异步消息传递延迟创建一个上下文绑定的消息分发线程。

如果需要,您可以修改默认的事务性会话属性:

  • 如果您不想在事务中允许发布操作。
  • 如果您希望在异步接收消息时使用新的事务性会话绑定的消息分发线程,而不是默认的上下文绑定的消息分发线程(使用事务性会话绑定的消息分发线程可能会提高性能,但会增加编程和调试的复杂性)。
  • 如果您希望更改调用事务性会话操作(如提交或回滚)时等待事件代理响应的超时值(以毫秒为单位)。

您还可以修改的另一个事务性会话属性是调用事务性会话操作(如提交或回滚)时等待事件代理响应的时间(以毫秒为单位)。

PubSub+ 消息 API使用方法
Java RTOSessionHandle.
createTransactedSessionForHandle(...)
CsolClient_session_
createTransactedSession(...)
.NETISession.createTransactedSession(...)

如何创建事务性会话