2019-10-24 16:48
将项目中的原码,也就是两个 java 文件,copy 到你的项目中,然后按他的 demo 来,例如:
public void configPlugin(Plugins me) {
//使用配置文件
me.add(new MqttPlugin("mqtt.properties"));
//不使用配置文件
//MqttPlugin plugin = new MqttPlugin("tcp://127.0.0.1:1883", "clientId");
//plugin.setAutomaticReconnection(true);
//plugin.setCleanSession(true);
//plugin.setConnectionTimeout(10);
//plugin.setKeepAliveInterval(10);
//plugin.setManualAcks(true);
//plugin.setMaxConnections(20);
//plugin.setUserName("test");
//plugin.setPassword("test");
//plugin.setVersion("3.1.1");
//plugin.setReConnectionTimeInterval(10);
//me.add(plugin);
}
2019-10-24 10:26
通过 ActionReporter.setWriter(....) 配置一个自己的 Writer 实现,将这些信息输出到文件里面即可,大至如下:
public class MyWriter extends Writer {
public void write(String str) throws IOException {
// 这里放上输出到文件的代码
}
public void write(char[] cbuf, int off, int len) throws IOException {}
public void flush() throws IOException {}
public void close() throws IOException {}
}
最后在 configConstant(Constants me) 中配置一下:
ActionReporter.setWriter(new MyWriter());
此外,在输出到文件的同时,还可以继承输出到控制台,在 public void write(String str) 方法实现中,再添加一行代码即可:
System.out.print(str);
2019-10-23 17:59
@dplxm 你既然都能使用 tomcat 内置指定 JDK 路径来发布,为啥不在 jfinal.sh 中指定 JDK 路径呢?
修改起来简单到不能再简单,jfinal.sh 中有一个类似下面的 JDK 启动命令行:
java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} &
将其中的 java 前方添加上 JDK 的路径即可,例如:
/opt/jdk-1.8/bin/java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} &
2019-10-23 17:38
@lyq027 注意,上面的回复,更正了一下,将 #(username) 改为了 #para(username)
要注意看文档:
https://www.jfinal.com/doc/5-13
2019-10-23 17:28
@j1066783215 加密算法使用的是 JDK 中默认的,源码在这里:
https://gitee.com/jfinal/jfinal-undertow/blob/master/src/main/java/com/jfinal/server/undertow/ssl/SslBuilder.java
注意看这行代码:
KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
其中的 :
KeyManagerFactory.getDefaultAlgorithm();
就是在获取 JDK 支持 SSL 加密的默认算法
2019-10-23 17:25
tomcat 在 shutdown 的时候没有关掉 druid 与 quartz,可能是它们有 "非 deamon" 线程正在运行
信息提示 tomcat 已经强制关闭了它们,需要确定一下 tomcat 是否真的 shutdown 成功,如果成功不会造成资源泄漏,因为 JVM 退出时会回收所有资源
此外,信息中提示是 WARNING, 措辞是 "likely",也就是 tomcat 并不是完全确定
建议使用 jfinal undertow,不存在这里问题:
https://www.jfinal.com/doc/1-2
jfinal undertow 支持开发、打包、部署一体化,性能更高,不必再折腾 tomcat 下载、安装、配置这种事情
2019-10-23 16:27
最快的办法是通过升级文档:
https://www.jfinal.com/doc/14-1
然后可以下载 jfinal 的各个 changelog.txt,在官网首页可以下载到,例如:
http://www.jfinal.com/download/?file=jfinal-4.6-changelog.txt
可以通过改变文件名中的版本号来下载老版本的 changelog,现成还可以下载到 3.0 版本的,例如:
http://www.jfinal.com/download/?file=jfinal-3.0-changelog.txt
jfinal 新版本主要有两种变化:
1:添加新的功能,例如后业添加的 enjoy 模板引擎
2:对原有功能的打磨,例如性能优化、代码重构、方法改名、类改名
对于第一种变化,不会影响升级。对于第二种变化,通过对照官网的升级文档可以快速实现升级