Merge pull request #60 from pymma/kafka

Upgrade
This commit is contained in:
Nicolas Héron 2020-07-17 14:39:12 +02:00 committed by GitHub
commit 8360cff08f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
31 changed files with 384 additions and 83 deletions

View file

@ -34,6 +34,8 @@ services:
admin-console:
image: runtime-admin-console
container_name: "admin-console"
environment:
PYMMA_OPTS: " -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
hostname: admin.pymma
networks:
drools-network-dev:
@ -43,6 +45,9 @@ services:
links:
- kie-wb:kie-wb
- businessProxyDB:mongodb
- kafka1:kafka1
- kafka2:kafka2
- kafka3:kafka3
depends_on:
- businessProxyDB
restart: always
@ -73,7 +78,7 @@ services:
volumes:
- kieserverdir:/niodir-kieserver
environment:
PYMMA_OPTS: "-Dorg.kie.server.id=server1"
PYMMA_OPTS: "-Dorg.kie.server.id=server1 -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
networks:
drools-network-dev:
ipv4_address: 172.27.1.22
@ -83,6 +88,9 @@ services:
links:
- businessProxyDB:mongodb
- kie-wb:kie-wb
- kafka1:kafka1
- kafka2:kafka2
- kafka3:kafka3
depends_on:
- businessProxyDB
- kie-wb
@ -94,7 +102,7 @@ services:
volumes:
- kieserverdir:/niodir-kieserver
environment:
PYMMA_OPTS: "-Dorg.kie.server.id=server2"
PYMMA_OPTS: "-Dorg.kie.server.id=server2 -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
networks:
drools-network-dev:
ipv4_address: 172.27.1.32
@ -104,6 +112,9 @@ services:
links:
- businessProxyDB:mongodb
- kie-wb:kie-wb
- kafka1:kafka1
- kafka2:kafka2
- kafka3:kafka3
depends_on:
- businessProxyDB
- kie-wb
@ -115,7 +126,7 @@ services:
volumes:
- kieserverdir:/niodir-kieserver
environment:
PYMMA_OPTS: "-Dorg.kie.server.id=server3"
PYMMA_OPTS: "-Dorg.kie.server.id=server3 -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
networks:
drools-network-dev:
ipv4_address: 172.27.1.42
@ -125,6 +136,9 @@ services:
links:
- businessProxyDB:mongodb
- kie-wb:kie-wb
- kafka1:kafka1
- kafka2:kafka2
- kafka3:kafka3
depends_on:
- businessProxyDB
- kie-wb
@ -136,7 +150,7 @@ services:
volumes:
- kieserverdir:/niodir-kieserver
environment:
PYMMA_OPTS: "-Dorg.kie.server.id=server4"
PYMMA_OPTS: "-Dorg.kie.server.id=server4 -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
networks:
drools-network-dev:
ipv4_address: 172.27.1.52
@ -146,6 +160,9 @@ services:
links:
- businessProxyDB:mongodb
- kie-wb:kie-wb
- kafka1:kafka1
- kafka2:kafka2
- kafka3:kafka3
depends_on:
- businessProxyDB
- kie-wb
@ -157,7 +174,7 @@ services:
volumes:
- kieserverdir:/niodir-kieserver
environment:
PYMMA_OPTS: "-Dorg.kie.server.id=server5"
PYMMA_OPTS: "-Dorg.kie.server.id=server5 -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
networks:
drools-network-dev:
ipv4_address: 172.27.1.62
@ -167,6 +184,9 @@ services:
links:
- businessProxyDB:mongodb
- kie-wb:kie-wb
- kafka1:kafka1
- kafka2:kafka2
- kafka3:kafka3
depends_on:
- businessProxyDB
- kie-wb
@ -182,6 +202,9 @@ services:
ipv4_address: 172.27.1.23
links:
- businessProxyDB:mongodb
- kafka1:kafka1
- kafka2:kafka2
- kafka3:kafka3
depends_on:
- businessProxyDB
restart: always
@ -189,12 +212,17 @@ services:
runtime-reverse-proxy:
image: runtime-reverse-proxy
container_name: "runtime-reverse-proxy"
environment:
PYMMA_OPTS: " -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
hostname: reverse-proxy.pymma
networks:
drools-network-dev:
ipv4_address: 172.27.1.25
links:
- businessProxyDB:mongodb
- kafka1:kafka1
- kafka2:kafka2
- kafka3:kafka3
depends_on:
- businessProxyDB
ports:
@ -219,6 +247,9 @@ services:
zoo1:
image: zookeeper:3.4.9
hostname: zoo1
networks:
drools-network-dev:
ipv4_address: 172.27.1.100
ports:
- "2181:2181"
environment:
@ -232,6 +263,9 @@ services:
zoo2:
image: zookeeper:3.4.9
hostname: zoo2
networks:
drools-network-dev:
ipv4_address: 172.27.1.101
ports:
- "2182:2182"
environment:
@ -245,6 +279,9 @@ services:
zoo3:
image: zookeeper:3.4.9
hostname: zoo3
networks:
drools-network-dev:
ipv4_address: 172.27.1.102
ports:
- "2183:2183"
environment:
@ -258,7 +295,10 @@ services:
kafka1:
image: confluentinc/cp-kafka:5.5.0
hostname: kafka1
hostname: kafka1.pymma
networks:
drools-network-dev:
ipv4_address: 172.27.1.103
ports:
- "9092:9092"
environment:
@ -277,7 +317,10 @@ services:
kafka2:
image: confluentinc/cp-kafka:5.5.0
hostname: kafka2
hostname: kafka2.pymma
networks:
drools-network-dev:
ipv4_address: 172.27.1.104
ports:
- "9093:9093"
environment:
@ -296,7 +339,10 @@ services:
kafka3:
image: confluentinc/cp-kafka:5.5.0
hostname: kafka3
hostname: kafka3.pymma
networks:
drools-network-dev:
ipv4_address: 172.27.1.105
ports:
- "9094:9094"
environment:

