workflow的两个问题解决

不能根据Hibernate映射文件生成数据库——用SchemaExport生成数据库的时候,DOM4J报错“org.xml.sax.driver”系统属性没有设置。查看了一下,在以往的任何一个项目中,这个系统属性都没有设置,但都可以生成数据库,不知道为什么在这里就不行了。自己动手给SchemaExport做了个包装,先设置org.xml.sax.driver系统属性值为org.apache.xerces.parsers.SAXParser,再调用SchemaExport。
 
执行速度巨慢——是因为没有开启工作流工厂的缓存。在osworkflow.xml定义文件中加上<property key="cache" value="true" />,速度明显提高。第一次加载工作流定义时,XML解析和验证(validation)费时较多,改用JDOM解析(CrimsonDOMAdapter),有所加快。
 
用Hibernate持久化时,OSWorkflow要求client提供SessionFactory,然后自主控制session和transaction。我计划将它纳入G-Roller框架,直接向HibernateWorkflowStore提供SessionAdapter,仍然用G-Roller统一管理session和transaction。首先要把核心部分的单元测试补起来,hani这个家伙从来不爱写测试,偶尔写几个也是sample一样的,估计是OpenSymphony公司给他下的任务——就像我的文档任务一样。

你可能感兴趣的:(Hibernate,数据库,workflow,session,validation,单元测试)