jboss-user
[Arriba] [Todas las Listas]

[jboss-Usuario] [jBPM] - el Problema que persiste tareas

To: User development <jboss-user@xxxxxxxxxxxxxxx>
Subject: [jboss-Usuario] [jBPM] - el Problema que persiste tareas
From: Asad Rauf <do-not-reply@xxxxxxxxx>
Date: Wed, 07 Sep 2011 14:05:31 -0400
Auto-submitted: yes
Delivery-date: Wed, 07 Sep 2011 14:07:36 -0400
Envelope-to: traductor@xxxxxxxxxxx
List-archive: <http://lists.jboss.org/pipermail/jboss-user>
List-help: <mailto:jboss-user-request@lists.jboss.org?subject=help>
List-id: The JBoss User main mailing list <jboss-user.lists.jboss.org>
List-post: <mailto:jboss-user@lists.jboss.org>
List-subscribe: <https://lists.jboss.org/mailman/listinfo/jboss-user>, <mailto:jboss-user-request@lists.jboss.org?subject=subscribe>
List-unsubscribe: <https://lists.jboss.org/mailman/listinfo/jboss-user>, <mailto:jboss-user-request@lists.jboss.org?subject=unsubscribe>
Reply-to: The JBoss User main mailing list <jboss-user@xxxxxxxxxxxxxxx>
Sender: jboss-user-bounces@xxxxxxxxxxxxxxx
Asad *Rauf [*http://comunidad.*jboss.*org/Personas/*imran.*h] Creó el Problema

"de discusión que persiste tareas"

para ver la discusión, visita: *http://comunidad.*jboss.*org/Mensaje/625351#625351

--------------------------------------------------------------
estoy intentando conseguir persistencia *setup y soy conseguir el siguiendo excepción:

*java.*lang.*IllegalStateException: Un JTA *EntityManager no puede utilizar *getTransaction()
        en *org.*hibernate.*ejb.*AbstractEntityManagerImpl.*getTransaction(*AbstractEntityManagerImpl.*java:324)
        en *org.*jbpm.Tarea.Servicio.*TaskServiceSession.*doOperationInTransaction(*TaskServiceSession.*java:811)
        en *org.*jbpm.Tarea.Servicio.*TaskServiceSession.*persistInTransaction(*TaskServiceSession.*java:786)
        en *org.*jbpm.Tarea.Servicio.*TaskServiceSession.*addUser(*TaskServiceSession.*java:69)

vi el un hilo pertinente en este foro:  *http://comunidad.*jboss.*org/Hilo/162939?Inicio=15&*tstart=0 *http://comunidad.*jboss.*org/Hilo/162939?Inicio=15&*tstart=0

Según el consejo en esta lista, tengo que *setup dos persistencia diferente unidades, un separado uno para tareas. Aquellos trabajos  pero yo acaban arriba de persistir justo el proceso *info y no la tarea *info. Esto significa soy incapaz de conseguir tareas para un usuario que *logs dentro en un tiempo más tardío. Soy seguro esto no es esperado *behavior. Mi código actual es:

        *EntityManagerFactory *emf = Persistencia.*createEntityManagerFactory( "*org.*jbpm.Persistencia.*jpa", *HibernateConfig.*getPersistenceProps() );

        *EntityManagerFactory *emfTask = Persistencia.*createEntityManagerFactory( "*org.*jbpm.*myTask", *HibernateConfig.*getPersistenceProps() );

        Entorno *env = *KnowledgeBaseFactory.*newEnvironment();

        *env.Conjunto( *EnvironmentName.FÁBRICA_de DIRECTOR_de la ENTIDAD, *emf );
        *env.Conjunto( *EnvironmentName.DIRECTOR_de TRANSACCIÓN, *TransactionManagerServices.*getTransactionManager() );
        *env.Conjunto( *EnvironmentName.TRANSACCIÓN, *TransactionManagerServices.*getTransactionManager() );
        *env.Conjunto( *EnvironmentName.*GLOBALS, nuevo *MapGlobalResolver() );

        propiedades de Propiedades = Propiedades nuevas();
        propiedades.Puesto("*drools.*processInstanceManagerFactory", "*org.*jbpm.Persistencia.*processinstance.*JPAProcessInstanceManagerFactory");
        Propiedades.Puesto("*drools.*processSignalManagerFactory", "*org.*jbpm.Persistencia.*processinstance.*JPASignalManagerFactory");
        *KnowledgeSessionConfiguration *config = *KnowledgeBaseFactory.*newKnowledgeSessionConfiguration(Propiedades);

/* Inicio Mina *server para HT*/
        *MinaTaskServer *server = nuevo *MinaTaskServer(*taskService);
        hilo de Hilo = Hilo nuevo(*server);
        hilo.Inicio();

        *TaskServiceSession *taskSession = *taskService.*createSession();
        *CurrentHibernate.*setTaskServiceSession(*taskSession);
        Usuarios<de Usuario> de la lista = *getSimbaService().*getUserService().*getAllUsers(); 
        Puesto que(usuario de Usuario: usuarios)
          #unknown{^*taskSession.*addUser(Nuevo *org.*jbpm.Tarea.Usuario(usuario.*getUsername()));
        }
        //Complexión *Knowlede Base
        *KnowledgeBuilder *kbuilder = *KnowledgeBuilderFactory.*newKnowledgeBuilder();
        *kbuilder.Añade(*ResourceFactory.*newClassPathResource("*META-*INF/*PermissionRequest.*bpmn"), *ResourceType.*BPMN2);
        *KnowledgeBase *kbase = *kbuilder.*newKnowledgeBase();

        *StatefulKnowledgeSession *ksession = *JPAKnowledgeService.*newStatefulKnowledgeSession(*kbase, *config, *env);