View file

@ -169,7 +169,7 @@
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId>
<version>2.10.3</version>
<version>2.10.4</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
@ -178,7 +178,7 @@
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.9.4</version>
<version>2.10.4</version>
<exclusions>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
@ -194,11 +194,6 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId>
<version>2.9.4</version>
</dependency>
<!--dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>

View file

@ -1,6 +1,6 @@
FROM openjdk:8-jre-slim
FROM azul/zulu-openjdk-debian:11
RUN apt-get update && apt-get install -y wget procps
ADD application.properties /application.properties
ADD maven/drools-framework-admin-console.jar app.jar

View file

@ -7,7 +7,10 @@ server.port=${port:8200}
kie-wb.baseurl=http://kie-wb:8080/kie-wb/rest
kie-wb.username=admin
kie-wb.password=admin
org.kie.server.controller=http://kie-wb:8080/kie-wb/rest
org.kie.server.location=http://admin-console:8200/api/server
org.kie.server.id=pymmaConsole2
adminConsole.tmpdir=/tmp
spring.servlet.multipart.enabled=false
kafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094

View file

@ -15,21 +15,18 @@ import org.chtijbug.drools.console.middle.DababaseContentInit;
import org.chtijbug.drools.console.service.model.kie.KieConfigurationData;
import org.chtijbug.drools.console.service.util.ApplicationContextProvider;
import org.chtijbug.drools.console.service.wbconnector.KieBusinessCentralConnector;
import org.chtijbug.drools.proxy.persistence.model.ProjectPersist;
import org.chtijbug.drools.proxy.persistence.repository.ProjectRepository;
import org.kie.server.api.model.KieContainerResource;
import org.kie.server.controller.api.model.KieServerSetup;
import org.kie.server.controller.api.model.runtime.ServerInstanceKey;
import org.kie.server.controller.api.model.runtime.ServerInstanceKeyList;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.event.ApplicationReadyEvent;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.context.event.EventListener;
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;
import org.springframework.kafka.annotation.EnableKafka;
import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
@ -172,9 +169,11 @@ public class DroolsSpringBootConsoleApplication extends SpringBootServletInitial
SpringApplication.run(DroolsSpringBootConsoleApplication.class, args);
}
// @EventListener(ApplicationReadyEvent.class)
@EventListener(ApplicationReadyEvent.class)
public void InitPlatform(){
dababaseContentInit.initDatabaseIfNecessary();
/**
Map<String,KieContainerResource> kies = new HashMap<>();
KieServerSetup kieServerSetup = kieBusinessCentralConnector.connectToBusinessCentral("nheron", "adminnheron00@");
if (kieServerSetup!= null && kieServerSetup.getContainers()!= null) {
@ -195,12 +194,17 @@ public class DroolsSpringBootConsoleApplication extends SpringBootServletInitial
ServerInstanceKeyList serverInstanceKeyList = kieBusinessCentralConnector.getListInstances("nheron", "adminnheron00@");
if (serverInstanceKeyList!=null){
for (ServerInstanceKey serverInstanceKey : serverInstanceKeyList.getServerInstanceKeys()){
//serverInstanceKey.get
String serverInstanceId = serverInstanceKey.getServerInstanceId();
ContainerList containerList = kieBusinessCentralConnector.getListContainers("nheron", "adminnheron00@", serverInstanceId);
System.out.println("coucou");
for (Container container : containerList.getContainers()){
}
}
System.out.println("coucou");
}
System.out.println("coucou");
**/
}

