JiveJdon Community Forums
在线304人 Home | 论坛 | 培训咨询 | 精华 | 查搜 | 注册 | 登陆 |
首页 » 论坛 » 开源JdonFramework及其应用案例论坛
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表
???en_US.forumThreadNext.name??? 下一主题
这个主题共有 7 回复 / 1 页 [ ]  发表新帖子  回复该主题贴
hncsyilin

发表文章: 6
注册时间: 2008年02月18日 15:12
给他发消息
自定义的action的不同方法执行同一service的同一方法,结果完全不同,为什么? 发表: 2008年03月28日 15:21 回复
public class RoleManagerAction extends DispatchAction{

private final static Logger logger = Logger.getLogger(RoleManagerAction.class);

public ActionForward save(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) throws Exception
{

......
EventModel em = new EventModel(); em.setModel(hasRightAssign);
rightAssignService.delete(em);//不能更新数据库和缓存

.......
}




}

public ActionForward delete(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response){
RightAssignService rightAssignService = (RightAssignService)WebAppUtil.getService("rightAssignService", request);
.......
EventModel em = new EventModel();
em.setModel(rightAssign);
rightAssignService.delete(em);//能更新数据库和缓存
......
}
}
oojdon

发表文章: 149
注册时间: 2007年10月29日 13:55
给他发消息
回复:自定义的action的不同方法执行同一service的同一方法,结果完全不同,为什么? 发表: 2008年03月28日 17:29 回复
为什么要自己去构造EventModel?
这些完全可以交给配置文件使用jdon的增删改查模板,因为jdon的CRUD功能横跨多个层次,你自己new一个EventModel调用service出错几率很大。
hncsyilin

发表文章: 6
注册时间: 2008年02月18日 15:12
给他发消息
回复:回复:自定义的action的不同方法执行同一service的同一方法,结果完全不同,为什么? 发表: 2008年04月01日 18:29 回复
问题比较杂,jdon的CRUD功能实现不了这样复杂的操作
banq

发表文章: 9114
注册时间: 2002年08月03日 17:08
给他发消息
回复:自定义的action的不同方法执行同一service的同一方法,结果完全不同,为什么? 发表: 2008年04月02日 09:21 回复
需要手工清除缓存:
modelManager.removeCache(k**Value);

其实可以使用服务命令调用模式,就不必写这个Action了,不论多复杂,只要搞清头绪,就可以使用下面服务命令调用模式实现:

1.你只要将hasRightAssign建立成一个Model,或者放入一个Model中。
2.建立service :
public interface TestService{
……
void xxxxx(EventModel em);//注意,方法参数必须统一为是EventModel
……
}

3.配置jdonframework.xml
<model k**="primary k** of your model主键" class ="你的model类">
<actionForm name="aForm"/>
<handler>
<service ref="testService" /> <!-- 指定对应的接口Service名称 -->
</handler>
</model>
<pojoService name="testService" class="com.jdon.framework.test.service.TestServicePOJOImp"/>
4.配置Struts-config.xml
<action path="/aaa" type="com.jdon.strutsutil.ServiceMethodAction"
name="aForm" scope="request" validate="false">
<forward name="xxxxx" path="/xxx.jsp"/>
</action>
5.这样你就可以使用http://localhost:8080/aaa.do?service=testService&method=xxxxx调用了
oojdon

发表文章: 149
注册时间: 2007年10月29日 13:55
给他发消息
回复:回复:自定义的action的不同方法执行同一service的同一方法,结果完全不同,为什么? 发表: 2008年04月02日 13:02 回复
>>不论多复杂,只要搞清头绪,就可以使用下面服务命令调用模式实现
做框架的人必须要前瞻到当框架遇到复杂问题的时候应具备优雅的处理方法。建议banq老师在文档中除了简单对象的CRUD演示外再加上具有对象关系的模型CRUD演示,网站上的Struts_jdon_hibernate算是一个具有对象关系的模型CRUD演示,可是从使用的反馈来看还存在很多问题,比如Hibernate已经具备两级缓存,Jdon又在持久层框架外面加了一层缓存,怎么简单的管理同步?
Jdon框架的产品级应用是JiveJdon,但不是每个人都会来看JiveJdon的源码。框架应用在解决复杂问题的时候可能会被埋怨为什么这个问题不好处理,其实问题处理方法在JiveJdon中。
[该贴被OOjdon于2008-04-02 13:06修改过]
banq

发表文章: 9114
注册时间: 2002年08月03日 17:08
给他发消息
回复:回复:回复:自定义的action的不同方法执行同一service的同一方法,结果完全不同,为什么? 发表: 2008年04月02日 19:05 回复
>Jdon又在持久层框架外面加了一层缓存
Hibernate就是启动二级缓存,每次批量查询时,还是要查询数据库的,不信你看看输出,而是要Jdon框架后,彻底杜绝了数据库访问,Jdon框架对多页面的数据ID进行了缓存。

Jdon缓存可以和Hibernate合用缓存,也可以设置为EHcache,两者不一样时,Jdon缓存更靠界面前端。

刚刚放上Struts+jdon+hibernate开发视频,非常类似grails的快速开发:
http://www.jdon.com/jdonframework/jdonMovie.htm
hncsyilin

发表文章: 6
注册时间: 2008年02月18日 15:12
给他发消息
回复:回复:回复:自定义的action的不同方法执行同一service的同一方法,结果完全不同,为什么? 发表: 2008年04月07日 18:03 回复
服务命令调用模式实现的话,就得在一个service中调用多个其它的service,且这里有递归调用,这种方式只能使问题处理起来更复杂,service层交叉得更多,从松散的要求来说,不符合要求
banq

发表文章: 9114
注册时间: 2002年08月03日 17:08
给他发消息
回复:回复:回复:回复:自定义的action的不同方法执行同一service的同一方法,结果完全不同,为什么? 发表: 2008年04月09日 09:36 回复
使用服务命令调用模式不一定会发生service层交叉。

发生service层交叉,是因为我们将很多业务功能都放在Service中了,而应该将这些业务功能从Service中剥离出来,Service层就是一层很薄的涂料,类似装饰模式,不应该很厚的。这其实就是Evans DDD建模设计要求的。
这个主题有 7 回复 / 1 页 [ ]
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表    返回页首  返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Spring Struts
查询本论坛内 回复超过的热门帖子
快速发表回复
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
 

解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com

anti spam