2017-09-29 14:32

@JFinal 嗯嗯 谢谢波总的指点 。其实也知道Jfinal的扩展机制的,只是当时不知道怎么使用我自己扩展的MyTokenCache 后面看源码才发现是在constant里面set的。

2017-09-28 10:13

@谢谢各位的回复!这个问题我已经解决了,写了一个类MyTokenCache实现ITokenCache接口。然后再configConstant(Constants me){} 方法中 me.setTokenCache(new MyTokenCache());
下面是MyTokenCache 类的全部代码。有写的不恰当或需要优化的地方,烦请指出!
public class MyTokenCache implements ITokenCache {

private static final String CACHE_PREFIX = "myToken:";

@Override
public void put(Token token) {
if (null != token) {
Long expirationTime = (token.getExpirationTime() - System.currentTimeMillis()) / 1000;
ToolCache.set(CACHE_PREFIX + token.getId(), token, expirationTime.intValue());
}
}

@Override
public void remove(Token token) {
if (null != token) {
ToolCache.remove(CACHE_PREFIX + token.getId());
}
}

@Override
public boolean contains(Token token) {
return null != token && token.equals(this.get(token.getId()));
}

@Override
public List getAll() {
Set keys = ToolCache.getKeys(CACHE_PREFIX + "*");
if (keys != null) {
List list = new ArrayList<>();
for (String key : keys) {
list.add(ToolCache.get(key));
}
return list;
}
return null;
}

/**
* 获取单个token
* @param tokenId tokenId
* @return Token
*/
public Token get(String tokenId) {
if(StrKit.notBlank(tokenId)) {
return ToolCache.get(CACHE_PREFIX + tokenId);
}
return null;
}

2017-09-27 16:36

现在问题是后台是集群部署的 几个tomcat容器 放session肯定会出现取不到的情况的。其实我想知道就jfinal先有的代码来说,稍微扩展下就能实现就好了。不行的话,还不如我自己全部重写来的快。

2017-08-19 14:21

@JFinal 波总 升级3.2之后 为什么 Holder.ORDER_BY_PATTERN.matcher(sql).replaceAll("")会有这个。。我的sql语句中包含order by ,执行这个之后就把我的order by 替换了。就会报错的

2017-08-19 14:09

@JFinal 波总 顺便在问一下。现在有格式化sql 的功能吗?想去掉sql模板中的换行符。

2017-08-19 13:10

好的。谢谢波总!

2017-08-19 12:35

问题解决了 上面的写法可以的。原因是我在resources下的sql文件没有编译到classes下面。谢谢波总!!!

2017-08-19 12:21

我刚才按照您的方法试了下,提示我sql文件找不到的。我现在项目情况是这样的。我要把所有的sql文件放在xx_core.jar 下的resources 下面 。我现在按照你的提示是这样写的:
arp.getEngine().setSourceFactory(new ClassPathSourceFactory());
arp.addSqlTemplate("sql/system.sql");
但是这样还是读取不到system.sql文件。另外 我的模板引擎用的是freemarker、我并没有设置engine.setBaseTemplatePath(null) 。这个有影响吗?

2017-07-31 21:31

@老贲 这是我项目中的写法 确保你的jfinal版本是3.0及以上 public static void main(String args[]) {
String webPath = System.getProperty("user.dir") + "\\xxx\\src\\main\\webapp";
JFinal.start(webPath, 9999, "/");
}

2017-04-10 14:33

@JFinal 谢谢波总,先这样解决了!期待3.1的发布啊!!!

2017-04-10 14:06

@JFinal 那这个baseSqlTemplatePath在每个人的电脑上都要修改一下了?

2017-03-07 16:25

@JFinal 说错了,我想看看升级的日志文档,就是3.0升级的功能,不是3.0的手册