因为在多模块项目中引入了spring security,消费方(控制层)的工程有两个包,一个controller,一个config。引入之前消费方工程的application.properties中spring.dubbo.scan=com.***.***.controller没有问题,引入之后由于config包下面的一个文件也要调用提供方(服务层)的服务,所以改为spring.dubbo.scan=com.***.***,即config包和controller包的上级目录。启动项目时报错java.net.BindException: Address already in use: bind,意思推测为端口占用。检查消费方工程和提供方工程的application.properties,发现两个都是spring.dubbo.protocol.port=20880。改掉其中一个,项目正常启动,且config和controller两个包都可以被dubbo扫描到。

这里就产生了一个问题,既然之前消费方工程和提供方工程设置的dubbo端口一样,为什么之前不会报错,修改扫描路径之后就会报错呢?

既然推测是修改扫描包路径导致了端口占用问题(尽管直接这么说有些莫名其妙),就来比较一下修改前后的扫描包路径:

消费方工程                     提供方工程

修改前:com.***.***.controller       com.***.***.service.impl

修改后:com.***.***                       com.***.***.service.impl

区别在哪?

区别在于修改前的两个路径相互独立,而修改后消费方工程的扫描路径包含了提供方工程的扫描路径,dubbo重复扫描了提供方工程,第二次发布至相同端口时就会报错。

以上仅为一时之浅见,并不能保证百分百正确。

————强势分割————

当天晚上的补充:

在按照上面的思路自以为解决了问题之后,虽然好几次测试都成功了,但是后来却出现了mybatis报invalid bound statement。由于修改之后的扫描路径让我感觉到违和,再加上走投无路之下的我将config包拖到controller包下面,将消费方工程的dubbo扫描路径重新改为com.***.***.controller以避免和提供方的扫描路径重复,问题再一次解决了(确信)。

springboot+dubbo修改扫描路径引起端口占用的问题的更多相关文章

  1. 【Jenkins】Jenkins安装修改默认路径和端口的方法

    一.修改默认的jenkins安装路径 因为jenkins默认安装在c盘 C:\Users\Administrator\.jenkins下,那怎样将安装路径修改至d盘呢? 新建一个系统变量:JENKIN ...

  2. SpringBoot+Dubbo+ZooKeeper+Maven入门实践

    原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11798626.html 注*** 本实例为仅适合初学者,关于dubbo和springboot以 ...

  3. springboot+dubbo之多端口注入服务

    前面介绍了,springboot+dubbo基础整合,这篇介绍多端口注入服务. springboot使用@Bean注入dubbo服务,当你是单一的ProviderConfig实例,dubbo的@Ser ...

  4. Maven入门---修改tomcat版本及端口及访问路径(四)

    Maven中通过添加插件修改tomcat版本及端口及访问路径 --------------------------------------------------------------------- ...

  5. 十分钟搭建微服务框架(SpringBoot +Dubbo+Docker+Jenkins源码)

    本文将以原理+实战的方式,首先对“微服务”相关的概念进行知识点扫盲,然后开始手把手教你搭建这一整套的微服务系统. 这套微服务框架能干啥? 这套系统搭建完之后,那可就厉害了: 微服务架构 你的整个应用程 ...

  6. 手把手0基础项目实战(一)——教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)...

    原文:手把手0基础项目实战(一)--教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)... 本文你将学到什么? 本文将以原理+实战的方式,首先对& ...

  7. 搭建SpringBoot+dubbo+zookeeper+maven框架(一)

    这几天项目还没来,所以就自己试着参考网上的一些资料,搭建了一个SpringBoot+dubbo+zookeeper+maven框架,网上参考的很多资料照着他们一步一步搭建,最后很多都运行不通,很是郁闷 ...

  8. 超详细,新手都能看懂 !使用SpringBoot+Dubbo 搭建一个简单的分布式服务

    来自:JavaGuide Github 地址:https://github.com/Snailclimb/springboot-integration-examples 目录: 使用 SpringBo ...

  9. springboot+dubbo+zookeeper+mybatis

    参考地址:https://www.cnblogs.com/gaopengfirst/p/9555240.html 首先创建一个maven项目: 再在该父项目中创建3个module,分别是:provid ...

随机推荐

  1. C#工具类:Json操作帮助类(转载)

    原文转载自C#工具类:Json操作帮助类_IT技术小趣屋. Json序列化和反序列化在程序开发中时常会遇到,在C#中可以使用很多种方法实现对数据的Json序列化和反序列化,封装一个Json操作工具类来 ...

  2. PyCharm激活(License server)

    打开激活窗口 选择 Activate new license with: License server (用license server 激活) 在 License sever address 处填入 ...

  3. mybatis关于ORM的使用以及设计(二)[DaoInterface 转换 Mapper代理对象]

    第一节中,分析了Mybatis的ORM框架的初始化,这篇来分析SQL执行过程中,对象->SQL是如何转换的 其中包含两种映射思想 ①DAO接口->Mapper实例 ②执行DAO的方法时,参 ...

  4. 生信基础知识【04】GO和pathway分析

    非原创 参考资料: 一文掌握GO和pathway分析 - 生物信息学讨论版 -丁香园论坛http://www.dxy.cn/bbs/thread/34904124#34904124 GO富集 GO是G ...

  5. C# 时钟控件

    //控件名:myNewClock //作者:刘典武 //时间:2011-06-10 using System; using System.Collections.Generic; using Syst ...

  6. Security注解:@PreAuthorize,@PostAuthorize, @Secured, EL实现方法安全

     说明 (1)JDK版本:1.8(2)Spring Boot 2.0.6(3)Spring Security 5.0.9(4)Spring Data JPA 2.0.11.RELEASE(5)hibe ...

  7. ajax调用.net API项目跨域问题解决

    ajax调用.net API项目,经常提示跨域问题.添加如下节点代码解决:httpProtocol <system.webServer> <handlers> <remo ...

  8. Configuring SSL for SAP Host Agent on UNIX

    https://help.sap.com/viewer/141cbf7f183242b0ad0964a5195b24e7/114/en-US/8d12f7b9244b44219bd14d619d3a2 ...

  9. Linux修改hostname与免密码登录

    修改hostname [root@centos7 ~]$ hostnamectl set-hostname hadoop001 # 使用这个命令会立即生效且重启也生效 [root@centos7 ~] ...

  10. java.lang.NoSuchMethodException: tk.mybatis.mapper.provider.base.BaseSelectProvider.<init>()

    这个问题好奇怪, 出现这个错误是通用Mapper初始化的错误,排查的方向就是往这个方向,可能的情况有以下几种: .jar包冲突 <dependency> <groupId>tk ...