• 日常采坑篇


    2020.10.19

    在启动war项目的时候出现:

    请求的资源[/$%7BpageContext.request.contextPath%7D/savePerson]不可用

    需要检查web.xml文件 头下面的那个版本号

    正确的web.xml头是:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
             version="3.1" metadata-complete="true">
    

      




    2020.10.21
    在springmvc配置入参类型为Set集合时要注意在pojo文件下的类要加构造器
    
    

     

    
    

     

     

    2020-10-26

    在写Oracle查询语句时候:

    注意不为空(null)

    错误写法:

    select * from emp where comm not is null ; 

    正确写法:(两种方式)

    select * from emp where comm is not null;
    select * from emp where not comm is null;

    坑:

    2020-11-10:

    在数据库中怎么做到大量数据迁移?

    在Oracle数据库中,使用同义词

    MySQL数据库中需要关闭  唯一约束 和 关闭验证(验证数据是否正确).

    2020-11-10:

    在邮件中 怎么在百万级邮件中,把黑名单的邮件剔除出去?

    使用布隆选择器(布隆算法)3次删选过滤.

    2020-11-16:

    1.设置zookeeper开机自动启动

    zookeeper 未启动
    
    
       检查是否启动   netstat -antp|grep 2181
    
    
    扩展知识点1:设置zookeeper开机自动启动
    
    
         (1)、设置开机自动启动配置文件的可执行权限
    
                chmod +x /etc/rc.d/rc.local
    
          (2)、编辑开机自动启动配置文件 
    
            vi  /etc/rc.d/rc.local
    
             在最后行增加内容:
    
                 source /etc/profile
    
                 /usr/local/zookeeper/bin/zkServer.sh start
    
    
                 /usr/local/tomcat/bin/startup.sh

    2.连接dubbo监控中心失败

    1、zookeeper所在的linux服务器上tomcat是否启动
    
    
        netstat -antp|grep 8080
    
    
      2、尝试访问linux服务器8080端口
    
    
       http://192.168.188.128:8080
    
      3、如果访问失败,确认防火墙是否关闭
    
        systemctl stop firewalld
    
        systemctl disable firewalld
    
    
      4、再次尝试访问  http://192.168.188.128:8080
    
    
    
      5、如果还是不能访问到,tomcat配置出现问题
    
        重新安装tomcat   rm -rf /usr/local/tomcat

    3.发布dubbo的管理监控中心

    1、确认服务器配置好java环境
    
    java -version 
    
    2、上传tomcat的安装包
    
    apache-tomcat-8.5.51.tar.gz
    
    3、解压缩tomcat的安装包
    
    tar xvf apache-tomcat-8.5.51.tar.gz -C /usr/local/
    
    4、进入解压缩目录,修改目录名称
    
    cd /usr/local
    
    mv apache-tomcat-8.5.51/ tomcat
    
    5、测试启动tomcat
    
    cd tomcat/bin
    
    ./startup.sh    //启动tomcat
    
    6、查看端口号是否监听
    
    netstat -antp|grep 8080
    
    7、统一关闭防火墙
    
    systemctl stop firewalld   //关闭当前防火墙服务
    
    systemctl disable firewalld  //禁用防火墙服务开机自启
    
    8、测试访问tomcat
    
    http://192.168.188.142:8080/
    
    9、停止tomcat
    
    ./shutdown.sh     //停止需要等待30秒
    
    10、上传dubbo监控管理的war包到指定tomcat的目录
    
    
    /usr/local/tomcat/webapps
    
    
    dubbo-admin-2.6.1.war
    
    11、删除 tomcat目录下的 ROOT目录
    
    rm -rf ROOT/
    
    12、修改所上传dubbo的war包名称
    
     mv dubbo-admin-2.6.1.war ROOT.war
    
    13、再次启动tomcat
    
    cd ../bin
    
    ./startup.sh 
    
    14、正式访问dubbo的管理控制台
    
    输入账号:root
    密码:root

    4.空指针问题

      1、确认dubbo监控中心已经注册上服务提供者
    
    
         如果未注册上服务提供者:
    
           (1)、解决服务提供者注册问题
    
                 (1.1)确认是否导入了dubbo相关依赖包
    
                 <!-- dubbo相关 -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>dubbo</artifactId>
            </dependency>
            <dependency>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
            </dependency>
            <dependency>
                <groupId>org.apache.curator</groupId>
                <artifactId>curator-recipes</artifactId>
            </dependency>
    
              (1.2)、确认spring配置文件dubbo的配置文件是否正确
    
                头文件是否引用错误:xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
    
                
                   <dubbo:annotation package="com.offcn.sellergoods.service.impl"/>  
    
                    重点检查扫描包是否正确,ctrl+鼠标左键  看是否变成 小手
    
              (1.3)、检查服务实现类,注解是否加上?
    
                       是否加错了注解:com.alibaba.dubbo.config.annotation.Service
    
      
    
             (1.4)、确认web.xml是否成功加载了spring配置文件,重点看dubbo的配置文件是否加载上
    
    
     
        如果服务提供者已经注册到了dubbo监控中心
    
            2、检查服务消费者
    
              (2.1)、检查依赖  、检查spring的配置文件、检查 注解@Reference 
    
    
            重启消费者

    5.服务提供者出现异常

    HTTP Status 500 - Request processing failed; nested exception is com.alibaba.dubbo.rpc.RpcException: Failed to invoke the method findAll in the service com.offcn.sellergoods.service.BrandService. Tried 3 times of the providers [10.10.115.147:20880] (1/1) from the registry 192.168.188.142:2181 on the consumer 10.10.115.147 using the dubbo version 2.6.4. Last error is: Invoke remote method timeout. method: findAll, provider: dubbo://10.10.115.147:20880/com.offcn.sellergoods.service.BrandService?anyhost=true&application=youlexuan_manager_web&check=false&dubbo=2.0.2&generic=false&interface=com.offcn.sellergoods.service.BrandService&methods=findAll&pid=8672&register.ip=10.10.115.147&remote.timestamp=1592446162160&revision=1.0&side=consumer&timestamp=1592446203793, cause: Waiting server-side response timeout. start time: 2020-06-18 10:10:06.748, end time: 2020-06-18 10:10:07.750, client elapsed: 0 ms, server elapsed: 1001 ms, timeout: 1000 ms, request: Request [id=2, version=2.0.2, twoway=true, event=false, broken=false, data=RpcInvocation [methodName=findAll, parameterTypes=[], arguments=[], attachments={path=com.offcn.sellergoods.service.BrandService, interface=com.offcn.sellergoods.service.BrandService, version=0.0.0}]], channel: /10.10.115.147:51804 -> /10.10.115.147:20880
    
    
    
    1、增加服务提供者 的日志配置文件 log4j.properties
    
       放到resources目录下
    
    
      看到更多日志输出

    6.解决服务提供方 QOS错误

    [com.alibaba.dubbo.qos.protocol.QosProtocolWrapper] -  [DUBBO] Fail to start qos server: , dubbo version: 2.6.4, current host: 10.10.115.147
      java.lang.NoClassDefFoundError: io/netty/channel/EventLoopGroup
        at com.alibaba.dubbo.qos.protocol.QosProtocolWrapper.startQosServer(QosProtocolWrapper.java:95)
        at com.alibaba.dubbo.qos.protocol.QosProtocolWrapper.export(QosProtocolWrapper.java:59)
        at com.alibaba.dubbo.rpc.protocol.ProtocolListenerWrapper.export(ProtocolListenerWrapper.java:55)
        at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper.export(ProtocolFilterWrapper.java:98)
        at com.alibaba.dubbo.rpc.Protocol$Adaptive.export(Protocol$Adaptive.java)
        at com.alibaba.dubbo.config.ServiceConfig.doExportUrlsFor1Protocol(ServiceConfig.java:513)
        at com.alibaba.dubbo.config.ServiceConfig.doExportUrls(ServiceConfig.java:358)
        at com.alibaba.dubbo.config.ServiceConfig.doExport(ServiceConfig.java:317)
        at com.alibaba.dubbo.config.ServiceConfig.export(ServiceConfig.java:216)
        at com.alibaba.dubbo.config.spring.S
    
    
    修改spring配置文件
    
     <dubbo:application name="youlexuan_sellergoods_service">
            <dubbo:parameter key="qos.enable" value="false"/>
        </dubbo:application>

    7.dao包,映射文件目录不对

    HTTP Status 500 - Request processing failed; nested exception is java.lang.RuntimeException: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.offcn.mapper.TbBrandMapper.selectByExample
    
    
    解决方法,重新建多层级映射文件存储目录

    8.端口被占用

    java.net.BindException: Address already in use: JVM_Bind <null>:9101
    
    
    解决方案:
    
    
    在windows命令行,输入命令检查被占用端口,所对应进程编号
    
    netstat -a -n -o|findStr 9101
    
    
      TCP    0.0.0.0:9101           0.0.0.0:0              LISTENING       1672【进程编号】
      TCP    [::]:9101              [::]:0                 LISTENING       1672
    
    
    使用任务管理器,来结束进程
    
    直接使用命令杀死进程
    
    tskill 进程编号

    2020-11-23:

    在写前端对后端controller发请求时,遇到404...看看是不是路径有问题..........

  • 相关阅读:
    centos已经安装了python2,同时安装python3
    linux下判断磁盘是ssd还是hdd
    Java中如何判断两个对象是否相等
    NPOI导出Excel和基于office导出Excel比较
    asp
    又找到了一个blog
    关于宋朝及中国历史的一点想法
    Android中实现EditText圆角
    Python小练习
    软件架构设计(三) 架构、架构师和架构设计
  • 原文地址:https://www.cnblogs.com/masterhxh/p/13843506.html
Copyright © 2020-2023  润新知