JBoss Community

Re: Log tables not persisted

created by Rajan Bansal in jBPM - View the full discussion

Its okay...

 

The data is persisted in the Log tables in the Oracle database.

 

But, when I runs the following code without loggers:-

 

JPAWorkingMemoryDbLogger logger = new JPAWorkingMemoryDbLogger(ksession);

            WSHumanTaskHandler objWSHuman= new WSHumanTaskHandler();

            objWSHuman.setConnection("127.0.0.1", 9123);

            ksession.getWorkItemManager().registerWorkItemHandler("Human Task",objWSHuman);

            // start a new process instance

            Map<String, Object> params = new HashMap<String, Object>();

            params.put("initiator", objTargetBean.getEmpName());

            params.put("reason", "Yearly performance evaluation");

            ProcessInstance prs= ksession.startProcess("targetSettingFlow", params);

            System.out.println("okay Process Start is done...");

            Thread.sleep(1000);

            logger.dispose();

 

 

            TaskClient taskClient = new TaskClient(new MinaTaskClientConnector("MinaConnector",

                    new MinaTaskClientHandler(SystemEventListenerFactory.getSystemEventListener())));

                taskClient.connect("127.0.0.1", 9123);

                BlockingTaskSummaryResponseHandler taskSummaryHandler = new BlockingTaskSummaryResponseHandler();

                taskClient.getTasksAssignedAsPotentialOwner(objTargetBean.getEmpName(), "en-UK", taskSummaryHandler);

                TaskSummary task1 = taskSummaryHandler.getResults().get(0);

 

                BlockingTaskOperationResponseHandler taskOperationHandler = new BlockingTaskOperationResponseHandler();

                 taskOperationHandler = new BlockingTaskOperationResponseHandler();

                taskClient.start(task1.getId(), objTargetBean.getEmpName(), taskOperationHandler);

                taskOperationHandler = new BlockingTaskOperationResponseHandler();

                taskClient.complete(task1.getId(), objTargetBean.getEmpName(), null,  taskOperationHandler);

 

then after completing the first human task, it shows the next human task as "Reserved", as a usual behavior or in other words after completing first human task it move to the next one..

 

but when I added following two lines:-

JPAWorkingMemoryDbLogger logger = new JPAWorkingMemoryDbLogger(ksession);

and   logger.dispose();

 

after that, when I complete my first human task, then it not shows the "next one" the un-usual behavior or in other words it just completed the "reserved" one and forgot to move to next human task... :(

 

Is the reason behind is the Log tables not properly persisted or I have to place the logger.dispose(); to somewhere else.

 

Note: In the above code, I start the process and complete the first "human task node" in one hit...

 

Regards.

Rajan Bansal

Reply to this message by going to Community

Start a new discussion in jBPM at Community