2017-07-27 17:16
@linuxea
http://www.jfinal.com/share/299
这个例子刚好适合你说的场景 ,
如果想时时的改变, 还可以在上述例子中改写
private static String getCacheType() {
return PropKit.get("cache_type", "ehcache");
}
把 PropKit.get("cache_type", "ehcache");
改成 :
private static final ThreadLocal cache_type = new ThreadLocal();
private static String getCacheType() {
String cache_type = cache_type.get("cache_type")
return cache_type != null ? cache_type : "ehcache";
}
publicstatic String setCacheType(String cache_type) {
cache_type.set(cache_type);
}
//快捷
publicstatic String setCacheTypeEhcache() {
setCacheType("ehcache");
}
publicstatic String setCacheTypeXxxcache() {
setCacheType("xxxx");
}
外面同线程的地方 调用一下set即可了, 是不是很简单了?~ 点个赞呗~
2017-07-27 16:56
这样配置的:
ActiveRecordPlugin arp = new ActiveRecordPlugin(DbKit.MAIN_CONFIG_NAME, druidPlugin);
arp.setCache(new MyCache());
// 自己实现 接口 ICache 即可切换任何 Cache
public class MyCache implements ICache {
//.......
T get(String cacheName, Object key);
void put(String cacheName, Object key, Object value);
void remove(String cacheName, Object key);
void removeAll(String cacheName);
}
2017-07-27 16:04
@淡定007 看你 TreeNode 类的 setId 等方法 里面是怎么写的? 是 set("id", id) 还是 this.id = id 了?
2017-07-25 10:01
@hotsmile 这样实现不太好, 用注解套的太深, 不易开发和维护, 建议拆成平级的,
你可以看下 InterceptorStack 类 将多个拦截器组合成为 对外部是一个拦截器 :
public class UserSongLikeValidator extends InterceptorStack {
public void config() {
addInterceptors(new UserIdValidator());//先运行
addInterceptors(new UserSongLikeValidator();//后运行
//.... 继续
}
}
用的时候这样:
@Before(UserSongLikeValidator.class)
是不是也满足你的需求了?
2017-07-24 17:02
@xiaoaqiang 比如搜索的接口吧
String url = "http://unionsug.baidu.com/su?wd=";
String ret = HttpKit.post(url, "jfinal");
这个就是正常的表单用就行
2017-07-24 14:47
@xiaoaqiang
http://www.jfinal.com/share/236
我有功能用到了 HttpKit.post 的一种交互方式,
在 ActiveRecordPluginService管理控制 这个功能中,
你可以参考一下,
使用 & 做分割的