Add swarm Version + jackson version

This commit is contained in:
Nicolas Héron 2018-10-29 16:40:10 +01:00
commit c90278d77b
20 changed files with 414 additions and 23 deletions

View file

@ -54,6 +54,7 @@ if [ "x$JAVA_OPTS" = "x" ]; then
JAVA_OPTS = "-Xms4096m -Xmx10012m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true" JAVA_OPTS = "-Xms4096m -Xmx10012m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true"
JAVA_OPTS = "$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true" JAVA_OPTS = "$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true"
JAVA_OPTS = "$JAVA_OPTS -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=556m -XX:+DisableExplicitGC -DM2_HOME=/home/nheron/m2_kieserver -Dorg.kie.server.controller=http://localhost:8080/kie-wb/rest/controller -Durl.swimmingpool.calculate=http://localhost:10080/kie-server -Dorg.chtijbug.server.tracedir=/home/nheron/kie-servertrace -Dorg.appformer.m2repo.url=http://localhost:8080/kie-wb/maven2 -Dorg.kie.server.repo=/Users/nheron/kie-base-jbpm-710/niodir-kieserver -Dorg.uberfire.nio.git.dir=/Users/nheron/kie-base-jbpm-710/niodir-kieserve -Dkie.maven.settings.custom=/Users/nheron/m2_kieserver/settings.xml" JAVA_OPTS = "$JAVA_OPTS -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=556m -XX:+DisableExplicitGC -DM2_HOME=/home/nheron/m2_kieserver -Dorg.kie.server.controller=http://localhost:8080/kie-wb/rest/controller -Durl.swimmingpool.calculate=http://localhost:10080/kie-server -Dorg.chtijbug.server.tracedir=/home/nheron/kie-servertrace -Dorg.appformer.m2repo.url=http://localhost:8080/kie-wb/maven2 -Dorg.kie.server.repo=/Users/nheron/kie-base-jbpm-710/niodir-kieserver -Dorg.uberfire.nio.git.dir=/Users/nheron/kie-base-jbpm-710/niodir-kieserve -Dkie.maven.settings.custom=/Users/nheron/m2_kieserver/settings.xml"
JAVA_OPTS = "$JAVA_OPTS -Dfile.encoding=UTF-8 -Duser.country=FR -Duser.language=fr -Dsun.locale.formatasdefault=true "
else else
echo "JAVA_OPTS already set in environment; overriding default settings with values: $JAVA_OPTS" echo "JAVA_OPTS already set in environment; overriding default settings with values: $JAVA_OPTS"
fi fi

View file

@ -167,12 +167,12 @@
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId> <artifactId>jackson-databind</artifactId>
<version>2.3.5</version> <version>2.8.9</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId> <artifactId>jackson-annotations</artifactId>
<version>2.3.5</version> <version>2.8.9</version>
</dependency> </dependency>
<dependency> <dependency>

View file

@ -25,12 +25,12 @@
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId> <artifactId>jackson-databind</artifactId>
<version>2.3.5</version> <version>2.8.9</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId> <artifactId>jackson-annotations</artifactId>
<version>2.3.5</version> <version>2.8.9</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>

View file

@ -63,16 +63,6 @@
<dependency> <dependency>
<groupId>org.kie.server</groupId> <groupId>org.kie.server</groupId>
<artifactId>kie-server-api</artifactId> <artifactId>kie-server-api</artifactId>
<exclusions>
<exclusion>
<artifactId>jackson-core-asl</artifactId>
<groupId>org.codehaus.jackson</groupId>
</exclusion>
<exclusion>
<artifactId>jackson-mapper-asl</artifactId>
<groupId>org.codehaus.jackson</groupId>
</exclusion>
</exclusions>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.kie.server</groupId> <groupId>org.kie.server</groupId>

View file

