如题,我做完后开源。把所有复杂都集成进去acegi等。。
希望哪位大哥能给个如题的小例我。。
希望大家顶一下。

解决方案 »

  1.   

    一个spring整合jbpm的例子:
    http://www.javaeye.com/topics/download/6cc3d8db-6883-3724-b3c6-00a564da1592
      

  2.   

    有的话也给我送份谢了
    [email protected]
      

  3.   

    在此请求哪位大爷能给个hibernate+spring+struts2.0+jbpm4.0、
    我在这里谢谢了
      

  4.   

    手工将SessionFactory放入jBPM4中。第1步:更改jbpm.spring.default.cfg.xml配置文件,将下面的部分注释掉<!--  
    <hibernate-configuration> 
    <cfgresourcecfgresource="jbpm.hibernate.cfg.xml"/> 
    </hibernate-configuration> 
     
    <hibernate-session-factory/> 
    --> 
    注释的部分是在jBPM4中创建了sessionFactory,而我们只需要一个sessionFactory。既然要将jBPM4与Spring的整合,那就希望由Spring来统一管理sessionFactory和事务,在Spring的配置文件中构造一个sessionFactory。ProcessEngine是jBPM4的Facade模式,一切由它与外部交互,第2步:在Spring配置文件中写一个bean:<beanidbeanid="processEngine"class="com.family168.jbpm.ProcessEngineFactoryBean"> 
    <propertynamepropertyname="sessionFactory"ref="sessionFactory"/> 
    </bean> 
    第3步:在ProcessFactoryBean中注入SessionFactory:publicvoidsetSessionFactory(SessionFactorysessionFactory){  
    this.sessionFactory=sessionFactory;  

    第4步:在ProcessFactoryBean中创建一个SpringConfiguration,然后将sessionFactory放入SpringConfiguration中,再从SpringConfiguration得到processEngine,代码如下:publicvoidafterPropertiesSet(){  
    SpringConfigurationcfg=newSpringConfiguration(jbpmConfigurationLocation);  
    cfg.setApplicationContext(applicationContext);  
     
    cfg.setSessionFactory(sessionFactory);  
    this.processEngine=cfg.buildProcessEngine();  

    然后我们的工作就可以开展了,可以从processEngine得到所有的service。比如:ProcessEngineprocessEngine=(ProcessEngine)ctx.getBean("processEngine");  
    RepositoryServicerepositoryService=processEngine.getRepositoryService();  第2种:获得Hibernate的SessionFactory。第1步:与第一种方式的第1步一样。第2步:更改jbpm.tx.spring.cfg.xml配置文件:将<standard-transaction-interceptor/>改成<spring-transaction-interceptorcurrent="true"/>然后将<transaction/><hibernate-session/>改成<hibernate-sessioncurrent="true"/>这部分修改是将jBPM4创建的spring事务和hibernate的session改成从当前的ThreadLocal中获得session和事务。第3步:在Spring配置文件中写bean,processEngine和template:<beanidbeanid="jbpmConfiguration"class="org.jbpm.pvm.internal.cfg.SpringConfiguration"> 
    <constructor-argvalueconstructor-argvalue="jbpm/jbpm.cfg.xml"/> 
    </bean> 
     
    <beanidbeanid="processEngine"factory-bean="jbpmConfiguration"factory-method="buildProcessEngine"/> 
     
    <beanidbeanid="jbpmTemplate"class="com.family168.jbpm.JbpmTemplate"> 
    <propertynamepropertyname="processEngine"ref="processEngine"/> 
    <propertynamepropertyname="dataSource"ref="dataSource"/> 
    </bean> 
    processEngine直接使用factory-bean指向jbpmConfiguration,也就是org.jbpm.pvm.internal.cfg.SpringConfiguration,并从SpringConfiguration的buildProcessEngine中获得。jbpmTemplate主要是控制事务,在processEngine外面创建事务,这样使用的时候会先调用jbpmTemplate,再调用processEngine,否则它会说事务没有启动。在jbpmTemplate中注入processEngine:publicvoidsetProcessEngine(ProcessEngineprocessEngine){  
    this.processEngine=processEngine;  
      

  5.   

    不搞这了。觉得jbpm没多大用处,如果你不是真正面对项目有的话。。