2019-10-15 15:11

@JFinal 经过实验得到如下结论:
quartz.properties 中 配置jobStore存储方式一般有两种配置方式;
第一种:org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX 。 通常是存储到数据库中(还需要配置,数据库链接,驱动等或者使用自定义的provider来支持)。
这种情况下,在service中 无法使用DB. DbKit, 他们都是空。JFnal.me也是原始未初始化状态。原因不明。
第二种: org.quartz.jobStore.class: org.quartz.simpl.RAMJobStore 。 在内存中存储。
使用该方式,那么在注入的service中的 Db 等均可以正常使用。(其他地方均无任何变动)
由于对于 quartz 了解不是特别深入,出现该问题的原因不明确。不知道@JFinal 是否了解?

2019-10-15 11:19

@JFinal https://www.oschina.net/question/374_123098?sort=time 是这个同样的问题。没找到解决方案。

2019-10-09 22:22

是不是和反射动态创建的实现类有关

2019-09-30 21:35

@JFinal Jetty的这个功能现在是不是不支持了?undertow 通过undertow.resourcePath 配置1个web module没啥问题,2个以上 web module 我测试是有问题找不到后续的。

2019-09-30 11:05

@JFinal 也是按照import引入的,也是在 undertow.txt中配置了多个路径。 跟踪 ResourceManagerBuilder() 代码 也发现 最终 ResourceManager 中是 有多个路径地址的,但是还是出现该问题。这里具体要跟踪 到 什么代码中 检查比较好?

2019-09-29 17:05

@JFinal 这个文档有研究过,也正是按照,他的配置方式配置的。但是我这个是多 web模块。试了下不行。是需要把多个web下的 静态资源合并才可以吗?

2019-09-29 16:53

纯文本可以renderText, html可以renderHtml,文件可以renderFile,看你需求。

2019-09-28 15:27

@JFinal
我现在用的就是4.5;
的确只需要
1.添加上me.setProxyFactory(new CglibProxyFactory());
2.maven引入 cglib的 依赖之后,就没问题了。
但是去掉上述两项就报错,出问题。感觉还是jfinal的 proxy 应该是有问题的,无法完全代替cglib
另外:我在DemoConfig中 @Inject的 service中 还有 @Inject注解的 其他service类属性。

2019-09-28 14:36

@JFinal 是的换成cglib 就可以了,那么在就4.2 版本 干掉这唯一的第三方依赖, cglib的时候,是否还有类似不完善之处。后续是否升级?

2019-09-28 14:03

@JFinal 经过debug跟踪,最终发现是在com.jfinal.prody.ProxyClassLoader 类的

public Class loadProxyClass(ProxyClass proxyClass) {
for (Entry e : proxyClass.getByteCode().entrySet()) {
byteCodeMap.putIfAbsent(e.getKey(), e.getValue());
}

try {
return loadClass(proxyClass.getPkg() + "." + proxyClass.getName());
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}

return loadClass(proxyClass.getPkg() + "." + proxyClass.getName()); 这里报错了。

2019-09-28 13:42

@JFinal 报错内容 和这个帖子http://www.jfinal.com/feedback/5985,很像。但是这个帖子貌似也没解决方案

2019-09-28 13:39

@JFinal 几种方式都试过了,还是不行。之前版本使用 Duang.duang(Service类) 来创建的时候是没有问题的,升级4.5 修改成@Inject 之后就不行了。貌似现在4.5改回去Duang.duang 也不行了。