actframework mysql_问题处理记录
【Java】java mail Domain contains control or whitespace
异常描述
邮箱地址中包含特殊字符导致异常。
处理方案
1.将邮箱地址中非合法字符全部替换为空。
"2555@qq.com".replaceAll("[^\.\@0-9a-zA-Z]*","")
【前端】Button未设置type属性自动提交表单异常
异常描述
Button未设置type属性时,在某些浏览器下会认为是submit,触发自动提交表单的动作。
处理方案
1.在使用Button时,务必要设置type属性(type=button)。
2.在Button的click事件中添加 return false,防止提交动作。
【Java】java.lang.IllegalStateException:getOutputStream() has already been called
异常描述
出现此错误一般都是在请求处理中使用了输出流(如输出图片验证码,文件下载等),没有妥善处理好的原因。
处理方案
response在释放时,调用response.getWriter()会与response.getOutputStream()冲突,会出现以上异常。解决办法,在使用完输出流以后调用以下两行代码即可:
out.flush();
return null;
【Java】java.lang.OutOfMemoryError:PermGen space
异常描述
JVM内存溢出异常,产生该错误的原因大都出于以下原因:JVM内存过小、程序不严密,产生了过多的垃圾。
处理方案
检查是否存在以下情况
检查代码中是否有死循环或递归调用。
检查是否有大循环重复产生新对象实体。
检查对数据库查询中,是否有一次获得全部数据的查询。一般来说,如果一次取十万条记录到内存,就可能引起内存溢出。这个问题比较隐蔽,在上线前,数据库中数据较少,不容易出问题,上线后,数据库中数据多了,一次查询就有可能引起内存溢出。因此对于数据库查询尽量采用分页的方式查询。
检查List、Map等集合对象是否有使用完后,未清除的问题。List、Map等集合对象会始终存有对对象的引用,使得这些对象不能被GC回收。
【Java】java.lang.NullPointerException
异常描述
空指针异常抛出的异常信息一般是:Exception in thread ... java.lang.NullPointerException,所谓的空指针异常,就是一个指针是空指针,你还要去操作它,既然它指向的是空对象(null),那它就不能使用这个对象的实例成员(方法和属性)(注意:此时依然可以使用对象的静态成员的)。
处理方案
在使用对象的实例成员时,必须首先检查对象是否是空对象(null),不是才可以使用。
通过安全的方式使用对象的实例成员
使用String.valueOf(对象) 替代 对象.toString()
使用Arrays.toString(数组) 替代 数组.toString()
【Mysql】Table 'zntg_jxweb.act_activity' doesn't exist
异常描述
Mysql表名区分大小写,其他关键字、字段不区分。
处理方案
● SQL中表名要注意大小写
【Java】Tomcat启动报错,Caused by:java.lang.NoClassDefFoundError:LLogger
异常描述
邮箱Maven项目导入后,部署到tomcat运行报错:
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/fwpt]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
... 6 more
Caused by: java.lang.NoClassDefFoundError: LLogger;
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2583)
at java.lang.Class.getDeclaredFields(Class.java:1916)
处理方案
1.检查tomcat的webapp部署目录下发现lib包未成功引入,原因为eclipse的配置中:Deployment Assembly中未将Maven 依赖包部署导致,将其配置进去,重新部署即可。
[图片上传失败...(image-97746d-1532915481858)]
【Java】Maven项目Node.getTextContent() not found
异常描述
新导入的工程,w3c的getTextContent找不到,response的setCharacterEncoding找不到。
处理方案
原因: jdk 中的org.w3c.dom.Element, 在其父接口 org.w3c.dom.Node 中是有 getTextContent() 这个方法,但是项目maven 中xml-apis.jar 其中也有一个 org.w3c.dom.Element, 实际调用中,java 编译器使用了 maven 的这个类,而没有使用jdk中的类。所以先把maven依赖删掉,让工程转向调用jdk,然后再去通过maven重新update下项目添加会maven下面的依赖包。
简单处理:调整工程builder path的lib包顺序把jre、tomcat调到上面即可。
根本处理:在builder path中删掉maven,然后clean下工程,最后再右键工程进行maven的update project操作从新添加相关的maven依赖进来。
【Java】HttpMethodBase(14634): Cookie rejected: "
Path="/"; $Domain=".baidu.com"". Domain attribute ".baidu.com" violates RFC 2109: host minus domain may not contain any dots
异常描述
HttpClient请求百度地址反解析接口后,再次请求返回参数错误响应结果。
处理方案
设置每次请求重新生成Cookie
RequestConfig.custom().setCookieSpec(CookieSpecs.STANDARD);
【Java】Maven deploy、install等失败问题
异常描述
Maven项目修改以后,项目无错误,但进行Maven deploy、install等操作失败。
处理方案
原因:IDE环境中的项目文件未同步导致,按照:maven clean》maven update》rebuild project的流程清理项目后,重新操作即可。
【Java】Dubbo 调用时报错 NotSerializableException
异常描述
Dubbo 调用时,发送参数无法序列化,检查参数使用 guava的Lists.transform 返回的List为自定义List,未实现集合序列化方法。
Caused by: com.alibaba.dubbo.remoting.RemotingException: Failed to send message Request [id=298, version=2.0.0, twoway=true, event=false, broken=false, data=RpcInvocation [methodName=selectShopListByIds, parameterTypes=[interface java.util.List], arguments=[[36379, 36378, 36379, 36378, 36379, 36378, 36379, 36378, 36379, 36378, 36379, 36378]], attachments={path=com.jiuxian.service.shop.ShopService, interface=com.jiuxian.service.shop.ShopService, group=test, timeout=10000, version=0.0.0}]] to /192.168.5.139:20883, cause: com.jiuxian.task.impl.PriceTagChangeTaskImpl$1
at com.alibaba.dubbo.remoting.transport.netty.NettyChannel.send(NettyChannel.java:108)
... 34 more
Caused by: java.io.NotSerializableException: com.jiuxian.task.impl.PriceTagChangeTaskImpl$1
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1183)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
at com.alibaba.dubbo.common.serialize.support.java.JavaObjectOutput.writeObject(JavaObjectOutput.java:64)
处理方案
参数类型转换为java.util.ArrayList传送即可。
【linux】Mysql控制台SQL查询中文时查询无结果
异常描述
查询中文时查询不到,该问题是由于MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象。
处理方案
select * from adv_Images t where Title like binary '%签到%';
【linux】shell脚本无语法错误但无法正常执行
异常描述
在linux上执行shell脚本时报莫名其妙的错误,检查语法后未发现任何错误,原因可能是shell文件编码格式有问题,检查发现文件编码为DOS,建议通过编辑器修改unix编码后再重试即可
处理方案
通过编辑器修改unix编码后再重试
【Git】回退到指定提交版本
问题描述
将错误的代码提交到分支上,需要移除掉。
处理方案
git reset --hard 60a8f6220f5f4a34f4464e652d0e8f310f36c7e2 //回退本地代码到指定分支
git reset --hard HEAD //标记本地版本为最新版本
git push origin HEAD --force //强制将本地版本作为最新版本Push到远程服务器
【部署】J-one部署后配置不生效
问题描述
将项目通过J-one部署到预发环境或生产环境时,配置未生效。
处理方案
J-one上存在该项目的自定义配置文件,相同配置文件时,J-one上的配置优先级更高,所以除了修改本地的profile配置文件,还需要同步到J-one上才会生效。
【部署】Tomcat部署后不生效
问题描述
修改代码后,未同步更新到Tomcat部署。
处理方案
首先确认部署目录下的代码是否为最新文件,不是的话,则点击部署的三个绿箭头,全部部署,可以的话把rebuild、clean、全部做一遍,再部署检查。
【Java】日志包冲突导致栈内存溢出
问题描述
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/hbase/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See [http://www.slf4j.org/codes.html#multiple_bindings](http://www.slf4j.org/codes.html#multiple_bindings) for an explanation.
stackoverflowException....
处理方案
排除冲突依赖包:首先通过 mvn dependency:tree 找出依赖关系,然后搜索问题包被依赖的引用包,在引用处排除:
com.jd
used-man-client
1.0-SNAPSHOT
slf4j-log4j12
org.slf4j
【Java】数据库连接池连接数耗尽
问题描述
nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error updating database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30000ms.
处理方案
检查当时的访问量,发现存在流量激增情况,具体触发点没有定位到,猜测存在长事务和连接消耗过快情况。处理方案:
1.重启服务,最暴力有效,但无法从根本上解决问题,可能重启后问题再次出现。
2.增加连接池数量,流量不是特别高的情况下能解决问题,注意:线上连接池数量至少100。
3.增加限流处理,系统的本身容量是有限的,在机器有限的情况下只能做限流处理,最大程度的提供可用服务。
【Java】Tomcat启动报错,Caused by: java.lang.IllegalStateException: Cannot enable lazy loading because CGLIB is not available. Add CGLIB to your classpath.
异常描述
Maven项目部署到tomcat运行报错:
Caused by: java.lang.IllegalStateException: Cannot enable lazy loading because CGLIB is not available. Add CGLIB to your classpath.
at org.apache.ibatis.session.Configuration.setLazyLoadingEnabled(Configuration.java:203)
at org.apache.ibatis.builder.xml.XMLConfigBuilder.settingsElement(XMLConfigBuilder.java:198)
at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:100)
... 61 more
Caused by: java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:176)
at org.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:87)
at org.apache.ibatis.io.Resources.classForName(Resources.java:250)
at org.apache.ibatis.session.Configuration.setLazyLoadingEnabled(Configuration.java:201)
... 63 more
处理方案
1.异常描述为找不到类,检查相关jar之后发现类是存在的,然后再次确认打包后的lib中存在多个不同版本的相同jar,这种情况会对于没有自动处理jar包冲突的环境下会造成无法找到类等异常情况,通过idea的 pom-》dependency analyzer工具查找有问题的jar并排除即可。
【工具】YAPI生成接口文档卡死
问题描述
点击生成api就卡死了.
处理方案
检查入参出参,发现不支持Void类型,换成其他类型就可以了。
【Mysql】表被锁了没法修改数据
问题描述
修改数据无法成功
处理方案
1、查询是否锁表
show OPEN TABLES where In_use > 0;
2、查询进程
show processlist;
3、清理死锁进程
kill id
4、查看正在锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
5、查看等待锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
actframework mysql_问题处理记录相关推荐
- MySQL_数据库表记录的操作
文章目录 单表数据记录的插入 设置自动编号 单表数据记录的更新 单表记录的删除 单表数据记录的查询 单表数据记录的插入 插入数据 在使用数据库之前,数据库表中必须有数据,我们需要使用INSERT语句向 ...
- mysql_使用记录.md
文章目录 特别事项 mysql_安装配置 mysql安装 mysql配置 mysql卸载 mysql架构 数据库_相关操作 创建数据库 查看和删除数据库 备份和恢复数据库 数据类型(列类型) 数值类型 ...
- 查询最近一千条数据mysql_保留mysql数据库中的最新1000条记录
mysql_connect("localhost","root","root"); mysql_select_db("test&q ...
- 删除logs mysql_关于删除MySQL Logs的问题记录_MySQL
五一前,一个DBA同事反馈,在日常环境中删除一个大的slow log文件(假设文件大小10G以上吧),然后在MySQL中执行flush slow logs,会发现mysqld hang住. 今天尝试着 ...
- 玄惭 mysql_阿里云数据库专家玄惭的“武功”全记录之最佳实践、双十一特别篇...
原标题:阿里云数据库专家玄惭的"武功"全记录之最佳实践.双十一特别篇 专题简介 玄惭,真名罗龙九,阿里云DBA专家,负责阿里云RDS线上稳定以及专家服务团队.他经历过阿里历年双11 ...
- 从sqlserver中数据写入mysql_[SQL Server]SQL Server数据库中如何返回INSERT INTO语句插入/写入数据后的记录值(比如ID等)?...
问题描述 SQL Server数据库中,有时候当我们使用INSERT INTO语句写入数据后,需要返回写入数据对应的自增ID或者GUID,以便根据此记录进行后续的操作.那么SQL语句如何实现返回记录值 ...
- wincc 报警记录 mysql_如何才能把WINCC报警记录中的数据通过SQL取上来-工业支持中心-西门子中国...
回答者: 凌波微步- 高级工程师  第11级 2009-03-09 08:54:18 您可以评论本回答,或直接点击"提交"按钮推荐本回答... 我可 ...
- tos重装mysql_云服务器(腾讯云)从零开始部署记录(3)之mysql5.7安装
1.安装yum repo centos的yum源中没有mysql(可尝试直接使用安装命令:yum install mysql-server尝试),需要到mysql的官网下载yum repo配置文件,然 ...
- 删除logs mysql_关于删除MySQL Logs的一点记录
五一前,一个DBA同事反馈,在日常环境中删除一个大的slow log文件(假设文件大小10G以上吧),然后在MySQL中执行flush slow logs,会发现mysqld hang住. 今天尝试着 ...
最新文章
- 看完你也想编写自己的 react 插件
- 基于MATLAB和Python的频谱分析
- markdownpad2 html渲染组件出错_「万字长文」一文吃透React SSR服务端同构渲染
- java integer引用传递_在java中String,对象,Integer(包装类型的)关于引用传递还是值传递...
- PCB中加入logo
- pthread_join()函数理解
- 容器编排技术 -- Kubernetes Ingress解析
- Seata分布式事务问题由来---微服务升级_SpringCloud Alibaba工作笔记0056
- java复试容易被刷掉吗_推免生一定被录取吗复试会被刷吗
- 常用前端Js框架简介
- wampserver修改默认根目录
- 单片机 MSP430 G2553 F5529 蜂鸣器 音乐 音乐播放器
- SUMO文档019:导入网络文件(上)——OpenStreetMap
- 利用URLOS搭建自己的CDN网站加速节点真是其乐无穷
- 【心理学】情感心理学-当代思想和传统思想的碰撞(本篇文章将不定期持续更新)
- 情人节数码好物推荐,值得入手的四款数码好物分享
- 【干货】百度自动化运维是怎么做的?
- faster rcnn 代码与原理结合详解
- 微信忘记支付密码,实名认证的身份证又没有办理银行卡怎么破?(未解决)
- elasticsearch中文IK+Pinyin分词器