首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

jbpm4中不运用Spring, LazyInitializationException的处理

2012-11-13 
jbpm4中不使用Spring, LazyInitializationException的处理在使用jbpm4时, 如果没用应用spring框架, 就会经

jbpm4中不使用Spring, LazyInitializationException的处理
在使用jbpm4时, 如果没用应用spring框架, 就会经常出现LazyInitializationException.<init>:42 | could not initialize proxy - no Session 这个异常, 其实, 这个主要是hibernate懒加载造成的
解决方案一般有以下方式,
1.在相应的配置文件中配置lazy="false"
2. 在需要之前,采用Hibernate.initialize()事先加载
3. 自己写拦截器处理.
对于1,这个是很好处理的, 这里就不说了.
对于3. 这个我暂时还写不好.., 这个应该是和spring中的那个OpenSessionInViewFilter类似的.
 
对于2, 这里就给个简单的例子来做说明
比如说想, 通过historyActivityInstanceQuery得到HistoryTaskInstanceImpl,再由HistoryTaskInstanceImpl得到HistoryTask.
如果直接获取, 就会报LazyInitializationException异常.
可以通过以下方式获得



ListLoadImmediately.java
    1 楼    kuwan    2010-01-28              博主,jbpm4中流程实例结束后的变量没有存入历史变量表里,请教有什么方法可以写入历史表    2 楼    sundoctor    2010-04-09              照着做了一下,processEngine.get(CommandService.class)为null,报空指针错误,不知何解,我用的版本4.3    3 楼    sundoctor    2010-04-09              找到解决方法了,不用processEngine.get(CommandService.class),用HistoryServiceImpl.getCommandService()获取就可以。

热点排行