|
我使用域事件来处理对象模型之间的关联关系,比如A对象中有B对象的一个列表,也就是说A和B是一对多的关系 public A{ private String modelId; private List<B> blist; private getBlist(){ if(B == null && BModelDevt != null && this.BId != null){ E..[...]
Threaded vs Evented Servers 在服务器端,目前共有两种方法处理并发请求: (1)Threaded线程类服务器是使用多个并行线程来处理请求,每个线程处理一个客户端请求,典型的是J2EE或JavaEE服务器。 (2)Evented事件类服务器则是循环运行一个事件,用来处理所有连接客户端信息。 线程类服务器受限于CPU和线程界限,而事件类服务器并不受限于线程方面约束,..[...]
请教jf最新版本下载地址, 我想用新版的这个WebAppUtil.getService(serviceName)方法 我已经找了svn http://www.jdon.com/svn/jdonframework/ 及 JiveJdon -4.1.zip 都没看见有那个方法呢? 实在没办法,发帖求助 [...]
阅读本贴之前请先阅读如下几个帖子 Domain Event 救世主 Domain Event 异步 应用 DCI架 智能领域对象设计 领域对象应该有丰富的业务行为,它们不应该感知技术环境,技术环境应该为domain服务,domain对象还可能在不同场景里面表现出不同的行为和具备相关场景属性,所以jdon做的是在挑战传统ssh编程模式,ssh被banq喻为模型层的汇编语言,下..[...]
请教没有request的时候,如何从jdon容器里获取一个bean; 我想做一个bean工厂,只要提供bean的名字即可返回一个对象 [...]
最近在项目中使用域模型事件来实现model的懒加载,刚开始在moel类Organization中按照jdon文档的步骤,创建域事件,创建事件监听类,在model中设置注入对象,可以实现事件的 依赖注入 ,后来用同样的方法在另一个类Custom中创建,当运行到该类的属性获取方法getXingzhiText()时,发现需要注入的事件对象classifyValueDomainEvents 为null..[...]
做过很多项目,基本上是所谓的"事务脚本",没有什么域模型。自从知道了jdon网站后,感觉像进了宝库一般。但看了很多banq的帖子,说实话,很多看不懂。可能是领域设计方面的知识欠缺。 下载了jdon的资料,里面有个案例:Account中一个计算该用户发帖总数字段messageCount。banq大哥给出的方案是CQRS,涉及的类有:UserModel,UserDomainEvents,..[...]
开始这个项目的目的是找出我的那个小巧 REST ful框架的不合理之处,准备深入实践运用 REST ,DDD,DCI,CQRS,NOSQL,EDA等思想。 探索 DCI 是否可以植入框架,DDD中的领域模型是否可以直接暴露为资源Resource,实践非贫血模型,分布式计算。 项目会在基本的功能完备后开源出来,部分代码将直接使用当前的 JiveJdon 。 论坛UI基于Jforum..[...]
学习 Jdonframework 和jaas,自己配置的权限控制,共享下 1、建立struts访问页面 login.jsp 登录页面,填写用户名和密码登录 //login.jsp <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ ta..[...]
先祝大家51快乐! 关于 Jdonframework -6.2.2一个疑问 我学习jdon的一个例子Jdonsample 模型 message 原来是继承 com.jdon.controller.model.Model的 public class Message extends Model 测试没发现问题 后来我改成 使用注解的形式 @Model public class Me..[...]
使用jdon+hibernate+struts开发的一个小系统,使用了c3p0连接池。 在系统启动的时候报这样子的错误: 2010-04-22 08:36:04,054 [TP-Processor3] FATAL org.hibernate.connection.C3P0ConnectionProvider - could not instantiate C3P0 connection pool ..[...]
1、下载jdonframwork的源码包和jboss6的源码包 2、配置jboss6的 Jdonframework 环境,参见详细文档 http://www.jdon.com/jivejdon/thread/38522 3、打开eclipse,将jdonframwork的tesweb示例导入进项目 4、配置tesweb项目,是项目可以编译成功,编辑tesweb的引用库,确保库路径正确,打开b..[...]
这是一个结合 DDD 领域建模的Spring 3.0 + JTA + JPA + JMS案例实现,包括详细源码和配置,JMS的MDB接受到消息后,调用服务OrderService,负责将订单持久化: Spring + JTA + JPA + JMS 个人评点:目前JEE架构属于构件驱动,或者称为面向构件架构,案例中的领域模型Order是一个贫血模式,只有setter和getter方法,没..[...]
下载 Jdonframework 6.2 后云行里面自带的tesWeb 例子,在页面点击"提交查询"后报500错误,java.lang.NullPointerException 然后查看log4j 记录的日志如下: 2010-04-09 18:19:45,015 [httpSSLWorkerThread-80-1] ERROR com.jdon.container.access.User..[...]
我需要一个能架在 Jdonframework 上用的 REST ful框架,它必须足够的小巧精致,让我可以随心所欲的定制和改写,当前java世界里面的很多 REST ful框架都不能满足我的要求,比如play,vraptor3以及国内的jrest4guice,它们都太大了,于是我开始制造我的轮子,一个深度集成 Jdonframework 的小巧 REST ful框架,开发过程中..[...]
JF框架上中的经典用法 public PageIterator getAllUsers(int start, int count) throws Exception { String GET_ALL_ITEMS_ALLCOUNT = "select count(1) from fd"; String GET_ALL_ITEMS = "select fdid from fd order by..[...]
当设计并发策略时,要将 "what做什么"和 "how怎么做"进行分离, Prefer Futures to Baked-In "Async APIs" 一文介绍了如何使用语言的并行API通过 异步 来实现这点。 普通同步性质的方法如下: RetType DoSomething( InParameters ins, OutParameters outs ); ..[...]
定义一个service @Service("formRepository") public class FormRepository { //....some code } 调用 WebAppUtil.getService("formRepository", (HttpServletRequest)request);出现如下异常: net.sf.cglib.empty.Object$$Enh..[...]
我们把从前用PHP开发的一些程序用JF改写了一次,经过艰难但不痛苦的过程,有部分已经成功应用于生产环境。现在有个问题提上日程,WAR之间服务调用如何处理。 因为JF的快速开发及 OO 的设计让我们可以快速响应客户的要求。功能会越来多。在JAVA环境下,我们是把程序打包成WAR下,未来会用EAR,但是不同功能的功能如果打包在不同的WAR中的话,如何互相调用呢?因为我们是从PHP转过来的。这个问题..[...]
今天在学习JF5.5,看到几乎都是PUBLIC的类。这一点我很迷惑,很多开源框架应该只暴露很少的公共接口才对。还有各个包之间的引用似乎很多。。。一些类还很相似,应该可以重构吧,虽然他们的业务意义不一样。[...]
最近正在拜读JDON源代码.觉得UtilCache类中volatile变量的处理有待商榷. get方法中直接使用hitCount++来更新hitCount变量. 大家都知道, ++的运算符包括3个步骤:读值->运算->保存. 在多线程情况下, 更新可能失败.建议可以用下面方法替换hitCount++ ? private synchronized long incrementHitC..[...]
Domain Events领域事件定义见这里 Domain Events – 救世主 ,领域事件可以实现领域业务模型与技术架构之间的松耦合,达到实现类似 DCI架构 同样效果。 DCI是通过设定一个场景对象,让与这个场景有关的功能在场景中混合实现,注入参与者角色和参与模型;而领域事件则是通过松散的事件达到场景目标,不同场景对应不同领域事件。下面以 JiveJdon 实例说明领域事件应用。 ..[...]
就拿这个论坛来说,论坛的帖子分页是如何 缓存 的,如果 缓存 中是以实体ID作为标识的,那么分页查询是不是先查询出这一夜所有的帖子的ID,然后再去 缓存 中差,这样的话效率是不是有点低啊,如果是把查询的条件 缓存 的话,那命中率有太低了,而且如果论坛中的帖子一有更新,缓存都要清楚,这样如果在分布式 集群 中效率不是很影响cpu的开销。 即使用散列的方式把论坛每个..[...]
受Qi4j Baston和javAte等 DDD 框架鼓舞,JdonFramework 6.2全新登场,该版本进行了重大改进,将Domain Events作为重点架构引入,做到容易使用,架构可伸缩等特点,使Jdon框架向真正 DDD 框架又迈进一步。 当前 DDD 实践领域达成一个共识:领域模型应该和技术架构无关,至少是非常松耦合,那么领域模型如何指挥技术架构为其业务逻辑服务呢? ..[...]
在Evans DDD 实现过程中,经常会碰到实体和服务Service以及Repository交互过程,这个交互过程的实现是一个难点,也是容易造成失血贫血模型的主要途径。 因为实体的业务方法需要和服务或Reposirtoy打交道,如果把这个业务方法放入服务,就容易造成实体的贫血;但是如果把服务注射到实体中,也非常丑陋。这里提出一个中间处理模式:Domain Event,领域事件模式,这个模式..[...]
请教一下,在jdon中对db的 事务 是怎么支持的? 这个在项目开发时,是不是需要自己写处理, 问题很弱,希望大概指点一下思路即可, 谢谢 [...]
融合IOC + OSGI + REST + 异步 HTTP。 这四个架构是当前热点,都是组件构件领域最先设计,如何把它们揉合在一起,形成一个轻量的方便使用框架,以下是我目前想法,欢迎大家讨论: 框架内部: 1. 将资源或服务以URI为名称注册到OSGI中。 2. 注册URI资源之前,首先要注册 异步 Http服务,可以挑选MINO xHttp等。 3. 注册总类如下,将上述两..[...]
网站提供的这个struts_jdon_hibernate3_TEMPLATE例子 默认连接的的MYSQL数据库 我想改成oracle 请高手指教一下应该如何修改hibernate.cfg.xml配置文件 以及所要的驱动程序 谢谢[...]
之前我发过一个帖子,见http://www.jdon.com/jivejdon/thread/36736.html 弄了N久,终于弄明白了. 问题是could not initialize proxy - no Session,我一直以为是CloseSessionInViewFilter出了问题,导致还没到View层Session就关闭了,后来发现不是这个原因,真正的原因是Jdon的 缓存 和..[...]
用 Jdonframework +hibernate做批量分页查询. 继承ModelListAction,实现它的两个方法.可以分页查询. 现在我的问题是,我想给查询加一些条件,比如,User的性别是男的,年龄大于15,这应该怎么做啊 怎么办啊. 谢谢了 [...]
------------------------------------------ 懒加载功能可以大幅度提高Hibernate关联性能(前提是基于 DDD 分析设计),是Hibernate必须使用的功能,但是单纯使用Hibernate却无法激活懒加载,致使很多人关闭懒加载lazy="false"。 ------------------------------------------ 1.Ba..[...]
使用Jdon框架6.0开发应用将变得异常简单,甚至无需XML配置文件,只需要两步: 第一步:将存在依赖关联关系的两个类用@Service或@Component(两者性质一致)标注: @Service("helloService") public class HelloServiceImpl implements HelloService .. @Component public class ..[...]
示例中有如下一段代码 public class TestServicePOJOImp implements TestService, Poolable{ private JdbcDAO jdbcDao; public TestServicePOJOImp(JdbcDAO jdbcDao) { this .jdbcDao = jdbcDa..[...]
背景: 最近下载了SimpleJdonFrameworkTest,想将testWeb.war按照readm_cn.txt的说明部署到tomcat下测试运行一下,结果发现当部署到tomcat-5.0.28时,运行http://localhost:8080/testWeb,结果页面没有显示任何记录,点击“Add”,增加的记录也不能成功,后台日志显示ERROR,"Cannot create JDBC d..[...]
我看了下jdon使用hibernate的源码,好像是不需要 事务 的方法,比如读取一个数据,也会打开 事务 ,这样就白白浪费了性能,不像spring可以配置propagation = Propagation.NOT_SUPPORTED(不打开 事务 ),请问我说的对不对呢 [该贴被admin于2009-03-25 08:42修改过][...]
jdon里面的cache是怎么实现的? 看到是:Map cacheKeyMap = new ConcurrentHashMap(); 但是最后map 是放到哪里了呢?httpsession里面嘛? 以前好像见过: 当更新数据的时候我们可以发两条指令:第一条,就是跟新db里面的数据。第二条,跟新cache里面的数据。以使得db和cache里面的数据达到一致,到我们查询的时候可以直接到cache里..[...]
请教banq,如题: 这两天参悟 Jdonframework 框架中批量分页查询的源码, 看到CacheManager中有一个Map<String,String> cacheKeyMap的变量,不知这个的作用是什么? 我看到cache中存放的是CacheableWrapper的变量,不知这些是要做什么?目的是?[...]
在发布的文档里写的很多。 只要我们在 Jdonframework .xml中再配置一个JdbcDAO类,概时框架就会自动帮我们创建JdbcDAO实例,并且传入TestServicePOJOImp实例中。 例子如下: TestServicePOJOImp有一个构造参数如下: public TestServicePOJOImp(JdbcDAO jdbcDao) { th..[...]
OOJDON的“Tomcat环境 JiveJdon 原始版”(jivejdon3.0),运行在Tomcat6上,我们的环境及应用大部分是在Tomcat5.5.26环境下,经过修改配置文件,目前已经能正常运行(JDK1.6)。配置方法如下: 1. copy lib-additional\*.jar to ${catalina.home}\common\lib files list : ..[...]
刚才浏览了Jdon的开发步骤,觉得这个框架的侵入性太高了,程序对框架的依赖性比较强,个人觉得不太适合,比如,很多类都要继承或实现框架中的类或接口,那么写的程序脱离了框架还能有很好的扩展性吗?[...]
一直在这里,一直却没有找到JDon的Licene说明。问一下Banq兄,JDon可以直接用于商业吗? JDon通过了我们所有测试(实际测试,在没有持久层的情况下,我们的环境中,性能超过Spring)。 于是,计划针对JDon开发一套开发插件,并且作为公司中小项目的开发平台。计划如下: 只关注JBoss4/5(我比较好奇能否运行在Glassfish上),我们的开发工具是在Netbeans平台..[...]
JF的LoginServlet.logout方法 private void logout(HttpServletRequest request, HttpServletResponse response){ Debug.logVerbose( "[JdonFramework]logout, session.invalidate " , module); ..[...]
我想用 EasyJWeb+Jdon+db40 做一个轻量级的项目(就是一个班级管理系统,并想加入一些有新意点的功能),主要是实践一下自己软件开发的思想,不知道这样的组合是否可行???用国内开源的EasyJWeb代替Struts,Jdon代替Spring,再加上面向对象的开源数据库db4o抛开Hibernate。不知道开发效率会怎么样……都大三了,从高中毕业后开始学习程序设计(严格来讲到大二下半个学..[...]
JdonFramework 5.5版本经过严格的并发性能重构和测试,解决了以往框架中可能存在的内存泄漏漏洞,使用ThreadLocal以及java.concurrent等JDK5.0以上新的并行功能,增强了并行计算能力。 5.5版本经过并发性能重构后,可支持严酷的并发访问压力,结合 JiveJdon 3.5测试表明:可支持10分钟内数万不同客户端发出的请求,测试样本见 JiveJdon ..[...]
默认的 事务 边界是延伸到了表现层渲染之后,如果我想把数据库 事务 完全控制在业务层的话,如下代码: public void createTopicMessage(EventModel em) throws Exception { logger.debug( " enter service: createMessage " ); ..[...]
我看jdon里面配置service的时候依赖一些component的时候,并没有指明依赖那个component呢, 如:<pojoService name="accountService" class="com.jdon.jivejdon.service.imp.account.AccountServiceImp"/> 然后我看代码: public AccountService..[...]
没有查过“代码冗余”的准确定义,姑且理解为多余的代码吧! jivejdon的学习我已经持续很久了,获益良多,希望更多的道友来一起学习,一起进步。 不过最近一直有一个疑惑,jivejdon代码中关于权限似乎存在一些多余代码,权限是一个切面,我们的服务组件比如ForumMessageShell完全可以权限不可知,但是 JiveJdon 中关于权限似乎还是渗入到了业务组件,有了JAAS的url拦截,..[...]
jivejdon我已经成功让它跑在了tomcat6.0里面,方法是去掉原来的 事务 代码,然后自己写一个JAAS,正准备打包发出来共享的时候,一个错误开始折腾我---------权限拦截器不起作用。后台日志清楚的告诉我容器没有理睬myaspect.xml文件,郁闷!! 于是我在案例testWeb里面尝试写一些拦截器放在myaspect.xml中,部署到tomcat中,不出所料容器没有注册这些..[...]
登录如果做成jdon for jpetstore那样,做一个AccountForm的话 还要用到XmlModelHandler来做初始化工作,并且也是session的生命周期.前台后台都要做处理 如果登录做成一个有态的服务,就像是购物车 并且implements SessionContextAcceptable. 登录成功的话就设置这个有态服务的SessionContext。 这样的方式是否可..[...]
|