Class TransactionAwareAsyncSipListener
java.lang.Object
io.github.lunasaw.sip.common.transmit.AbstractSipListener
io.github.lunasaw.sip.common.transmit.AsyncSipListener
io.github.lunasaw.sip.common.transmit.TransactionAwareAsyncSipListener
- All Implemented Interfaces:
EventListener
,javax.sip.SipListener
事务感知的异步SIP监听器
继承AsyncSipListener,增强事务上下文管理能力
确保多线程异步处理时事务信息的正确传递和维护
- Author:
- luna
-
Field Summary
Fields inherited from class io.github.lunasaw.sip.common.transmit.AbstractSipListener
REQUEST_PROCESSOR_MAP, RESPONSE_PROCESSOR_MAP, sipMetrics, TIMEOUT_PROCESSOR_MAP
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
手动清理事务上下文获取事务上下文统计信息protected void
handleRequestExceptionWithContext
(javax.sip.RequestEvent requestEvent, Exception e, SipTransactionContext.TransactionContextInfo context) 带事务上下文的请求异常处理protected void
handleResponseException
(javax.sip.ResponseEvent responseEvent, Exception e) 响应异常处理(原方法不存在,添加默认实现)protected void
handleResponseExceptionWithContext
(javax.sip.ResponseEvent responseEvent, Exception e, SipTransactionContext.TransactionContextInfo context) 带事务上下文的响应异常处理void
processRequest
(javax.sip.RequestEvent requestEvent) 事务感知的异步请求处理 创建并传递事务上下文到异步线程void
processResponse
(javax.sip.ResponseEvent responseEvent) 事务感知的异步响应处理void
shutdown()
关闭资源Methods inherited from class io.github.lunasaw.sip.common.transmit.AsyncSipListener
createDefaultThreadPool, destroy, getProcessorStats, processDialogTerminated, processIOException, processTimeout, processTransactionTerminated
Methods inherited from class io.github.lunasaw.sip.common.transmit.AbstractSipListener
addRequestProcessor, addResponseProcessor, addTimeoutProcessor, getRequestProcessors, getResponseProcessors, getTimeoutProcessors, handleIOException, handleRequestException, handleUnsupportedRequest, removeRequestProcessor, removeResponseProcessor, removeTimeoutProcessor, shouldCreateTransaction
-
Constructor Details
-
TransactionAwareAsyncSipListener
public TransactionAwareAsyncSipListener()
-
-
Method Details
-
processRequest
public void processRequest(javax.sip.RequestEvent requestEvent) 事务感知的异步请求处理 创建并传递事务上下文到异步线程- Specified by:
processRequest
in interfacejavax.sip.SipListener
- Overrides:
processRequest
in classAsyncSipListener
- Parameters:
requestEvent
- RequestEvent事件
-
processResponse
@Async("sipMessageProcessor") public void processResponse(javax.sip.ResponseEvent responseEvent) 事务感知的异步响应处理- Specified by:
processResponse
in interfacejavax.sip.SipListener
- Overrides:
processResponse
in classAsyncSipListener
- Parameters:
responseEvent
- ResponseEvent事件
-
handleRequestExceptionWithContext
protected void handleRequestExceptionWithContext(javax.sip.RequestEvent requestEvent, Exception e, SipTransactionContext.TransactionContextInfo context) 带事务上下文的请求异常处理 -
handleResponseExceptionWithContext
protected void handleResponseExceptionWithContext(javax.sip.ResponseEvent responseEvent, Exception e, SipTransactionContext.TransactionContextInfo context) 带事务上下文的响应异常处理 -
handleResponseException
响应异常处理(原方法不存在,添加默认实现)- Overrides:
handleResponseException
in classAbstractSipListener
- Parameters:
responseEvent
- 响应事件e
- 异常
-
getTransactionContextStats
获取事务上下文统计信息 -
cleanupTransactionContexts
public void cleanupTransactionContexts()手动清理事务上下文 -
shutdown
public void shutdown()关闭资源
-