java linux ImageIO 验证码在一段时间以后出不来 问题总结

最近在测试上布署的项目经常性的出现验证码过了一段时间以后出不来的情况,耐心找了一下,最后在上级的指导下发现了报错,其实说真的,我自己也找到了这个报错,只是没有当一回事。因为这个验证码的东西不是我写的,我也不知道这个报错是不是和它有关系。

错误如下:

2014-05-21 10:46:17,826 DEBUG [org.springframework.web.servlet.DispatcherServlet] - Could not complete request
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment

后来百度了一下,发现解决的方案是:

在catalina.sh里加上一句“CATALINA_OPTS=-Djava.awt.headless=true”,

-Djava.awt.headless=true
\  修改为如下: "$_RUNJAVA"
$JAVA_OPTS $CATALINA_OPTS \
    -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
    -Dcatalina.base="$CATALINA_BASE" \
    -Dcatalina.home="$CATALINA_HOME" \
    -Djava.io.tmpdir="$CATALINA_TMPDIR" \
    -Djava.awt.headless=true \

另外还有一种方案,在我这里也是发生的,就是磁盘满了,毕竟是一个流要写文件。

用df -h 可以看一下,磁盘是否有满,如果是被日志什么的充满了,清一下就可以了。

时间: 2024-09-27 01:21:30

java linux ImageIO 验证码在一段时间以后出不来 问题总结的相关文章

java应用程序放了一段时间后,再运行的时候出现了很多原本没有的错误。

问题描述 java应用程序放了一段时间后,再运行的时候出现了很多原本没有的错误. 我的一个Java写的带GUI的应用程序,打包到jar包中.原本可以运行,且没什么太大的问题.放了一段时间(期间没修改过,修改时间还显示最原始的时间),重新运行时,出现了很多本来没有的非常明显的错误(主要是在GUI上的错误).请高手帮忙指出可能哪里出问题了? 解决方案 那里那里那里那里那里那里

方法-Java Eclipsetomcat请求一段时间后,程序无反应,tomcat无错,程序无错。

问题描述 Java Eclipsetomcat请求一段时间后,程序无反应,tomcat无错,程序无错. tomcat执行请求后,程序执行一段时间后,程序就不执行了,tomcat没报错,程序也没错误,tomcat重启后在次执行之前没执行的代码OK没问题. 方法执行时间比较久,因为是数据库转换,从Oracle转Sqlserver,数据量较大. 如果我分批执行就可以,但是如果我一起全部执行的话,就会执行到一半的时候,就不执行了,很奇怪,求大神支招.求解决办法! 解决方案 会不会是事务太长到事连接超时,

效果-java线程问题(是否可将部分代码设置在后台运行一段时间)

问题描述 java线程问题(是否可将部分代码设置在后台运行一段时间) 我想要的效果是我在下载文件时显示下载进度条, 并在下载完成后弹出提示框询问是否安装! 实际上是一开始下载时询问的提示框就和进度条一起出现了, 并且进度条显示到30%多的时候会突然降为0, 然后一段时间后再增加,所以进度条总是无法显示到100% 解决方案 你把界面和下载线程分开就好了,然后通过线程向外面传参数 解决方案二: 这是我积累的一些java项目源码 你可以参考参考 不过有点基础http://download.csdn.n

Java ssh框架开发的网站想每隔一段时间自动调用一段代码要怎么实现?

问题描述 Java ssh框架开发的网站想每隔一段时间自动调用一段代码要怎么实现? 用Java ssh框架写一个酒店管理系统,其中有一个预定客房模块,我希望过一天就查一下预定客房记录表如果某个客房这天已经被预定了就更新它的状态,这要怎么实现? 解决方案 可以使用quartz,具体用法google下. 解决方案二: 一个简单但是不好的方法,在js中设置个定时器(setinterval()),每隔多少时间异步调用查询预订客房记录 解决方案三: 使用Spring中的定时器把 解决方案四: 使用spri

JAVA应用运行一段时间不能从MQ本地队列取消息,有错误信息

问题描述 JAVA应用运行一段时间不能从MQ本地队列取消息,应用服务weblogic11g控制台不停的报如下错误:解决方案二:#<2014-5-28下午07时12分56秒CST><Notice><WebLogicServer><WIN-DCGCIFP3DEO><evoServer><main><<WLSKernel>><><><1401275576125><BEA-00

linux下resin3.025+apache运行jsp过一段时间后内存和cpu占用过大

问题描述 linux下resin3.025+apache运行10-20个jsp网站,过一段时间后内存和cpu占用过大,然后resin就死掉jsp页面就大不开了,重起resin又恢复正常,然后过一段时间又会出现内存和cpu占用过大.请问是什么原因啊?是jsp网站程序还是resin3.025+apache没设置好? 解决方案 解决方案二:应该是程序的问题吧,你用top命令看看那个进程占用的多.解决方案三:这个应该是你上面部署的网站有问题导致的.我不知道有没有什么管理工具可以看每一个网站占的内存.如果

用vc++或java每隔一段时间读取一个日志文件(这是一个电话语音接听日志文件,文件内容在随时的增加)后提取有效数据到数据库中

问题描述 用vc++或java每隔一段时间读取一个日志文件(这是一个电话语音接听日志文件,文件内容在随时的增加)后提取有效数据到数据库中,怎么做到从上次读取文件的位置,也就是行数,开始下次的读取.大家知道,java和vc++是通过while()循环来读取文件,我当时的做法是记录上次while()的循环次数,下次读取时先空循环上次记录的行数,然后开始真正的读取文件.看看大伙有没有更好的办法. 解决方案 解决方案二:randomaccessfile+上次读取位置解决方案三:引用1楼inhibitor

quartz java 定时任务-Quartz2.2.1暂停任务,过一段时间恢复任务,会运行这段时间换存的任务,怎么去掉?

问题描述 Quartz2.2.1暂停任务,过一段时间恢复任务,会运行这段时间换存的任务,怎么去掉? Quartz2.2.1暂停任务,过一段时间恢复任务,会运行这段时间换存的任务,或者是突然关闭项目, 过一段时间重启,quartz读取数据库的任务信息也会运行多次,怎么设置当任务暂停后,等到恢复 时不执行前面缓存的任务? 我用的是最新版,一些属性设置都变了,求高手帮忙解答? 解决方案 一段时间恢复任务,会运行这段时间换存的任务,怎么去掉? 解决方案二: quartz.properties配置文件里有

Java实现图片验证码具体代码_java

本文实例为大家分享了Java图片验证码代码,供大家参考,具体内容如下 网页显示效果: index.jsp 使用两种方式强制图片更新: 1.设置图片输出时不缓存. 2.用js改变请求的地址. <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <head> <title>第一个web项目的主页</