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 voidhandleRequestExceptionWithContext(javax.sip.RequestEvent requestEvent, Exception e, SipTransactionContext.TransactionContextInfo context) 带事务上下文的请求异常处理protected voidhandleResponseException(javax.sip.ResponseEvent responseEvent, Exception e) 响应异常处理(原方法不存在,添加默认实现)protected voidhandleResponseExceptionWithContext(javax.sip.ResponseEvent responseEvent, Exception e, SipTransactionContext.TransactionContextInfo context) 带事务上下文的响应异常处理voidprocessRequest(javax.sip.RequestEvent requestEvent) 事务感知的异步请求处理 创建并传递事务上下文到异步线程voidprocessResponse(javax.sip.ResponseEvent responseEvent) 事务感知的异步响应处理voidshutdown()关闭资源Methods inherited from class io.github.lunasaw.sip.common.transmit.AsyncSipListener
createDefaultThreadPool, destroy, getProcessorStats, processDialogTerminated, processIOException, processTimeout, processTransactionTerminatedMethods 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:
processRequestin interfacejavax.sip.SipListener- Overrides:
processRequestin classAsyncSipListener- Parameters:
requestEvent- RequestEvent事件
-
processResponse
@Async("sipMessageProcessor") public void processResponse(javax.sip.ResponseEvent responseEvent) 事务感知的异步响应处理- Specified by:
processResponsein interfacejavax.sip.SipListener- Overrides:
processResponsein 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:
handleResponseExceptionin classAbstractSipListener- Parameters:
responseEvent- 响应事件e- 异常
-
getTransactionContextStats
获取事务上下文统计信息 -
cleanupTransactionContexts
public void cleanupTransactionContexts()手动清理事务上下文 -
shutdown
public void shutdown()关闭资源
-