当前位置: 首页 > news >正文

神兵网站建设互联网个人用户网站

神兵网站建设,互联网个人用户网站,网页设计工资统计,网络舆情工作流程的六个步骤问题说明 怎么解决Spring Boot项目部署到tomcat下无法Nacos中注册服务问题#xff0c;希望能够解决您遇到有关问题。 在使用Nacos作为注册中心的Spring Boot项目#xff0c;以war包形式部署到服务器上#xff0c;启动项目发现该服务无法在Nacos中注册。 分析 …问题说明       怎么解决Spring Boot项目部署到tomcat下无法Nacos中注册服务问题希望能够解决您遇到有关问题。 在使用Nacos作为注册中心的Spring Boot项目以war包形式部署到服务器上启动项目发现该服务无法在Nacos中注册。 分析 查看源码需从nacos的注册类找起查找后发现nacos注册类NacosAutoServiceRegistration继承了Spring Cloud中AbstractAutoServiceRegistration, 而在AbstractAutoServiceRegistration中绑定了一个监听事件监听内置容器启动完成事件监听到获取容器端口后向注册中心注册。 EventListener({WebServerInitializedEvent.class})public void bind(WebServerInitializedEvent event) {ApplicationContext context event.getApplicationContext();if (!(context instanceof ConfigurableWebServerApplicationContext) || !management.equals(((ConfigurableWebServerApplicationContext)context).getServerNamespace())) {this.port.compareAndSet(0, event.getWebServer().getPort());this.start();}} 而使用外部容器时不能监听到事件所以自动注册失败。 解决方案 Spring Boot提供了PostConstruct注解属性和ApplicationRunner接口并实现run方法即可前者比较简单是在应用起好之后执行一些初始化动作。通过这个接口我们可以实现启动项目后注册服务。使用这种方法需要在配置文件中配置端口号如果一个应用部署很多端口每个应用都要配置很不方便。故可获取外部tomcat自动设置端口。经测试方法可行。 代码如下 Component Slf4j public class NacosRegister {Autowiredprivate NacosRegistration registration;Autowiredprivate NacosAutoServiceRegistration nacosAutoServiceRegistration;Value(${server.port})String serverPort;PostConstructpublic void registerInstance() throws Exception {if (registration ! null serverPort ! null) {String tomcatPort serverPort;try {tomcatPort getPort();} catch (Exception e) {log.warn(获取外部Tomcat端口异常, e);}registration.setPort(Integer.parseInt(tomcatPort));nacosAutoServiceRegistration.start();}}/*** 获取外部tomcat端口*/public String getPort() {try {MBeanServer beanServer ManagementFactory.getPlatformMBeanServer();SetObjectName objectNames beanServer.queryNames(new ObjectName(*:typeConnector,*), Query.match(Query.attr(protocol), Query.value(HTTP/1.1)));String port objectNames.iterator().next().getKeyProperty(port);return port;} catch (Exception ex) {log.error(NacosRegister.getPort()动态获取端口异常:, ex.toString());return serverPort;}}提示 部署项目要注意版本问题如Spring Boot 2.0.6应该部署在tomcat8以上版本tomcat8以下版本可能有些变化导致项目启动报错。所以大家尽量使用tomcat8以上版本吧
http://www.zqtcl.cn/news/705929/

相关文章:

  • 类似视频教程网站的wordpress主题网页设计用什么尺寸的画布好
  • 仿模板电影网站线上销售的方法和技巧
  • 漳州建设银行网站首页速成建站
  • 网站建立的链接不安全怎么解决学校网站怎样建设
  • 信阳市工程建设信息网站wordpress段子
  • 网站建设和网络搭建是一回事吗长沙网站搭建优化
  • 基础网站怎么做石景山公司
  • 吉他谱网站如何建设wordpress主题字体用隶书
  • 做一个宣传网站的策划书自己怎样推广呢
  • 网站建设布局利于优化火狐搜索引擎
  • 公司给别人做的网站违法吗hexo插件wordpress
  • 网站用什么语言做动易网站迁移
  • 网站备案上传照片几寸织梦模板网站好吗
  • 怎么通过数据库做网站的登录wordpress 注册登录插件
  • 读书网站排名大的网站建设公司好
  • 电商网站建设系统公司 网站建
  • 西安建站费用优化系统是什么意思
  • 做网站认证对网站有什么好处中信建设有限责任公司四川分公司电话
  • 王者做网站福州seo外包公司
  • 网站建设教程百度网盘网站报价明细
  • 网站建设杭州哪家好ui设计学校
  • 门户网站做等级保护测评成都企业建站系统
  • 网站建设需求确认表网站建设需求材料
  • 定制型网站制作价格北京网站建设费用
  • 与女鬼做的网站上海有限公司
  • ytwzjs烟台网站建设c 做的网站又哪些
  • 做网站就是做app中国包装创意设计网
  • 淄博做网站宿迁房产网丫丫找房
  • 苏州专业做网站比较好的公司杭州好的公司网站设计
  • 做百度网站要多少钱帮做网站一般多少钱