@ -156,6 +156,7 @@ public class GenericResource {
} catch (ClassCastException e) { } catch (ClassCastException e) {
logger.info("GenericResource.runSession", e); logger.info("GenericResource.runSession", e);
} }
ChtijbugObjectRequest chtijbugObjectRequest = new ChtijbugObjectRequest();
try { try {
KieContainerInstance kci = registry.getContainer(id); KieContainerInstance kci = registry.getContainer(id);
@ -165,7 +166,7 @@ public class GenericResource {
if (foundClass != null) { if (foundClass != null) {
ClassLoader classLoader = foundClass.getClassLoader(); ClassLoader classLoader = foundClass.getClassLoader();
Object input = mapper.readValue(objectRequest, classLoader.loadClass(className)); Object input = mapper.readValue(objectRequest, classLoader.loadClass(className));
ChtijbugObjectRequest chtijbugObjectRequest = new ChtijbugObjectRequest();
chtijbugObjectRequest.setObjectRequest(input); chtijbugObjectRequest.setObjectRequest(input);
KieServerAddOnElement kieServerAddOnElement = rulesExecutionService.getKieServerAddOnElement(); KieServerAddOnElement kieServerAddOnElement = rulesExecutionService.getKieServerAddOnElement();
if (kieServerAddOnElement != null) { if (kieServerAddOnElement != null) {

View file

@ -0,0 +1,58 @@
# ignore .svn metadata files
.svn
# ignore Maven generated target folders
~
target
# ignore eclipse files
.project
.classpath
.settings
.metadata
# ignore m2e annotation processing files
.factorypath
# ignore IDEA files
*.iml
*.ipr
*.iws
.idea
# ignore NetBeans files
nbactions.xml
nb-configuration.xml
catalog.xml
#
maven-ant-tasks.jar
test-output
transaction.log
# vim files
*.swp
/.gitk-tmp.*
atlassian-ide-plugin.xml
# temp files
*~
# maven versions plugin
pom.xml.versionsBackup
# hprof dumps
/*.hprof
# ignore 'randomly' strewn around logs
server.log
# ignore java crashes
hs_err_pid*.log
# H2 databases produced by tests
*.h2.db
*.trace.db
*.lock.db
# JBoss transaction generated files
PutObjectStoreDirHere
# ignore mvn-rpmbuild repo
/.m2
# ignore eap repo
local-repo-eap
# Dependency reduced pom
*/dependency-reduced-pom.xml
#OS X index files
.DS_Store
testsuite-core/standalone/cli_output
tmp
log
*.log
embedded-cassandra.log*

View file

@ -0,0 +1,9 @@
*org.wildfly.swarm.bootstrap
org.wildfly.swarm.container
org.wildfly.swarm.jaxrs
org.wildfly.swarm.security
org.wildfly.swarm.configuration
io.undertow.servlet
io.undertow.core
org.jboss.resteasy.resteasy-jackson-provider

View file

@ -0,0 +1,141 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright 2015 Red Hat, Inc. and/or its affiliates.
~
~ Licensed under the Apache License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0
-->
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>drools-framework-kie-server-parent</artifactId>
<groupId>com.pymmasoftware.jbpm</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<groupId>io.thorntail</groupId>
<artifactId>drools-chtijbug-server</artifactId>
<name>Drools Chtijbug standalone Server</name>
<description>Drools Server thorntail</description>
<packaging>jar</packaging>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>bom</artifactId>
<version>${version.thorntail}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>container</artifactId>
<version>${version.thorntail}</version>
</dependency>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>spi</artifactId>
<version>${version.thorntail}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>jaxrs</artifactId>
<version>${version.thorntail}</version>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.enterprise</groupId>
<artifactId>cdi-api</artifactId>
<version>1.2</version>
<scope>provided</scope>
</dependency>
<!-- kie drools server dependencies -->
<dependency>
<groupId>org.kie.server</groupId>
<artifactId>kie-server-services-common</artifactId>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
<exclusion>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
</exclusion>
<exclusion>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.jboss.spec.javax.security.jacc</groupId>
<artifactId>jboss-jacc-api_1.4_spec</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</exclusion>
<exclusion>
<artifactId>jaxrs-api</artifactId>
<groupId>org.jboss.resteasy</groupId>
</exclusion>
<exclusion>
<artifactId>resteasy-jaxrs</artifactId>
<groupId>org.jboss.resteasy</groupId>
</exclusion>
<exclusion>
<artifactId>resteasy-jaxb-provider</artifactId>
<groupId>org.jboss.resteasy</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.kie.server</groupId>
<artifactId>kie-server-rest-common</artifactId>
</dependency>
<!-- drools kie server dependencies -->
<dependency>
<groupId>org.kie.server</groupId>
<artifactId>kie-server-services-drools</artifactId>
</dependency>
<dependency>
<groupId>org.kie.server</groupId>
<artifactId>kie-server-rest-drools</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging-annotations</artifactId>
<version>2.1.0.Final</version>
<!-- This is a compile-time dependency of this project, but is not needed at compile or runtime by other
projects that depend on this project.-->
<scope>provided</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging-processor</artifactId>
<version>2.1.0.Final</version>
<!-- This is a compile-time dependency of this project, but is not needed at compile or runtime by other
projects that depend on this project.-->
<scope>provided</scope>
<optional>true</optional>
</dependency>
</dependencies>
</project>

View file

@ -0,0 +1,47 @@
package org.wildfly.swarm.drools.server.runtime;
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.wildfly.swarm.bootstrap.util.TempFileManager;
import org.wildfly.swarm.jaxrs.JAXRSArchive;
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.inject.Produces;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
/**
* @author Ken Finnigan
*/
@ApplicationScoped
public class DroolsDeploymentProducer {
private static String configFolder = System.getProperty("org.drools.server.swarm.web.conf");
@Produces
public Archive droolsWar() throws Exception {
if (System.getProperty("org.drools.server.swarm.web.conf") == null) {
//Path dir = Files.createTempDirectory("swarm-keycloak-config");
File dir = TempFileManager.INSTANCE.newTempDirectory("swarm-drools-web-config", ".d");
System.setProperty("org.drools.server.swarm.conf", dir.getAbsolutePath());
Files.copy(getClass().getClassLoader().getResourceAsStream("config/web/web.xml"),
dir.toPath().resolve("web.xml"),
StandardCopyOption.REPLACE_EXISTING);
Files.copy(getClass().getClassLoader().getResourceAsStream("config/web/jboss-web.xml"),
dir.toPath().resolve("jboss-web.xml"),
StandardCopyOption.REPLACE_EXISTING);
configFolder = dir.toPath().toString();
}
DroolsMessages.MESSAGES.configurationDirectory(configFolder);
JAXRSArchive deployment = ShrinkWrap.create(JAXRSArchive.class, "drools-server.war");
deployment.addAllDependencies();
deployment.addAsWebInfResource(new File(configFolder + "/web.xml"), "web.xml");
deployment.addAsWebInfResource(new File(configFolder + "/jboss-web.xml"), "jboss-web.xml");
return deployment;
}
}

View file

@ -0,0 +1,40 @@
/*
* JBoss, Home of Professional Open Source.
*
* Copyright 2016 Red Hat, Inc., and individual contributors
* as indicated by the @author tags.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.wildfly.swarm.drools.server.runtime;
import org.jboss.logging.BasicLogger;
import org.jboss.logging.Logger;
import org.jboss.logging.annotations.LogMessage;
import org.jboss.logging.annotations.Message;
import org.jboss.logging.annotations.MessageLogger;
/**
* @author <a href="mailto:jperkins@redhat.com">James R. Perkins</a>
*/
@MessageLogger(projectCode = "TTDROOLS", length = 4)
public interface DroolsMessages extends BasicLogger {
DroolsMessages MESSAGES = Logger.getMessageLogger(DroolsMessages.class, "org.wildfly.swarm.drools");
@LogMessage(level = Logger.Level.DEBUG)
@Message(id = 1, value = "Configuration directory: %s")
void configurationDirectory(String dir);
}

View file

@ -0,0 +1,63 @@
package org.wildfly.swarm.drools.server.runtime;
import org.wildfly.swarm.bootstrap.util.TempFileManager;
import org.wildfly.swarm.config.security.Flag;
import org.wildfly.swarm.config.security.SecurityDomain;
import org.wildfly.swarm.config.security.security_domain.ClassicAuthentication;
import org.wildfly.swarm.config.security.security_domain.authentication.LoginModule;
import org.wildfly.swarm.security.SecurityFraction;
import org.wildfly.swarm.spi.api.Customizer;
import org.wildfly.swarm.spi.runtime.annotations.Post;
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.inject.Any;
import javax.enterprise.inject.Instance;
import javax.inject.Inject;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
/**
* @author Ken Finnigan
*/
@Post
@ApplicationScoped
public class DroolsSetup implements Customizer {
private static String configFolder = System.getProperty("org.drools.server.swarm.security.conf");
@Inject
@Any
Instance<SecurityFraction> security;
@Override
public void customize() throws Exception {
if (System.getProperty("org.drools.server.swarm.security.conf") == null) {
//Path dir = Files.createTempDirectory("swarm-keycloak-config");
File dir = TempFileManager.INSTANCE.newTempDirectory("swarm-drools-security-config", ".d");
System.setProperty("org.drools.server.swarm.conf", dir.getAbsolutePath());
Files.copy(getClass().getClassLoader().getResourceAsStream("config/security/application-users.properties"),
dir.toPath().resolve("application-users.properties"),
StandardCopyOption.REPLACE_EXISTING);
Files.copy(getClass().getClassLoader().getResourceAsStream("config/security/application-roles.properties"),
dir.toPath().resolve("application-roles.properties"),
StandardCopyOption.REPLACE_EXISTING);
configFolder = dir.toPath().toString();
}
LoginModule<?> loginModule = new LoginModule<>("UsersRoles");
loginModule.flag(Flag.REQUIRED)
.code("UsersRoles")
.moduleOption("usersProperties", configFolder + "/application-users.properties")
.moduleOption("rolesProperties", configFolder + "/application-roles.properties");
if (!this.security.isUnsatisfied()) {
SecurityDomain<?> security = new SecurityDomain<>("other-drools")
.classicAuthentication(new ClassicAuthentication<>()
.loginModule(loginModule));
this.security.get().securityDomain(security);
}
}
}

View file

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<context-root>/drools</context-root>
<security-domain>other-drools</security-domain>
</jboss-web>

View file

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
version="3.0"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<security-constraint>
<web-resource-collection>
<web-resource-name>REST web resources</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>kie-server</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>KIE Server</realm-name>
</login-config>
<security-role>
<role-name>kie-server</role-name>
</security-role>
</web-app>

View file

@ -15,6 +15,8 @@
<module>drools-framework-kie-server-rest-drools</module> <module>drools-framework-kie-server-rest-drools</module>
<module>drools-framework-kie-server-client-connector</module> <module>drools-framework-kie-server-client-connector</module>
<module>drools-framework-kie-server-extension-interface</module> <module>drools-framework-kie-server-extension-interface</module>
<!--module>drools-framework-thorntail-jar</module>
<module>drools-framework-kie-server-thorntail</module-->
<!--module>drools-framework-kie-server-spring-boot-autoconfiguration-drools</module> <!--module>drools-framework-kie-server-spring-boot-autoconfiguration-drools</module>
<module>drools-framework-kie-server-spring-boot</module--> <module>drools-framework-kie-server-spring-boot</module-->
</modules> </modules>

View file

@ -34,7 +34,7 @@
<dependency> <dependency>
<groupId>org.kie.soup</groupId> <groupId>org.kie.soup</groupId>
<artifactId>kie-soup-bom</artifactId> <artifactId>kie-soup-bom</artifactId>
<version>7.12.0.Final</version> <version>${jbpm.version}</version>
<type>pom</type> <type>pom</type>
<scope>import</scope> <scope>import</scope>
</dependency> </dependency>

View file

@ -44,19 +44,19 @@
</build> </build>
<dependencies> <dependencies>
<dependency> <!--dependency>
<groupId>com.google.guava</groupId> <groupId>com.google.guava</groupId>
<artifactId>guava</artifactId> <artifactId>guava</artifactId>
</dependency> </dependency-->
<dependency> <dependency>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<artifactId>drools-framework-common</artifactId> <artifactId>drools-framework-common</artifactId>
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
<dependency> <!--dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId> <artifactId>jackson-annotations</artifactId>
</dependency> </dependency-->
<dependency> <dependency>
<groupId>commons-io</groupId> <groupId>commons-io</groupId>
<artifactId>commons-io</artifactId> <artifactId>commons-io</artifactId>

12
pom.xml
View file

@ -25,6 +25,7 @@
<jbpm.version>7.13.0.Final</jbpm.version> <jbpm.version>7.13.0.Final</jbpm.version>
<spring.boot.version>1.5.9.Release</spring.boot.version> <spring.boot.version>1.5.9.Release</spring.boot.version>
<spring.version>4.3.3.Release</spring.version> <spring.version>4.3.3.Release</spring.version>
<version.thorntail>2.3.0.Final-SNAPSHOT</version.thorntail>
</properties> </properties>
<build> <build>
@ -108,7 +109,7 @@
<dependency> <dependency>
<groupId>org.codehaus.jettison</groupId> <groupId>org.codehaus.jettison</groupId>
<artifactId>jettison</artifactId> <artifactId>jettison</artifactId>
<version>1.3.1</version> <version>1.4.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>commons-beanutils</groupId> <groupId>commons-beanutils</groupId>
@ -128,12 +129,17 @@
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId> <artifactId>jackson-annotations</artifactId>
<version>2.4.0</version> <version>2.8.9</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId> <artifactId>jackson-databind</artifactId>
<version>2.4.0</version> <version>2.8.9</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId>
<version>2.8.9</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>ch.qos.logback</groupId> <groupId>ch.qos.logback</groupId>