Hi Kiran,
1) You can assign actorId dinamically. You can use an expression in bpmn, like #{user}, where user is a process variable.. I don't know how you want to include it into spring.. but you can create a variable, for example, user.. and then pass this variable into process start, or maybe as output of some node.
You can check this example
https://github.com/calcacuervo/JBPM5-Samples/blob/master/human-tasks/src/test/resources/dynamic-user-human-task-test.bpmn
https://github.com/calcacuervo/JBPM5-Samples/blob/master/human-tasks/src/test/java/com/test/HumanTaskTest.java
The test called "dinamicUser"
2) Yes, users and groups must be in jbpm tables. I think from 5.2, there will be a callback to validate in your own identity system.
3) Yes, you must use GroupId user task param. When getting tasks for a user, you will pass the user id, and a list of groups he belonges. You have to get this relationship from your identity system, as jbpm does not saves this information. You can check this example:
https://github.com/calcacuervo/JBPM5-Samples/blob/master/human-tasks/src/test/java/com/test/group/HumanTaskGroupTest.java
4)
This is user guide: http://docs.jboss.org/jbpm/v5.1/userguide/
This is API: http://docs.jboss.org/jbpm/v5.1/javadocs/
Regards,
Demian