Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejava
titleZmiana wartości zmiennych zadania
linenumberstrue
	 	ActivityService activityService = ServiceFactory.getActivityService();
        Map<String,Object> activityContext=activityService.getActivityContext( processId, activityId );
        activityContext.put( "zmienna", "wartość" );
        activityService.setActivityContext( processId, activityId, activityContext );

Powyższy kod zmienia mapę zmiennych zadania. Jeżeli w aktualnym wątku mamy otwartą transakcję, np. jesteśmy w zadaniu automatycznym to metody getActivityContext i setActivityContext automatycznie podłączą się do aktywnej transakcji. Jeżeli chcemy zmienić wartości zmiennych procesu, lecz nie chcemy zaakceptować zadania to należy ustawić ActivityContext, oraz ProcessContext:

 

Code Block
languagejava
titleZmiana wartości zmiennych procesu
linenumberstrue
	 	ActivityService activityService = ServiceFactory.getActivityService();
        ProcessService processService = ServiceFactory.getProcessService();
        Map<String, Object> activityContext = activityService.getActivityContext( processId, activityId );
        activityContext.put( "zmienna", "wartość" );
        activityService.setActivityContext( processId, activityId, activityContext );
        Map<String, Object> processContext = processService.getProcessContext( processId );
        processContext.put( "zmienna", "wartość" );
        processService.setProcessContext( processId, processContext );


TODO Opisać możliwość utworzenie ręczenie transakcji SharkTransaction która będzie kompatybilna z serviceami API.