*ksession.*getWorkItemManager().*registerWorkItemHandler("Tarea humana", nuevo *CommandBasedWSHumanTaskHandler(*ksession));
        *ksession.*getWorkItemManager().*registerWorkItemHandler("*sendPermissionRequest", nuevo *PermissionRequestTaskHandler());

        Cadena<de Mapa, Objeto> *params = nuevo *HashMap<Cadena, Objeto>();
        *params.Puesto("descripción", *taskDetails.*toString());
        *params.Puesto("*requesterComments", *requesterComments);
        *params.Puesto("*approver", *toUser);
        *params.Puesto("*permissionRequestItems", *taskDetails.*toString());

     *ProcessInstance *processInstance = *ksession.*startProcess("*permissionRequest", *params);


*Thanks para vuestra ayuda.
--------------------------------------------------------------

Respuesta a este mensaje por ir a Comunidad
[*http://comunidad.*jboss.*org/Mensaje/625351#625351]

Empieza una discusión nueva en *jBPM en Comunidad
[*http://comunidad.*jboss.*org/Escoge-contenedor!Entrada.*jspa?*contentType=1&*containerType=14&contenedor=2034]

Asad Rauf [http://community.jboss.org/people/imran.h] created the discussion

"Problem persisting tasks"

To view the discussion, visit: http://community.jboss.org/message/625351#625351

--------------------------------------------------------------
I am trying to get persistence setup and I am get the following exception:

java.lang.IllegalStateException: A JTA EntityManager cannot use getTransaction()
        at org.hibernate.ejb.AbstractEntityManagerImpl.getTransaction(AbstractEntityManagerImpl.java:324)
        at org.jbpm.task.service.TaskServiceSession.doOperationInTransaction(TaskServiceSession.java:811)
        at org.jbpm.task.service.TaskServiceSession.persistInTransaction(TaskServiceSession.java:786)
        at org.jbpm.task.service.TaskServiceSession.addUser(TaskServiceSession.java:69)

I saw the a relevant thread on this forum:  http://community.jboss.org/thread/162939?start=15&tstart=0 http://community.jboss.org/thread/162939?start=15&tstart=0

According to the advice on this list, I should setup two different persistence units, a separate one for tasks. That works  but I end up persisting just the process info and not the task info. This means I am unable to get tasks for a user who logs in at a later time. I am sure this is not expected behavior. My current code is:

        EntityManagerFactory emf = Persistence.createEntityManagerFactory( "org.jbpm.persistence.jpa", HibernateConfig.getPersistenceProps() );

        EntityManagerFactory emfTask = Persistence.createEntityManagerFactory( "org.jbpm.myTask", HibernateConfig.getPersistenceProps() );

        Environment env = KnowledgeBaseFactory.newEnvironment();

        env.set( EnvironmentName.ENTITY_MANAGER_FACTORY, emf );
        env.set( EnvironmentName.TRANSACTION_MANAGER, TransactionManagerServices.getTransactionManager() );
        env.set( EnvironmentName.TRANSACTION, TransactionManagerServices.getTransactionManager() );
        env.set( EnvironmentName.GLOBALS, new MapGlobalResolver() );

        Properties properties = new Properties();
        properties.put("drools.processInstanceManagerFactory", "org.jbpm.persistence.processinstance.JPAProcessInstanceManagerFactory");
        properties.put("drools.processSignalManagerFactory", "org.jbpm.persistence.processinstance.JPASignalManagerFactory");
        KnowledgeSessionConfiguration config = KnowledgeBaseFactory.newKnowledgeSessionConfiguration(properties);

/* Start Mina server for HT*/
        MinaTaskServer server = new MinaTaskServer(taskService);
        Thread thread = new Thread(server);
        thread.start();

        TaskServiceSession taskSession = taskService.createSession();
        CurrentHibernate.setTaskServiceSession(taskSession);
        List<User> users = getSimbaService().getUserService().getAllUsers(); 
        for(User user: users) {
          taskSession.addUser(new org.jbpm.task.User(user.getUsername()));
        }
        //Build Knowlede Base
        KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
        kbuilder.add(ResourceFactory.newClassPathResource("META-INF/PermissionRequest.bpmn"), ResourceType.BPMN2);
        KnowledgeBase kbase = kbuilder.newKnowledgeBase();

        StatefulKnowledgeSession ksession = JPAKnowledgeService.newStatefulKnowledgeSession(kbase, config, env);

ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new CommandBasedWSHumanTaskHandler(ksession));
        ksession.getWorkItemManager().registerWorkItemHandler("sendPermissionRequest", new PermissionRequestTaskHandler());

        Map<String, Object> params = new HashMap<String, Object>();
        params.put("description", taskDetails.toString());
        params.put("requesterComments", requesterComments);
        params.put("approver", toUser);
        params.put("permissionRequestItems", taskDetails.toString());

     ProcessInstance processInstance = ksession.startProcess("permissionRequest", params);


Thanks for your help.
--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/625351#625351]

Start a new discussion in jBPM at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]

_______________________________________________
*jboss-Usuario *mailing lista
*jboss-user@xxxxxxxxxxxxxxx
*https://listas.*jboss.*org/*mailman/*listinfo/*jboss-Usuario
_______________________________________________
jboss-user mailing list
jboss-user@xxxxxxxxxxxxxxx
https://lists.jboss.org/mailman/listinfo/jboss-user
<Anterior por Tema] Tema Actual [Siguiente por Tema>