View file

@ -51,7 +51,7 @@ public class DababaseContentInit {
userGroupsRepository.save(new UserGroups(UUID.randomUUID().toString(),"admingroup"));
userGroupsRepository.save(new UserGroups(UUID.randomUUID().toString(),"demogroup"));
adminUser = new User(UUID.randomUUID().toString(),"admin","adminPymma00@");
adminUser = new User(UUID.randomUUID().toString(),"admin","adminadmin99#");
adminUser.getUserGroups().add(userGroupsRepository.findByName("kiemgmt"));
adminUser.getUserGroups().add(userGroupsRepository.findByName("admingroup"));
adminUser.getUserRoles().add(userRolesRepository.findByName("admin"));

View file

@ -22,7 +22,7 @@ import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
@RestController
@RequestMapping("/server/config")
@RequestMapping("/api/server/config")
public class KieServerResource {
public KieServerResource() {

View file

@ -33,7 +33,7 @@ import static org.kie.server.api.rest.RestURI.CONTAINER_ID;
@RestController
@RequestMapping("/server")
@RequestMapping("/api/server")
public class KieServerRestImpl {
@Value(value = "${org.kie.server.id}")

View file

@ -7,6 +7,7 @@ import org.apache.commons.codec.binary.Base64;
import org.chtijbug.drools.proxy.persistence.model.ProjectPersist;
import org.kie.server.api.model.*;
import org.kie.server.controller.api.model.KieServerSetup;
import org.kie.server.controller.api.model.runtime.ContainerList;
import org.kie.server.controller.api.model.runtime.ServerInstanceKeyList;
import org.kie.server.controller.api.model.spec.ContainerSpec;
import org.kie.server.controller.api.model.spec.ServerTemplateKey;
@ -150,7 +151,34 @@ public class KieBusinessCentralConnector {
return null;
}
}
public ContainerList getListContainers(String username, String password,String serverInstanceId){
String completeurl=kiewbUrl+"/controller/runtime/servers/"+kieserverID+"/instances/"+serverInstanceId+"/containers";
ResponseEntity<ContainerList> response = restTemplateKiewb
.execute(completeurl, HttpMethod.GET, requestCallback(null, username, password), clientHttpResponse -> {
ContainerList extractedResponse;
ResponseEntity<ContainerList> extractedValue=null;
if (clientHttpResponse.getBody() != null) {
//Scanner s = new Scanner(clientHttpResponse.getBody()).useDelimiter("\\A");
//String result = s.hasNext() ? s.next() : "";
String result = StreamUtils.copyToString(clientHttpResponse.getBody(), Charset.defaultCharset());
if (result==null || result.length()==0){
}else {
extractedResponse = mapper.readValue(result, ContainerList.class);
extractedValue = new ResponseEntity<>(extractedResponse, clientHttpResponse.getHeaders(), clientHttpResponse.getStatusCode());
}
}
return extractedValue;
});
if (response!= null) {
return response.getBody();
}else {
return null;
}
}
public KieServerSetup connectToBusinessCentral(String username, String password){
String completeurl=kiewbUrl+"/controller/server/"+kieserverID;
KieServerInfo kieServerInfo = new KieServerInfo();

View file

@ -56,6 +56,7 @@ public class GridActionLogging extends Grid<BusinessTransactionAction> {
public GridActionLogging(String idRequest) {
mapper.setDateFormat( new SimpleDateFormat("dd-MM-yyyy hh:mm"));
indexerService = AppContext.getApplicationContext().getBean(IndexerService.class);
setClassName("action-log-grid-perso");
@ -148,6 +149,7 @@ public class GridActionLogging extends Grid<BusinessTransactionAction> {
textArea.setReadOnly(true);
textArea.setClassName("content-log");
try {
mapper.setDateFormat( new SimpleDateFormat("dd-MM-yyyy hh:mm"));
String text = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(b.getInputData().getRealFact());
textArea.setValue(text);
} catch (JsonProcessingException e) {

View file

@ -1,38 +1,149 @@
package org.chtijbug.drools.console.view;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.helger.commons.csv.CSVWriter;
import com.vaadin.flow.component.html.Anchor;
import com.vaadin.flow.component.html.Label;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.server.StreamResource;
import org.apache.commons.io.IOUtils;
import org.chtijbug.drools.console.service.IndexerService;
import org.chtijbug.drools.console.service.util.AppContext;
import org.chtijbug.drools.console.vaadinComponent.ComponentPerso.DialogPerso;
import org.chtijbug.drools.console.vaadinComponent.componentView.GridActionLogging;
import org.chtijbug.drools.logging.Fact;
import org.chtijbug.drools.proxy.persistence.model.BusinessTransactionAction;
import org.chtijbug.drools.proxy.persistence.model.BusinessTransactionPersistence;
import org.chtijbug.drools.proxy.persistence.model.EventType;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import java.io.IOException;
import java.io.InputStream;
import java.io.StringWriter;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class ActionLoggingView extends VerticalLayout {
private IndexerService indexerService;
private Label title;
private GridActionLogging gridActionLogging;
private String uniqueID;
private String dbID;
private ObjectMapper mapper = new ObjectMapper();
public ActionLoggingView(BusinessTransactionPersistence businessTransactionPersistence, DialogPerso dialogPerso) {
indexerService = AppContext.getApplicationContext().getBean(IndexerService.class);
dialogPerso.getClose().setVisible(false);
//Text text = new Text("Sessino Context ");
//dialogPerso.getBar().add(text);
this.uniqueID = businessTransactionPersistence.getTransactionId();
this.dbID = businessTransactionPersistence.getId();
title=new Label("TransactionID : "+businessTransactionPersistence.getId());
title = new Label("TransactionID : " + businessTransactionPersistence.getTransactionId() + "--" + businessTransactionPersistence.getId());
title.setClassName("creation-runtime-title");
add(title);
gridActionLogging = new GridActionLogging(businessTransactionPersistence.getId());
add(gridActionLogging);
Anchor anchor = new Anchor(new StreamResource(uniqueID.trim().toLowerCase()+".csv", this::getInputStream), "Export as CSV");
anchor.getElement().setAttribute("download", true);
add(gridActionLogging, anchor);
}
private InputStream getInputStream() {
try {
StringWriter stringWriter = new StringWriter();
CSVWriter csvWriter = new CSVWriter(stringWriter);
csvWriter.setSeparatorChar(';');
csvWriter.writeNext("start", "end", "eventtype", "position", "rulename", "package", "ruleflowgroup", "processID", "IOData", "when", "then");
List<BusinessTransactionAction> businessTransactionPersistences = indexerService.getBusinessTransactionActionRepository().findAllByBusinessTransactionId(dbID, Sort.by(new Sort.Order(Sort.Direction.ASC, "eventNumber")), PageRequest.of(0, 5000));
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
for (BusinessTransactionAction c : businessTransactionPersistences) {
String ruleName = "";
String packageName = "";
String beginDate = "";
String endDate = "";
String inputData = "";
String outputData = "";
if (c.getInputData() != null) {
//inputData = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(c.getInputData().getRealFact());
inputData = mapper.writeValueAsString(c.getInputData().getRealFact());
}
if (c.getOutputData() != null) {
//outputData = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(c.getOutputData().getRealFact());
outputData = mapper.writeValueAsString(c.getOutputData().getRealFact());
}
if (c.getRuleExecution() != null) {
ruleName = c.getRuleExecution().getRuleName();
packageName = c.getRuleExecution().getPackageName();
beginDate = simpleDateFormat.format(c.getRuleExecution().getStartDate());
endDate = simpleDateFormat.format(c.getRuleExecution().getEndDate());
}
//TODO Encode in string the json content
if (c.getEventType().equals(EventType.INPUT)) {
csvWriter.writeNext("", "", c.getEventType().name(), String.valueOf(c.getEventNumber()), "", "", "", "", "", "", "",c.getInputData().getFullClassName(),inputData);
} else if (c.getEventType().equals(EventType.OUPUT)) {
csvWriter.writeNext("", "", c.getEventType().name(), String.valueOf(c.getEventNumber()), "", "", "", "", "", "", "",c.getOutputData().getFullClassName(),outputData);
} else if (c.getEventType().equals(EventType.STARTPROCESS)) {
csvWriter.writeNext("", "", c.getEventType().name(), String.valueOf(c.getEventNumber()), "", "", "", "", "", "", "");
} else if (c.getEventType().equals(EventType.STOPPROCESS)) {
csvWriter.writeNext("", "", c.getEventType().name(), String.valueOf(c.getEventNumber()), "", "", "", "", "", "", "");
} else if (c.getEventType().equals(EventType.STARTRULEFLOWGROUP)
|| c.getEventType().equals(EventType.STOPTRULEFLOWGROUP)) {
csvWriter.writeNext("", "", "" + c.getEventType().name(), String.valueOf(c.getEventNumber()), "", "", c.getRuleflowGroupName());
} else if (c.getEventType().equals(EventType.STARTPROCESS)
|| c.getEventType().equals(EventType.STOPPROCESS)) {
csvWriter.writeNext("", "", c.getEventType().name(), String.valueOf(c.getEventNumber()), "", "", "", c.getProcessID(), "", "", "");
} else if (c.getEventType().equals(EventType.RULE)) {
List<String> datas = new ArrayList<>();
datas.add(simpleDateFormat.format(c.getRuleExecution().getStartDate()));
datas.add(simpleDateFormat.format(c.getRuleExecution().getEndDate()));
datas.add(c.getEventType().name());
datas.add(String.valueOf(c.getEventNumber()));
datas.add(c.getRuleExecution().getRuleName());
datas.add(c.getRuleExecution().getPackageName());
datas.add(c.getRuleflowGroupName());
datas.add(c.getProcessID());
datas.add("");
datas.add("");
for (Fact f : c.getRuleExecution().getWhenFacts()){
datas.add(f.getFullClassName());
datas.add(mapper.writeValueAsString(f.getRealFact()));
}
for (Fact f : c.getRuleExecution().getThenFacts()){
datas.add(f.getFullClassName());
datas.add(mapper.writeValueAsString(f.getRealFact()));
}
//csvWriter.writeAll("", "", c.getEventType().name(), String.valueOf(c.getEventNumber()), "", "", "", c.getProcessID(), "", "", "",datas);
csvWriter.writeAll(Collections.singletonList(datas));
} else {
csvWriter.writeNext(beginDate, endDate, c.getEventType().name(), String.valueOf(c.getEventNumber()),
ruleName, packageName, c.getRuleflowGroupName(), c.getProcessID()
);
}
}
return IOUtils.toInputStream(stringWriter.toString(), "UTF-8");
} catch (IOException e) {
e.printStackTrace();
return null;
}
}

View file

@ -29,7 +29,29 @@
<artifactId>assertj-core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.sun.activation</groupId>
<artifactId>javax.activation</artifactId>
<version>${javax.activation.version}</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>${jaxb.api.version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
<version>${jaxb.api.version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>${jaxb.api.version}</version>
</dependency>
</dependencies>
<build>
<plugins>

View file

@ -14,6 +14,17 @@
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>${jaxb.api.version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
<version>${jaxb.api.version}</version>
</dependency>
</dependencies>
<build>
<plugins>

View file

@ -28,7 +28,7 @@
<dependency>
<groupId>org.kie</groupId>
<artifactId>business-central</artifactId>
<classifier>wildfly18</classifier>
<classifier>wildfly19</classifier>
<version>${jbpm.version}</version>
<type>war</type>
<exclusions>
@ -36,8 +36,17 @@
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId>
<version>2.10.4</version>
</dependency>
<dependency>
<groupId>com.pymmasoftware.jbpm</groupId>
<artifactId>drools-framework-wildfly-login-module</artifactId>
@ -83,7 +92,7 @@
<artifactItem>
<groupId>org.kie</groupId>
<artifactId>business-central</artifactId>
<classifier>wildfly18</classifier>
<classifier>wildfly19</classifier>
<version>${jbpm.version}</version>
<type>war</type>
<outputDirectory>${project.build.directory}/unpack-tmp</outputDirectory>
@ -111,7 +120,7 @@
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
<excludeArtifactIds>drools-framework-wildfly-login-module</excludeArtifactIds>
<excludeArtifactIds>drools-framework-wildfly-login-module,jackson-module-jaxb-annotations:2.9.10</excludeArtifactIds>
<includeGroupIds>com.pymmasoftware.jbpm</includeGroupIds>
</configuration>
</execution>

View file

@ -3,7 +3,8 @@
###########################################################################
####### BASE ############
FROM jboss/keycloak-adapter-wildfly:latest
FROM jboss/wildfly:19.1.0.Final
####### MAINTAINER ############
MAINTAINER "Nicolas Héron" "nicolas.heron@pymma-software.com"

View file

@ -8,18 +8,17 @@
<servers>
<server>
<id>pymma-release</id>
<username>pymma-dev</username>
<password>VlcBe38jE9eNIu5H</password>
<id>pymma2-release</id>
<username>nheron</username>
<password>pymmalomme</password>
</server>
<server>
<id>pymma-snapshot</id>
<username>pymma-dev</username>
<password>VlcBe38jE9eNIu5H</password>
<id>pymma2-snapshot</id>
<username>nheron</username>
<password>pymmalomme</password>
</server>
</servers>
@ -31,21 +30,31 @@
<id>pymma-declasin</id>
<repositories>
<repository>
<id>pymma-release</id>
<name>pymma repo release</name>
<url>https://nexus.pymma-software.com/nexus/content/repositories/pymma-release/</url>
<id>pymma2-snapshot</id>
<name>pymma2 repo release</name>
<url>https://nexus.pymma-software.net/repository/pymma-snapshot/</url>
<releases>
<enabled>false</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>ignore</checksumPolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>ignore</checksumPolicy>
</snapshots>
</repository>
<repository>
<id>pymma2-release</id>
<name>pymma2 repo release</name>
<url>https://nexus.pymma-software.net/repository/pymma-release/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>ignore</checksumPolicy>
</releases>
</repository>
<repository>
<id>pymma-snapshot</id>
<name>pymma repo release</name>
<url>https://nexus.pymma-software.com/nexus/content/repositories/pymma-snapshot/</url>
<snapshots>
<enabled>true</enabled>
<enabled>false</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>ignore</checksumPolicy>
</snapshots>
@ -57,7 +66,6 @@
</profile>
</profiles>
<activeProfiles>

View file

@ -65,5 +65,34 @@
<groupId>org.kie</groupId>
<artifactId>kie-internal</artifactId>
</dependency>
<dependency>
<groupId>com.sun.activation</groupId>
<artifactId>javax.activation</artifactId>
<version>${javax.activation.version}</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>${jaxb.api.version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
<version>${jaxb.api.version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>${jaxb.api.version}</version>
</dependency>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>

View file

@ -100,7 +100,7 @@
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId>
<version>2.8.9</version>
<version>2.10.4</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>

View file

@ -82,8 +82,13 @@
<orderEntry type="library" name="Maven: commons-io:commons-io:2.1" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.10.3" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.10.3" level="project" />
<orderEntry type="library" name="Maven: org.kie:kie-internal:7.39.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.kie:kie-api:7.39.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.kie.soup:kie-soup-maven-support:7.39.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.kie:kie-internal:7.40.0.20200703" level="project" />
<orderEntry type="library" name="Maven: org.kie:kie-api:7.40.0.20200703" level="project" />
<orderEntry type="library" name="Maven: org.kie.soup:kie-soup-maven-support:7.40.0.20200703" level="project" />
<orderEntry type="library" name="Maven: com.sun.activation:javax.activation:1.2.0" level="project" />
<orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
<orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
<orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-core:2.3.0" level="project" />
<orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-impl:2.3.0" level="project" />
</component>
</module>

View file

@ -1,4 +1,4 @@
FROM openjdk:8-jre-slim
FROM azul/zulu-openjdk-debian:11
ADD application.properties /application.properties

View file

@ -7,3 +7,5 @@ kieserver.password=kieserver1
server.port=8070
spring.data.mongodb.database=businessProxyDB
spring.data.mongodb.host=mongodb:27017
kafka.index.groupid=index1
kafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094

View file

@ -52,6 +52,8 @@ public class DroolsBusinessIndexerServer {
Map<String, Object> props = new HashMap<>();
props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapAddress);
props.put(ConsumerConfig.GROUP_ID_CONFIG, groupID);
props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, JsonDeserializer.class);
return new DefaultKafkaConsumerFactory<>(props, new StringDeserializer(), new JsonDeserializer<>(ChtijbugObjectRequest.class));
}
@Bean

View file

@ -95,8 +95,12 @@
<orderEntry type="library" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:13.0.1" level="project" />
<orderEntry type="library" name="Maven: commons-io:commons-io:2.1" level="project" />
<orderEntry type="library" name="Maven: org.kie:kie-internal:7.39.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.kie:kie-api:7.39.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.kie.soup:kie-soup-maven-support:7.39.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.kie:kie-internal:7.40.0.20200703" level="project" />
<orderEntry type="library" name="Maven: org.kie:kie-api:7.40.0.20200703" level="project" />
<orderEntry type="library" name="Maven: org.kie.soup:kie-soup-maven-support:7.40.0.20200703" level="project" />
<orderEntry type="library" name="Maven: com.sun.activation:javax.activation:1.2.0" level="project" />
<orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.0" level="project" />
<orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-core:2.3.0" level="project" />
<orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-impl:2.3.0" level="project" />
</component>
</module>

View file

@ -1,8 +1,9 @@
FROM openjdk:8-jre-slim
FROM azul/zulu-openjdk-debian:11
EXPOSE 9080
EXPOSE 8090
EXPOSE 4000
RUN apt-get update && apt-get install -y wget procps
ADD application.properties /application.properties
ADD maven/drools-framework-business-proxy-app.jar app.jar
USER root

View file

@ -22,3 +22,5 @@ camel.component.servlet.mapping.context-path=/api/*
spring.data.mongodb.database=businessProxyDB
spring.data.mongodb.host=mongodb:27017
kie-wb.m2repo=http://kie-wb:8080/kie-wb/maven2/
kafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094

View file

@ -5,7 +5,7 @@
<server>
<id>guvnor-m2-repo</id>
<username>admin</username>
<password>admin</password>
<password>adminadmin99#</password>
<configuration>
<wagonProvider>httpclient</wagonProvider>
<httpConfiguration>
@ -23,7 +23,7 @@
<repository>
<id>guvnor-m2-repo</id>
<name>Guvnor M2 Repo</name>
<url>${kie-wb.m2repo}</url>
<url>http://kie-wb:8080/kie-wb/maven2/</url>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
@ -42,7 +42,7 @@
<pluginRepository>
<id>guvnor-m2-repo</id>
<name>Guvnor M2 Repo</name>
<url>${kie-wb.m2repo}</url>
<url>http://kie-wb:8080/kie-wb/maven2/</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>

View file

@ -16,6 +16,9 @@
*/
package org.chtijbug.drools.proxy;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import org.apache.kafka.clients.admin.AdminClientConfig;
import org.apache.kafka.clients.admin.NewTopic;
import org.apache.kafka.clients.consumer.ConsumerConfig;
@ -83,6 +86,10 @@ public class DroolsBusinessProxyServer {
configProps.put(
ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,
JsonSerializer.class);
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.registerModule(new JavaTimeModule());
objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
new DefaultKafkaProducerFactory<>(configProps, new StringSerializer(), new JsonSerializer<ChtijbugObjectRequest>(objectMapper));
return new DefaultKafkaProducerFactory<>(configProps);
}
@Bean

View file

@ -41,9 +41,14 @@
<orderEntry type="library" name="Maven: com.google.guava:guava:13.0.1" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.10.3" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.10.3" level="project" />
<orderEntry type="library" name="Maven: org.kie:kie-internal:7.39.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.kie:kie-api:7.39.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.kie.soup:kie-soup-maven-support:7.39.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.kie:kie-internal:7.40.0.20200703" level="project" />
<orderEntry type="library" name="Maven: org.kie:kie-api:7.40.0.20200703" level="project" />
<orderEntry type="library" name="Maven: org.kie.soup:kie-soup-maven-support:7.40.0.20200703" level="project" />
<orderEntry type="library" name="Maven: com.sun.activation:javax.activation:1.2.0" level="project" />
<orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
<orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
<orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-core:2.3.0" level="project" />
<orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-impl:2.3.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework.kafka:spring-kafka:2.3.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.kafka:kafka-clients:2.3.1" level="project" />
<orderEntry type="library" name="Maven: com.github.luben:zstd-jni:1.4.0-1" level="project" />

View file

@ -1,4 +1,4 @@
FROM openjdk:8-jre-slim
FROM azul/zulu-openjdk-debian:11
ADD application.properties /application.properties
@ -8,5 +8,9 @@ ADD maven/drools-framework-business-reverse-proxy.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Dspring.config.location=file:./","-jar","/app.jar"]
ENV JAVA_OPTS "-Dspring.config.location=file:./ "
ENTRYPOINT exec java $JAVA_OPTS $PYMMA_OPTS -jar /app.jar
#ENTRYPOINT ["java","-Dspring.config.location=file:./","-jar","/app.jar"]
#ENTRYPOINT ["java","-jar","/app.jar"]

View file

@ -2,3 +2,4 @@ server.port=9500
spring.data.mongodb.database=businessProxyDB
spring.data.mongodb.host=mongodb:27017
kafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094

View file

@ -17,7 +17,7 @@
<packaging>pom</packaging>
<properties>
<jbpm.version>7.39.0.Final</jbpm.version>
<jbpm.version>7.40.0.20200703</jbpm.version>
<node.version>v10.16.3</node.version>
<npm.version>6.11.3</npm.version>
<frontend-maven-plugin.version>1.8.0</frontend-maven-plugin.version>
@ -32,9 +32,8 @@
<version.mongodb.driver>3.8.2</version.mongodb.driver>
<version.number>${git.commit.time}.${git.commit.id.abbrev}</version.number>
<kafka.version>2.3.7.RELEASE</kafka.version>
<javax.activation.version>1.2.0</javax.activation.version>
<jaxb.api.version>2.3.0</jaxb.api.version>
</properties>
<profiles>
<profile>