2

これは、IdentityService 変数 ident でデバッグしたときに得られるものです。

ident    -> commandService = null
         -> commandService = RetryInterceptor(id=68)

私の jbpm.cfg.xml には次のものがあります。

<jbpm-configuration>
...
 <import resource="jbpm.identity.cfg.xml" /> 
 ...
</jbpm-configuration>
//I tried using my own IdentityService class, but it didn't work...

次に、getter と setter を使用して、simpleProcessService と呼ばれる IdentityService を使用するクラスがあります。

public class SimpleProcessServiceImpl implements SimpleProcessService{
...
private IdentityService identityService;
...
public IdentityService getIdentityService()
    {

        return identityService;
    }
    public void setIdentityService(IdentityService identityService)
    {

        this.identityService = identityService;
    }

...
}

私のapplicationContext-processには次のものがあります:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
   ...>


    <bean id="transactionManagerJbpm"
        class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactoryJbpm" />
        <property name="dataSource" ref="dataSourceJbpm" />
    </bean>



    <bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper">
       <property name="jbpmCfg" value="jbpm.cfg.xml"/>
  </bean>
    <bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine" />
<!--    <bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" />-->
<!--    <bean id="executionService" factory-bean="processEngine" factory-method="getExecutionService" />-->
<!--    <bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" />-->

<bean id="identityService" factory-bean="processEngine" factory-method="getIdentityService" />

....

    <bean id="simpleProcessService"
        class="com.playence.platform.services.jbpm.impl.SimpleProcessServiceImpl">
        <property name="repositoryService"  value="#{processEngine.repositoryService}"/>
        <property name="executionService"  value="#{processEngine.executionService}"/>
        <property name="taskService"  value="#{processEngine.taskService}"/>
    <property name="identityService"  value="#{processEngine.IdentityService}"/>
    </bean>
   ...

</beans>

私のテストファイルには、次のものがあります。

public void testGroups()
    {
         SimpleProcessService simpleProcessService =(SimpleProcessService)ctx.getBean("simpleProcessService");
         TaskService taskService = simpleProcessService.getTaskService();

         IdentityService ident = simpleProcessService.getIdentityService();

         final int nTasks = 1;
         List<Map<String, Object>> vars= new ArrayList<Map<String, Object>>(nTasks);

         System.out.println("executing process");

         String processKey = "";
         String internalURI = "";
         Map<String,Object> x = new HashMap<String,Object>();
         ProcessInstance processInstance =null;
         List<String> processInstanceIds = new ArrayList<String>();

         //Create nTasks for annotation
         for(int i = 0; i <nTasks ; i++)
         {
                 processKey = Long.toString(System.currentTimeMillis());
                 internalURI = "/videos/test"+i+".flv_" + processKey;

                 x = new HashMap<String,Object>();
                 x.put("internalURI", internalURI);
                 x.put("content", "good");
                 vars.add(i,x);

                 processInstance = simpleProcessService.startProcess("groups", vars.get(i), processKey);
                 processInstanceIds.add(processInstance.getId());

         }


         ident.createGroup("anotacion");

         ident.createUser("silver", "johndoe", "John", "Doe");
         ident.createMembership("silver", "anotacion");

         ident.createUser("david", "joesmoe", "Joe", "Smoe");
         ident.createMembership("david", "anotacion");

         ident.createUser("blanca", "joesmoe", "Joe", "Smoe");
         ident.createMembership("blanca", "anotacion");

....

}

グループを作成しようとすると例外がスローされます.identはnullではありませんが、nullオブジェクトが含まれているようです...

何か案は?

ダマリス。

4

1 に答える 1