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

Linux下Tomcat控制台输出及日志中文乱码问题的解决


刚写了个定时器,调用网上流传的飞信API,实现每天每周的固定时间给特定的手机号上发短信提醒的功能。按照网上资料,使用的Servlet监听器+Timer类。

      刚开始完全照搬人家的例子,倒也正常。后来查API时看到到Timer有个方法:

"void schedule(TimerTask task, Date time) 安排在指定的时间执行指定的任务。"

不禁大喜,觉得正合这个场景么,于是没仔细想就改写了代码。不过写到一半突然发现这个定时器方法只能执行一次啊,那怎么才能每天都重复执行,看来这个思路不对,还得用:

"void schedule(TimerTask task, Date firstTime, long period)
          安排指定的任务在指定的时间开始进行重复的固定延迟执行。"才行。每隔一分钟执行一次Task,其实也就是获得当前时间与设定的时间对比,若相同则执行任务方法。

      这次算是没什么问题了,于是放到服务器上想测试下,不曾想却遭遇了乱码问题,Linux主机上的tomcat控制台输出的中文都是乱码,日志文件中也是。网上翻了半天资料,发现大多讲的不详细,我等菜鸟实在不知如何操作。

 

"因为每一个应用都会启动一个Java进程,启动方法就是 java $OPTS com.xxx.xxx.xxx
其中变量$OPTS就是我们要设置的JVM的启动参数。在这里设置JVM的字符集。设置如下:
-Ddefault.client.encoding=GBK -Dfile.encoding=GBK -Duser.language=Zh "

      先是找到如上资料,说要改JVM启动参数里的编码设置,可是我不知道在哪里改,打开catalina.sh、startup.sh等几个文件,里面的脚本代码看得一头雾水,实在找不到配置项在何处,晕,在这里到底是在哪里啊。

      后来看到个文章说tomcat经常会发生内存溢出,于是修改catalina.bat,添加如下:

  1. CATALINA_OPTS="$CATALINA_OPTS -server -Xms256m -Xmx1024m -Xincgc"  
  2. echo "Using CATALINA_OPTS:   $CATALINA_OPTS"  

 

 

      于是我若有所悟,比葫芦画瓢的套用了下,别说,嘿!居然还真是那么回事。




相关文章:

  • C#操作Excel,权限问题
  • Unable to convert MySQL date/time value to System.DateTime
  • org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 52 in XML document from
  • Extjs页面加载非常慢的处理
  • 如何将struts2中Action的默认后缀由.action改为.do
  • [SetContextPropertiesRule]{Context} Setting property 'source'
  • problem中Project'XX'is missing required library:'[路径]\XXX.jar'解决方法
  • struts2动态方法调用 无效问题
  • powerDesigner Non SQL Error : Could not load class com.mysql.jdbc.Driver
  • HttpClient 4 和 HttpClient 3 设置超时
  • tomcat的目录结构
  • struts2中改变struts.xml默认路径
  • 集成spring3、hibernate4、junit
  • 解决android开发中eclipse不能自动提示
  • 关于Eclipse出现failed to create the java virtual machine错误的解决办法
  • Angular 响应式表单 基础例子
  • CentOS7 安装JDK
  • CSS相对定位
  • interface和setter,getter
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • node.js
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • Redis中的lru算法实现
  • SQLServer之索引简介
  • TypeScript迭代器
  • Wamp集成环境 添加PHP的新版本
  • 观察者模式实现非直接耦合
  • 一个SAP顾问在美国的这些年
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (规划)24届春招和25届暑假实习路线准备规划
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (三)模仿学习-Action数据的模仿
  • (正则)提取页面里的img标签
  • (转)iOS字体
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .NET Micro Framework初体验
  • .NET Remoting学习笔记(三)信道
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境
  • [14]内置对象
  • [3D游戏开发实践] Cocos Cyberpunk 源码解读-高中低端机性能适配策略
  • [BUAA软工]第一次博客作业---阅读《构建之法》
  • [C#][opencvsharp]opencvsharp sift和surf特征点匹配
  • [codevs 1515]跳 【解题报告】
  • [daily][archlinux][game] 几个linux下还不错的游戏
  • [hive小技巧]同一份数据多种处理
  • [HTML]Web前端开发技术28(HTML5、CSS3、JavaScript )JavaScript基础——喵喵画网页
  • [JavaWeb玩耍日记]Maven的安装与使用
  • [mvc] 简单的forms认证
  • [python]使用pyqt5搭建yolov8 竹签计数一次性筷子计数系统
  • [python3] 装饰器
  • [PyTorch][chapter 66][强化学习-值函数近似]
  • [RK-Linux] 移植Linux-5.10到RK3399(一)| 搭建系统并让系统跑起来