因为在多模块项目中引入了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. 京东饭粒捡漏V1.0.7

    20180614 更新 V1.0.71.修改捡漏策略 功能介绍1.京东商城专用,支持饭粒模式下单,自己获得京豆返利 2.捡漏模式:帮助用户监控抢购商品,有库存的时候进行抢单,主要是通过添加商品ID - ...

  2. CentOS下puppet安装

    简介 Puppet是开源的基于Ruby的系统配置管理工具,puppet是一个C/S结构, 当然,这里的C可以有很多,因此,也可以说是一个星型结构. 所有的puppet客户端同一个服务器端的puppet ...

  3. 发布一个PHP包到Packagist, 然后使用Composer安装

    Composer 能够方便的进行项目的依赖管理,  当我们发布一个包并且希望别人通过Composer安装的时候, 就需要将包发布到Composer的包仓库Packagist上面. 下面进行详细的说明一 ...

  4. JSONObject 转List 强制类型转换错误

    JSONArray arr=(JSONArray)map.getOrDefault("data","");List<DHD> data=JSONOb ...

  5. win10家庭版,双击bat文件无法运行(double click bat file does not execute)

    win10家庭版,双击bat文件无法运行,弹出文件打开方式选择框. 在网上搜索处理办法,试了以下方法1-5都没有成功,用方法6规避. 方法1:打开一个驱动器,点“工具-文件夹选项→文件类型→新建→扩展 ...

  6. 搭建Mock Server

    1.为什么要搭建mock-server? 为了更好的分工合作,让前端能在不依赖后端环境的情况下进行开发,其中一种手段就是为前端开发者提供一个 web 容器,这个本地环境就是 mock-server. ...

  7. Win8 & WP8.1 轻型数据库

    自Win8 和 WP8.1 以来,MS把SQL CE去掉了.为了方便自己的APP升级,减少代码改动量,所以写了个小型的数据库管理,参考WP8.1之前的DataContext. 用时较短,花了几天的时间 ...

  8. winserver2012 下安装 sqlserver2008

    sqlserver2008 安装要求 winserver2012 必须装 .netframework3.5. 但是 winserver2012下,安装 .netframework3.5 ,必须要 wi ...

  9. 关于RandomAccessFile一个坑!!!!

    最近正好遇到了使用RandomAccessFile做断点下载的情况,被一个问题坑了好多次 本来的代码: RandomAccessFile randomAccessFile = new RandomAc ...

  10. 72.纯 CSS 创作气泡填色的按钮特效

    原文地址:https://segmentfault.com/a/1190000015560736 感想:过渡效果+xyz中一轴. HTML code: <nav> <ul> & ...