Class JPAMapper

  • All Implemented Interfaces:
    org.kie.internal.runtime.manager.Mapper

    public class JPAMapper
    extends InternalMapper
    Database based mapper implementation backed by JPA to store the context to KieSession id mapping. It uses the ContextMappingInfo entity for persistence.
    See Also:
    ContextMappingInfo
    • Constructor Detail

      • JPAMapper

        public JPAMapper​(javax.persistence.EntityManagerFactory emf)
    • Method Detail

      • saveMapping

        public void saveMapping​(org.kie.api.runtime.manager.Context context,
                                Long ksessionId,
                                String ownerId)
      • findMapping

        public Long findMapping​(org.kie.api.runtime.manager.Context context,
                                String ownerId)
      • findLogMapping

        public Long findLogMapping​(org.kie.api.runtime.manager.Context<?> context,
                                   String ownerId)
        Description copied from class: InternalMapper
        Finds ksession for given context
        Overrides:
        findLogMapping in class InternalMapper
        Parameters:
        context - instance of the context
        Returns:
        ksession identifier when found otherwise null
      • removeMapping

        public void removeMapping​(org.kie.api.runtime.manager.Context context,
                                  String ownerId)
      • resolveContext

        protected <T> org.kie.api.runtime.manager.Context<T> resolveContext​(org.kie.api.runtime.manager.Context orig,
                                                                            javax.persistence.EntityManager em)
      • findContextByContextId

        protected ContextMappingInfo findContextByContextId​(org.kie.api.runtime.manager.Context context,
                                                            String ownerId,
                                                            javax.persistence.EntityManager em)
      • getProcessInstanceByCorrelationKey

        public org.kie.api.runtime.manager.Context getProcessInstanceByCorrelationKey​(org.kie.internal.process.CorrelationKey correlationKey,
                                                                                      javax.persistence.EntityManager em)
      • findContextId

        public Object findContextId​(Long ksessionId,
                                    String ownerId)
      • findKSessionToInit

        public List<Long> findKSessionToInit​(String ownerId)