请求服务无响应Dispatcher has no subscribers

23 篇文章 0 订阅
11 篇文章 0 订阅

请求服务无响应Dispatcher has no subscribers

异常说明

请求某服务,该请求一直处于等待状态(页面按钮转圈圈),查看服务能看到,服务已经接收到请求,并进行处理,但是服务在将响应结果返回的时候,报异常Dispatcher has no subscribers

报错信息

Exception in thread "GlobalTaskExecutor-341" java.lang.IllegalStateException: Dispatcher has no subscribers.
	at com.primeton.tip.org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:98)
	at com.primeton.tip.org.springframework.integration.dispatcher.UnicastingDispatcher.access$000(UnicastingDispatcher.java:47)
	at com.primeton.tip.org.springframework.integration.dispatcher.UnicastingDispatcher$1.run(UnicastingDispatcher.java:86)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

原因分析

该服务端口已被其他服务或请求占用,启动时并不会报错,热交换时会报错Address in use 。
对于这种问题,如果是测试环境,处理办法包括
1.更换端口
2.重启服务

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Dispatcher是一个常用的设计模式,用于将请求与处理程序进行解耦。它允许根据请求的类型将请求分发给不同的处理程序。以下是一个示例,演示了如何使用Dispatcher模式来处理不同类型的请求。 ```python class Dispatcher: def __init__(self): self.handlers = {} def add_handler(self, request_type, handler): self.handlers[request_type] = handler def dispatch(self, request): request_type = request.get('type') if request_type in self.handlers: handler = self.handlers[request_type] handler.handle(request) else: print("No handler found for request type: ", request_type) class RequestHandler: def handle(self, request): raise NotImplementedError("Subclasses must implement handle() method") class LoginHandler(RequestHandler): def handle(self, request): print("Handling login request:", request) class LogoutHandler(RequestHandler): def handle(self, request): print("Handling logout request:", request) # 创建一个Dispatcher对象 dispatcher = Dispatcher() # 创建不同类型的请求处理程序 login_handler = LoginHandler() logout_handler = LogoutHandler() # 将处理程序添加到Dispatcherdispatcher.add_handler('login', login_handler) dispatcher.add_handler('logout', logout_handler) # 创建不同类型的请求 login_request = {'type': 'login', 'username': 'user1', 'password': 'pass1'} logout_request = {'type': 'logout', 'username': 'user1'} # 分发请求 dispatcher.dispatch(login_request) dispatcher.dispatch(logout_request) ``` 这个例子中,我们创建了一个Dispatcher类,它维护了一个字典,将请求类型与处理程序进行映射。我们还创建了两个处理程序:LoginHandler和LogoutHandler,它们分别处理登录和注销请求。我们将这些处理程序添加到Dispatcher中,并通过调用dispatch方法来分发请求

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值