if (descriptor == null) { defaultListeners.add(new JPATaskLifeCycleEventListener(true)); } else if (descriptor.getAuditMode() == AuditMode.JPA) { } else if (descriptor.getAuditMode() == AuditMode.JMS) { if (jmsTaskLogger == null) { try {
logger.setBuilder(getAuditBuilder(runtime)); defaultListeners.add(logger); } else if (descriptor.getAuditMode() == AuditMode.JPA) { } else if (descriptor.getAuditMode() == AuditMode.JMS) { try { if (jmsLogger == null) {
@Test public void testDefaultDeploymentDescriptorFromClasspath() { System.setProperty("org.kie.deployment.desc.location", "classpath:/deployment/deployment-descriptor-defaults-and-ms.xml"); DeploymentDescriptorManager manager = new DeploymentDescriptorManager("org.jbpm.domain"); DeploymentDescriptor descriptor = manager.getDefaultDescriptor(); assertNotNull(descriptor); assertEquals("org.jbpm.domain", descriptor.getPersistenceUnit()); assertEquals("org.jbpm.domain", descriptor.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, descriptor.getAuditMode()); assertEquals(PersistenceMode.JPA, descriptor.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, descriptor.getRuntimeStrategy()); assertEquals(1, descriptor.getMarshallingStrategies().size()); assertEquals(0, descriptor.getConfiguration().size()); assertEquals(0, descriptor.getEnvironmentEntries().size()); assertEquals(0, descriptor.getEventListeners().size()); assertEquals(0, descriptor.getGlobals().size()); assertEquals(0, descriptor.getTaskEventListeners().size()); assertEquals(0, descriptor.getWorkItemHandlers().size()); }
@Test public void testDefaultDeploymentDescriptorFromFile() { System.setProperty("org.kie.deployment.desc.location", "file:src/test/resources/deployment/deployment-descriptor-defaults-and-ms.xml"); DeploymentDescriptorManager manager = new DeploymentDescriptorManager("org.jbpm.domain"); DeploymentDescriptor descriptor = manager.getDefaultDescriptor(); assertNotNull(descriptor); assertEquals("org.jbpm.domain", descriptor.getPersistenceUnit()); assertEquals("org.jbpm.domain", descriptor.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, descriptor.getAuditMode()); assertEquals(PersistenceMode.JPA, descriptor.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, descriptor.getRuntimeStrategy()); assertEquals(1, descriptor.getMarshallingStrategies().size()); assertEquals(0, descriptor.getConfiguration().size()); assertEquals(0, descriptor.getEnvironmentEntries().size()); assertEquals(0, descriptor.getEventListeners().size()); assertEquals(0, descriptor.getGlobals().size()); assertEquals(0, descriptor.getTaskEventListeners().size()); assertEquals(0, descriptor.getWorkItemHandlers().size()); }
@Test public void testDefaultDeploymentDescriptor() { DeploymentDescriptorManager manager = new DeploymentDescriptorManager("org.jbpm.domain"); DeploymentDescriptor descriptor = manager.getDefaultDescriptor(); assertNotNull(descriptor); assertEquals("org.jbpm.domain", descriptor.getPersistenceUnit()); assertEquals("org.jbpm.domain", descriptor.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, descriptor.getAuditMode()); assertEquals(PersistenceMode.JPA, descriptor.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, descriptor.getRuntimeStrategy()); assertEquals(0, descriptor.getMarshallingStrategies().size()); assertEquals(0, descriptor.getConfiguration().size()); assertEquals(0, descriptor.getEnvironmentEntries().size()); assertEquals(0, descriptor.getEventListeners().size()); assertEquals(0, descriptor.getGlobals().size()); assertEquals(0, descriptor.getTaskEventListeners().size()); assertEquals(0, descriptor.getWorkItemHandlers().size()); }
@Test public void testDeploymentDescriptorFromKieContainerNoDescInKjar() { DeploymentDescriptorManager manager = new DeploymentDescriptorManager("org.jbpm.domain"); KieServices ks = KieServices.Factory.get(); ReleaseId releaseId = ks.newReleaseId(GROUP_ID, ARTIFACT_ID, VERSION); Map<String, String> resources = new HashMap<String, String>(); resources.put("src/main/resources/simple.drl", SIMPLE_DRL); InternalKieModule kJar1 = createKieJar(ks, releaseId, resources); installKjar(releaseId, kJar1); KieContainer kieContainer = ks.newKieContainer(releaseId); assertNotNull(kieContainer); List<DeploymentDescriptor> descriptorHierarchy = DeploymentDescriptorManagerUtil.getDeploymentDescriptorHierarchy(manager, kieContainer); assertNotNull(descriptorHierarchy); assertEquals(1, descriptorHierarchy.size()); DeploymentDescriptor descriptor = descriptorHierarchy.get(0); assertNotNull(descriptor); assertEquals("org.jbpm.domain", descriptor.getPersistenceUnit()); assertEquals("org.jbpm.domain", descriptor.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, descriptor.getAuditMode()); assertEquals(PersistenceMode.JPA, descriptor.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, descriptor.getRuntimeStrategy()); assertEquals(0, descriptor.getMarshallingStrategies().size()); assertEquals(0, descriptor.getConfiguration().size()); assertEquals(0, descriptor.getEnvironmentEntries().size()); assertEquals(0, descriptor.getEventListeners().size()); assertEquals(0, descriptor.getGlobals().size()); assertEquals(0, descriptor.getTaskEventListeners().size()); assertEquals(0, descriptor.getWorkItemHandlers().size()); }
assertEquals("org.jbpm.domain", descriptor.getPersistenceUnit()); assertEquals("org.jbpm.domain", descriptor.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, descriptor.getAuditMode()); assertEquals(PersistenceMode.JPA, descriptor.getPersistenceMode()); assertEquals(RuntimeStrategy.PER_PROCESS_INSTANCE, descriptor.getRuntimeStrategy()); assertEquals("org.jbpm.domain", descriptor.getPersistenceUnit()); assertEquals("org.jbpm.domain", descriptor.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, descriptor.getAuditMode()); assertEquals(PersistenceMode.JPA, descriptor.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, descriptor.getRuntimeStrategy());
assertEquals("org.jbpm.domain", descriptor.getPersistenceUnit()); assertEquals("org.jbpm.domain", descriptor.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, descriptor.getAuditMode()); assertEquals(PersistenceMode.JPA, descriptor.getPersistenceMode()); assertEquals(RuntimeStrategy.PER_PROCESS_INSTANCE, descriptor.getRuntimeStrategy()); assertEquals("org.jbpm.domain", descriptor.getPersistenceUnit()); assertEquals("org.jbpm.audit", descriptor.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, descriptor.getAuditMode()); assertEquals(PersistenceMode.JPA, descriptor.getPersistenceMode()); assertEquals(RuntimeStrategy.PER_PROCESS_INSTANCE, descriptor.getRuntimeStrategy()); assertEquals("org.jbpm.domain", descriptor.getPersistenceUnit()); assertEquals("org.jbpm.domain", descriptor.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, descriptor.getAuditMode()); assertEquals(PersistenceMode.JPA, descriptor.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, descriptor.getRuntimeStrategy());
assertEquals("org.jbpm.domain", descriptor.getPersistenceUnit()); assertEquals("org.jbpm.domain", descriptor.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, descriptor.getAuditMode()); assertEquals(PersistenceMode.JPA, descriptor.getPersistenceMode()); assertEquals(RuntimeStrategy.PER_PROCESS_INSTANCE, descriptor.getRuntimeStrategy()); assertEquals("org.jbpm.domain", descriptor.getPersistenceUnit()); assertEquals("org.jbpm.audit", descriptor.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, descriptor.getAuditMode()); assertEquals(PersistenceMode.JPA, descriptor.getPersistenceMode()); assertEquals(RuntimeStrategy.PER_PROCESS_INSTANCE, descriptor.getRuntimeStrategy()); assertEquals("org.jbpm.domain", descriptor.getPersistenceUnit()); assertEquals("org.jbpm.domain", descriptor.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, descriptor.getAuditMode()); assertEquals(PersistenceMode.JPA, descriptor.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, descriptor.getRuntimeStrategy()); assertEquals("org.jbpm.domain", outcome.getPersistenceUnit()); assertEquals("org.jbpm.domain", outcome.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, outcome.getAuditMode()); assertEquals(PersistenceMode.JPA, outcome.getPersistenceMode()); assertEquals(RuntimeStrategy.PER_PROCESS_INSTANCE, outcome.getRuntimeStrategy());
assertEquals("org.jbpm.domain", master.getPersistenceUnit()); assertEquals("org.jbpm.domain", master.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, master.getAuditMode()); assertEquals(PersistenceMode.JPA, master.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, master.getRuntimeStrategy()); assertEquals(null, slave.getPersistenceUnit()); assertEquals("", slave.getAuditPersistenceUnit()); assertEquals(AuditMode.JMS, slave.getAuditMode()); assertEquals(PersistenceMode.JPA, slave.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, slave.getRuntimeStrategy()); assertEquals("org.jbpm.domain", outcome.getPersistenceUnit()); assertEquals("org.jbpm.domain", outcome.getAuditPersistenceUnit()); assertEquals(AuditMode.JMS, outcome.getAuditMode()); assertEquals(PersistenceMode.JPA, outcome.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, outcome.getRuntimeStrategy());
assertEquals("org.jbpm.persistence.jpa", descriptor.getPersistenceUnit()); assertEquals("org.jbpm.persistence.jpa", descriptor.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, descriptor.getAuditMode()); assertEquals(PersistenceMode.JPA, descriptor.getPersistenceMode()); assertEquals(RuntimeStrategy.PER_REQUEST, descriptor.getRuntimeStrategy());
assertEquals("org.jbpm.domain", master.getPersistenceUnit()); assertEquals("org.jbpm.domain", master.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, master.getAuditMode()); assertEquals(PersistenceMode.JPA, master.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, master.getRuntimeStrategy()); assertEquals("my.custom.unit", slave.getPersistenceUnit()); assertEquals("my.custom.unit2", slave.getAuditPersistenceUnit()); assertEquals(AuditMode.NONE, slave.getAuditMode()); assertEquals(PersistenceMode.JPA, slave.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, slave.getRuntimeStrategy()); assertEquals("my.custom.unit2", slave2.getPersistenceUnit()); assertEquals("my.custom.altered", slave2.getAuditPersistenceUnit()); assertEquals(AuditMode.JMS, slave2.getAuditMode()); assertEquals(PersistenceMode.JPA, slave2.getPersistenceMode()); assertEquals(RuntimeStrategy.PER_PROCESS_INSTANCE, slave2.getRuntimeStrategy()); assertEquals("my.custom.unit2", outcome.getPersistenceUnit()); assertEquals("my.custom.altered", outcome.getAuditPersistenceUnit()); assertEquals(AuditMode.JMS, outcome.getAuditMode()); assertEquals(PersistenceMode.JPA, outcome.getPersistenceMode()); assertEquals(RuntimeStrategy.PER_PROCESS_INSTANCE, outcome.getRuntimeStrategy());
assertEquals("org.jbpm.domain", master.getPersistenceUnit()); assertEquals("org.jbpm.domain", master.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, master.getAuditMode()); assertEquals(PersistenceMode.JPA, master.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, master.getRuntimeStrategy()); assertEquals(null, slave.getPersistenceUnit()); assertEquals("", slave.getAuditPersistenceUnit()); assertEquals(AuditMode.JMS, slave.getAuditMode()); assertEquals(PersistenceMode.JPA, slave.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, slave.getRuntimeStrategy()); assertEquals("org.jbpm.domain", outcome.getPersistenceUnit()); assertEquals("org.jbpm.domain", outcome.getAuditPersistenceUnit()); assertEquals(AuditMode.JMS, outcome.getAuditMode()); assertEquals(PersistenceMode.JPA, outcome.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, outcome.getRuntimeStrategy());
assertEquals("org.jbpm.domain", master.getPersistenceUnit()); assertEquals("org.jbpm.domain", master.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, master.getAuditMode()); assertEquals(PersistenceMode.JPA, master.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, master.getRuntimeStrategy()); assertEquals("my.custom.unit", slave.getPersistenceUnit()); assertEquals("my.custom.unit2", slave.getAuditPersistenceUnit()); assertEquals(AuditMode.JMS, slave.getAuditMode()); assertEquals(PersistenceMode.JPA, slave.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, slave.getRuntimeStrategy()); assertEquals("my.custom.unit", outcome.getPersistenceUnit()); assertEquals("my.custom.unit2", outcome.getAuditPersistenceUnit()); assertEquals(AuditMode.JMS, outcome.getAuditMode()); assertEquals(PersistenceMode.JPA, outcome.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, outcome.getRuntimeStrategy());
assertEquals("org.jbpm.domain", master.getPersistenceUnit()); assertEquals("org.jbpm.domain", master.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, master.getAuditMode()); assertEquals(PersistenceMode.JPA, master.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, master.getRuntimeStrategy()); assertEquals(null, slave.getPersistenceUnit()); assertEquals("", slave.getAuditPersistenceUnit()); assertEquals(AuditMode.JMS, slave.getAuditMode()); assertEquals(PersistenceMode.JPA, slave.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, slave.getRuntimeStrategy()); assertEquals("org.jbpm.domain", outcome.getPersistenceUnit()); assertEquals("org.jbpm.domain", outcome.getAuditPersistenceUnit()); assertEquals(AuditMode.JMS, outcome.getAuditMode()); assertEquals(PersistenceMode.JPA, outcome.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, outcome.getRuntimeStrategy());
assertEquals("org.jbpm.domain", master.getPersistenceUnit()); assertEquals("org.jbpm.domain", master.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, master.getAuditMode()); assertEquals(PersistenceMode.JPA, master.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, master.getRuntimeStrategy()); assertEquals("my.custom.unit", slave.getPersistenceUnit()); assertEquals("my.custom.unit2", slave.getAuditPersistenceUnit()); assertEquals(AuditMode.JMS, slave.getAuditMode()); assertEquals(PersistenceMode.JPA, slave.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, slave.getRuntimeStrategy()); assertEquals("org.jbpm.domain", outcome.getPersistenceUnit()); assertEquals("org.jbpm.domain", outcome.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, outcome.getAuditMode()); assertEquals(PersistenceMode.JPA, outcome.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, outcome.getRuntimeStrategy());
assertEquals("org.jbpm.domain", master.getPersistenceUnit()); assertEquals("org.jbpm.domain", master.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, master.getAuditMode()); assertEquals(PersistenceMode.JPA, master.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, master.getRuntimeStrategy()); assertEquals(null, slave.getPersistenceUnit()); assertEquals("", slave.getAuditPersistenceUnit()); assertEquals(AuditMode.JMS, slave.getAuditMode()); assertEquals(PersistenceMode.JPA, slave.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, slave.getRuntimeStrategy()); assertEquals("org.jbpm.domain", outcome.getPersistenceUnit()); assertEquals("org.jbpm.domain", outcome.getAuditPersistenceUnit()); assertEquals(AuditMode.JMS, outcome.getAuditMode()); assertEquals(PersistenceMode.JPA, outcome.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, outcome.getRuntimeStrategy());
assertEquals("org.jbpm.persistence.jpa", descriptor.getPersistenceUnit()); assertEquals("org.jbpm.persistence.jpa", descriptor.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, descriptor.getAuditMode()); assertEquals(PersistenceMode.JPA, descriptor.getPersistenceMode()); assertEquals(RuntimeStrategy.PER_PROCESS_INSTANCE, descriptor.getRuntimeStrategy());
break; case OVERRIDE_EMPTY: builder.auditMode(slave.getAuditMode()); builder.auditPersistenceUnit(slave.getAuditPersistenceUnit()); builder.persistenceMode(slave.getPersistenceMode()); builder.auditMode(slave.getAuditMode()); builder.auditPersistenceUnit(slave.getAuditPersistenceUnit()); builder.persistenceMode(slave.getPersistenceMode());
protected void addTaskBAMEventListener(final KModuleDeploymentUnit unit, final InternalKieContainer kieContainer) { final DeploymentDescriptor descriptor = getDeploymentDescriptor(unit, kieContainer); if (descriptor.getAuditMode() != AuditMode.NONE) { descriptor.getBuilder().addTaskEventListener( new ObjectModel( "mvel", "new org.jbpm.services.task.lifecycle.listeners.BAMTaskEventListener(false)" ) ); unit.setDeploymentDescriptor(descriptor); } }