同步操作将从 Java精选/Ebooks 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
Spring项目非Spring Boot项目借助Tomcat启动war包来启动项目,通过注解的方式配置定时任务。
1、在spring-mvc.xml的配置文件中添加约束文件:
xmlns:task="http://www.springframework.org/schema/task"
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.2.xsd
2、配置注解驱动
<task:annotation-driven />
3、添加注解的扫描包
<context:component-scan base-package="com.jingxuan" />
4、定时任务代码
package com.jingxuan;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class JingxuanTask {
@Scheduled(cron = "0/5 * * * * ? ") // 间隔5秒执行
public void task() {
System.out.println("----定时任务开始执行-----");
//执行具体业务逻辑----------
System.out.println("----定时任务执行结束-----");
}
}
Java中UUID依赖于SecureRandom.nextBytes方法,而SecureRandom又依赖于操作系统提供的随机数源。在Linux系统下,它的默认依赖是/dev/random,而这个源是阻塞的。
主要原因是nextBytes方法是一个被synchronized关键字修饰的方法,也就是说如果多线程调用UUID,生成速率不升反降,解决这个问题需要修改java的默认随机生成规则就可以。
打开$JAVA_PATH/jre/lib/security/java.security文件,找到下面的内容:
securerandom.source=file:/dev/random
替换成
securerandom.source=file:/dev/./urandom
方式一
File->Settings->Build,Excecution,Deployment->Build Tools->Maven->Ignored Files
查看是否存在maven pom被勾选,去掉勾选即可。
方式二
右键项目pom.xml文件,选择“add as maven project”,自动导入pom所依赖的jar包。
刷新Maven配置
右键单击项目,在弹出菜单中选择Maven->Reimport菜单项。IDEA将通过网络自动下载相关依赖,并存放在Maven的本地仓库中。
或者将Maven的刷新设置为自动,单击File|Setting菜单项,打开Settings选项卡,在左侧的目录树中展开Maven节点,勾选Import Maven projects automatically选择项。
Spring Boot项目中集成了thymeleaf模版引擎本地正常运行没任何问题,但是放到Linux系统后出现访问页面报500的问题。
分析原因:可能是thymeleaf模板引擎解析找不到模板路径导致的问题。
例如controller层返回url中出现有大写,文件名config.html,路径写成了device/Config,在window下启动项目时可能可以正常访问页面,但是在Linux系统时必须与文件名一致,还有就是前面不要加/,否则也会报500的问题。
1)按键盘WIN+R键,打开后在运行框中输入“CMD”命令,点击确定。
2)在CMD窗口,输入“netstat -ano”命令,按回车键,即可查看所有的端口占用情况。
3)找到本地地址一览中类似“0.0.0.0:8080”信息,通过此列查看8080端口对应的程序PID。
4)打开任务管理器,详细信息找到对应的应用PID(若不存在通过设置可以调出来),右键结束任务即可。
Tomcat可以多个同时启动,但需要修改server.xml配置文件的端口号。
修改%TOMCAT_HOME%\conf下的server.xml配置文件
第一个: 修改http访问端口(默认为8080端口)
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
将8080修改为第一个tomcat不在使用的端口号。此处所设的端口号即是访问web时所用的端口号。
第二个: 修改Shutdown端口(默认为8005端口)
<Server port="8005" shutdown="SHUTDOWN">
将8005修改为没有在使用的端口号。
第三个: 修改8009端口
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
将8009修改为没有在使用的端口号。
在Linux中通过locale来设置程序运行的不同语言环境,locale由 ANSI C提供支持。locale的命名规则为_.,如zh_CN.GBK,zh代表中文,CN代表大陆地区,GBK表示字符集。
修改 /etc/locale.conf文件的内容
LANG="zh_CN.UTF-8"
执行命令,使修改文件立刻生效
source /etc/locale.conf
这是由于时区问题导致,首选设置MySQL时区为中国。
需要注意的是MySQL重启后就会恢复默认:
set time_zone='+8:00';
url连接MySQL数据库的时区要和MySQL服务的时区一致,配置参数如下:
characterEncoding=utf-8&serverTimezone=UTC
Spring Cloud Config使用SSH连 GitHub报错:
JSchException: Auth fail
可以使用命令生成公钥来解决GitHub报错问题,举例如下:
ssh-keygen -m PEM -t rsa -b 4096 -C "java精选@qq.com"
mysql5.7插入中文字汉字时报java.sql.SQLException: Incorrect string value: '\xE5\xB0'异常。
原因:由于默认情况下,mysql的字符集是latin1(ISO_8859_1),注意此时包含库、表、字段,建表时指定编码格式也会失效。
解决方法
1、查看库、表、表字符字段编码格式
SHOW CREATE DATABASE kepler; //查看库字符集
SHOW CREATE TABLE kepler.statis;//查看表字符集
SHOW FULL COLUMNS FROM kepler.statis; //查看字段编码
2、修改库、表、字符字段编码格式
ALTER DATABASE kepler DEFAULT CHARACTER SET utf8; //修改库字符集
ALTER TABLE kepler.statis CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; //修改表及字符字段字符集
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。