diff options
15 files changed, 251 insertions, 154 deletions
diff --git a/api/pom.xml b/api/pom.xml index 48a9beb..272f144 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -6,7 +6,7 @@ <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>taskmanager-api</name> - <url>http://maven.apache.org</url> + <url>https://git.openslx.org/openslx-ng/taskman-lite.git</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> @@ -17,13 +17,16 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> - <version>3.1</version> + <version>3.8.1</version> <configuration> - <source>1.7</source> - <target>1.7</target> + <source>1.8</source> + <target>1.8</target> + <release>8</release> + <compilerArgument>-Xlint:all</compilerArgument> </configuration> </plugin> <plugin> + <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <executions> <execution> @@ -44,21 +47,21 @@ <dependencies> <dependency> - <groupId>log4j</groupId> - <artifactId>log4j</artifactId> - <version>1.2.17</version> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-api</artifactId> + <version>[2.17,2.9999]</version> <scope>compile</scope> </dependency> <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-log4j12</artifactId> - <version>1.7.5</version> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-core</artifactId> + <version>[2.17,2.9999]</version> <scope>compile</scope> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> - <version>2.2.4</version> + <version>[2.0,2.9999]</version> <scope>compile</scope> </dependency> </dependencies> diff --git a/api/src/main/java/org/openslx/taskmanager/api/AbstractTask.java b/api/src/main/java/org/openslx/taskmanager/api/AbstractTask.java index 18cbe76..43240ce 100644 --- a/api/src/main/java/org/openslx/taskmanager/api/AbstractTask.java +++ b/api/src/main/java/org/openslx/taskmanager/api/AbstractTask.java @@ -2,7 +2,8 @@ package org.openslx.taskmanager.api; import java.util.UUID; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.openslx.taskmanager.api.TaskStatus.StatusCode; import com.google.gson.annotations.Expose; @@ -11,7 +12,7 @@ public abstract class AbstractTask implements Runnable { private static final long RELEASE_DELAY = 10l * 60l * 1000l; - private static final Logger LOG = Logger.getLogger( AbstractTask.class ); + private static final Logger LOG = LogManager.getLogger( AbstractTask.class ); /* * To be set from task invocation (json data) @@ -199,7 +200,7 @@ public abstract class AbstractTask implements Runnable this.status.statusCode = StatusCode.PARENT_FAILED; LOG.debug( "Parent " + this.parentTask + " of " + this.id + " failed." ); } - this.parentTask = null; + this.parent = null; break; default: break; diff --git a/daemon/src/main/java/org/openslx/taskmanager/Environment.java b/api/src/main/java/org/openslx/taskmanager/api/Environment.java index acbfad4..e5705db 100644 --- a/daemon/src/main/java/org/openslx/taskmanager/Environment.java +++ b/api/src/main/java/org/openslx/taskmanager/api/Environment.java @@ -1,13 +1,16 @@ -package org.openslx.taskmanager; +package org.openslx.taskmanager.api; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; +import java.util.Collections; import java.util.LinkedHashMap; import java.util.Map; -import java.util.Map.Entry; +import java.util.regex.Matcher; +import java.util.regex.Pattern; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; /** * Holds the environment that tasks running a system command *should* @@ -16,28 +19,40 @@ import org.apache.log4j.Logger; public class Environment { - private static final Logger log = Logger.getLogger( Environment.class ); + private static final Logger log = LogManager.getLogger( Environment.class ); - private static Map<String, String> env = new LinkedHashMap<>(); + private static Map<String, String> env = null; public static boolean load( String fileName ) { + if ( env != null ) + throw new RuntimeException( "Already loaded" ); try { + Pattern regex = Pattern.compile( "^([a-zA-Z0-9_]+)(|=.*)$" ); FileReader fileReader = new FileReader( fileName ); BufferedReader bufferedReader = new BufferedReader( fileReader ); Map<String, String> env = new LinkedHashMap<>(); String line = null; while ( ( line = bufferedReader.readLine() ) != null ) { - if ( !line.matches( "^[a-zA-Z0-9_]+=" ) ) + Matcher m = regex.matcher( line ); + if ( !m.matches() ) continue; - String[] part = line.split( "=", 2 ); - env.put( part[0], part[1] ); + String name = m.group( 1 ); + String value = m.group( 2 ); + if ( value.isEmpty() ) { + value = System.getenv( name ); + } else { + value = value.substring( 1 ); + } + if ( value != null ) { + env.put( name, value ); + } } bufferedReader.close(); - Environment.env = env; + Environment.env = Collections.unmodifiableMap( env ); log.info( "Loaded " + env.size() + " environment lines." ); } catch ( IOException e ) { log.info( "Could not load environment definition from " + fileName + ". Processes might use the same environment as this thread." ); @@ -45,23 +60,10 @@ public class Environment } return true; } - - public static void set( Map<String, String> environment ) + + public static Map<String, String> get() { - environment.clear(); - environment.putAll( env ); - } - - public static String[] get() - { - // Get reference to env so it doesn't change while in this function (load() from other thread) - Map<String, String> env = Environment.env; - String ret[] = new String[ env.size() ]; - int i = 0; - for ( Entry<String, String> it : env.entrySet() ) { - ret[i++] = it.getKey() + "=" + it.getValue(); - } - return ret; + return env; } } diff --git a/api/src/main/java/org/openslx/taskmanager/api/SystemCommandTask.java b/api/src/main/java/org/openslx/taskmanager/api/SystemCommandTask.java index 18c8ecc..4754dca 100644 --- a/api/src/main/java/org/openslx/taskmanager/api/SystemCommandTask.java +++ b/api/src/main/java/org/openslx/taskmanager/api/SystemCommandTask.java @@ -7,13 +7,15 @@ import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; import java.util.Arrays; import java.util.Map; +import java.util.concurrent.TimeUnit; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; public abstract class SystemCommandTask extends AbstractTask { - private static final Logger log = Logger.getLogger( SystemCommandTask.class ); + private static final Logger log = LogManager.getLogger( SystemCommandTask.class ); private String[] command = null; @@ -39,8 +41,8 @@ public abstract class SystemCommandTask extends AbstractTask if ( command == null || command.length == 0 ) { return processEnded( -1 ); } - for (String a : command) { - if (a == null) { + for ( String a : command ) { + if ( a == null ) { log.warn( "An argument from initCommandLine is null: " + Arrays.toString( command ) ); return processEnded( -5 ); } @@ -48,7 +50,12 @@ public abstract class SystemCommandTask extends AbstractTask ProcessBuilder pb = new ProcessBuilder( command ); pb.directory( new File( "/" ) ); - initEnvironment( pb.environment() ); + Map<String, String> env = pb.environment(); + if ( Environment.get() != null ) { + env.clear(); + env.putAll( Environment.get() ); + } + initEnvironment( env ); try { @@ -104,23 +111,15 @@ public abstract class SystemCommandTask extends AbstractTask // Wait for everything int retval = 124; // Default to 124, which is what the timeout util does - if ( this.timeoutSeconds <= 0 ) { - retval = process.waitFor(); - } else { - int togo = timeoutSeconds * 10; - while ( togo-- > 0 ) { - try { + try { + if ( this.timeoutSeconds <= 0 ) { + retval = process.waitFor(); + } else { + if ( process.waitFor( this.timeoutSeconds, TimeUnit.SECONDS ) ) { retval = process.exitValue(); - break; - } catch ( IllegalThreadStateException e1 ) { - // Still running.... - try { - Thread.sleep( 100 ); - } catch ( Exception e2 ) { - // Bummer.... - } } } + } catch ( IllegalThreadStateException e1 ) { } try { stdout.join( 500 ); @@ -149,8 +148,9 @@ public abstract class SystemCommandTask extends AbstractTask Thread.currentThread().interrupt(); return false; } finally { - if ( process != null ) + if ( process != null ) { process.destroy(); + } } } @@ -211,6 +211,7 @@ public abstract class SystemCommandTask extends AbstractTask /** * Override this to modify the environment of the process to be started. + * * @param environment */ protected void initEnvironment( Map<String, String> environment ) diff --git a/daemon/pom.xml b/daemon/pom.xml index 0d75e1a..62ae204 100644 --- a/daemon/pom.xml +++ b/daemon/pom.xml @@ -6,24 +6,51 @@ <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>taskmanager-daemon</name> - <url>http://maven.apache.org</url> - + <url>https://git.openslx.org/openslx-ng/taskman-lite.git</url> + <scm> + <connection>scm:git:git://git.openslx.org/openslx-ng/taskman-lite.git</connection> + </scm> <properties> + <main.class>org.openslx.taskmanager.App</main.class> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <build> <plugins> <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>buildnumber-maven-plugin</artifactId> + <version>3.0.0</version> + <executions> + <execution> + <phase>package</phase> + <goals> + <goal>create</goal> + </goals> + </execution> + </executions> + <configuration> + <doCheck>false</doCheck> + <doUpdate>false</doUpdate> + <timezone>UTC</timezone> + <timestampPropertyName>build.time</timestampPropertyName> + <scmBranchPropertyName>revision.branch</scmBranchPropertyName> + <buildNumberPropertyName>revision.version</buildNumberPropertyName> + </configuration> + </plugin> + <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> - <version>3.6.1</version> + <version>3.8.1</version> <configuration> - <source>1.7</source> - <target>1.7</target> + <source>1.8</source> + <target>1.8</target> + <release>8</release> + <compilerArgument>-Xlint:all</compilerArgument> </configuration> </plugin> <plugin> + <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <executions> <execution> @@ -36,8 +63,15 @@ <configuration> <archive> <manifest> - <mainClass>org.openslx.taskmanager.App</mainClass> + <mainClass>${main.class}</mainClass> + <addDefaultImplementationEntries>true</addDefaultImplementationEntries> + <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> </manifest> + <manifestEntries> + <Build-Timestamp>${build.time}</Build-Timestamp> + <Revision-Branch>${revision.branch}</Revision-Branch> + <Revision-Version>${revision.version}</Revision-Version> + </manifestEntries> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> @@ -45,21 +79,41 @@ </configuration> </plugin> </plugins> + <resources> + <resource> + <directory>src/main/properties</directory> + <includes> + <include>*.properties</include> + </includes> + </resource> + </resources> </build> <dependencies> <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>3.8.1</version> - <scope>test</scope> - </dependency> - <dependency> <groupId>org.openslx.taskmanager</groupId> <artifactId>taskmanager-api</artifactId> <version>${project.version}</version> <scope>compile</scope> </dependency> + <dependency> + <groupId>org.openslx.bwlp</groupId> + <artifactId>master-sync-shared</artifactId> + <version>1.1-SNAPSHOT</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-api</artifactId> + <version>[2.17,2.9999]</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-core</artifactId> + <version>[2.17,2.9999]</version> + <scope>compile</scope> + </dependency> </dependencies> diff --git a/daemon/src/main/java/org/openslx/taskmanager/App.java b/daemon/src/main/java/org/openslx/taskmanager/App.java index d64929d..ac3dc71 100644 --- a/daemon/src/main/java/org/openslx/taskmanager/App.java +++ b/daemon/src/main/java/org/openslx/taskmanager/App.java @@ -4,12 +4,16 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import org.apache.log4j.BasicConfigurator; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.core.config.Configurator; +import org.apache.logging.log4j.core.config.DefaultConfiguration; +import org.openslx.taskmanager.api.Environment; import org.openslx.taskmanager.main.Taskmanager; import org.openslx.taskmanager.network.NetworkHandlerTcp; import org.openslx.taskmanager.network.NetworkHandlerUdp; import org.openslx.taskmanager.network.RequestParser; +import org.openslx.util.AppUtil; /** * Hello world! @@ -18,11 +22,19 @@ import org.openslx.taskmanager.network.RequestParser; public class App { - private static final Logger log = Logger.getLogger( App.class ); + private static final Logger log = LogManager.getLogger( App.class ); + + private static final String NAME = "bwLehrpool-Taskmanager"; public static void main( String[] args ) throws InterruptedException, IOException { - BasicConfigurator.configure(); + // setup basic logging appender to log output on console if no external appender (log4j.properties) is configured + if (org.apache.logging.log4j.core.Logger.class.cast(LogManager.getRootLogger()).getAppenders().isEmpty()) { + Configurator.initialize(new DefaultConfiguration()); + } + + AppUtil.logHeader(log, App.NAME, App.class.getPackage().getImplementationVersion()); + if (Global.PORT_UDP == -1 && Global.PORT_TCP == -1) { log.fatal( "Neither UDP nor TCP configured" ); System.exit( 1 ); @@ -36,13 +48,13 @@ public class App NetworkHandlerTcp tcp = null; if (Global.PORT_UDP != -1) { udp = new NetworkHandlerUdp( Global.PORT_UDP, Global.LISTEN_ADDRESS, parser ); - threads.add( new Thread( udp ) ); + threads.add( new Thread( udp, "UDP:" + Global.PORT_UDP ) ); } if (Global.PORT_TCP != -1) { tcp = new NetworkHandlerTcp( Global.PORT_TCP, Global.LISTEN_ADDRESS, parser ); - threads.add( new Thread( tcp ) ); + threads.add( new Thread( tcp, "TCP:" + Global.PORT_TCP ) ); } - threads.add( new Thread( tm ) ); + threads.add( new Thread( tm, "Taskmanager" ) ); // Wait for everything for (Thread t : threads) { t.start(); diff --git a/daemon/src/main/java/org/openslx/taskmanager/Global.java b/daemon/src/main/java/org/openslx/taskmanager/Global.java index 5be8196..cdba3f8 100644 --- a/daemon/src/main/java/org/openslx/taskmanager/Global.java +++ b/daemon/src/main/java/org/openslx/taskmanager/Global.java @@ -11,13 +11,14 @@ import java.nio.file.Paths; import java.nio.file.attribute.PosixFilePermission; import java.util.Properties; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.openslx.taskmanager.util.Util; public class Global { - private static final Logger log = Logger.getLogger( Global.class ); + private static final Logger log = LogManager.getLogger( Global.class ); public static final String TASK_PACKAGE_NAME = "org.openslx.taskmanager.tasks"; diff --git a/daemon/src/main/java/org/openslx/taskmanager/main/Taskmanager.java b/daemon/src/main/java/org/openslx/taskmanager/main/Taskmanager.java index 7b854c3..77d3405 100644 --- a/daemon/src/main/java/org/openslx/taskmanager/main/Taskmanager.java +++ b/daemon/src/main/java/org/openslx/taskmanager/main/Taskmanager.java @@ -6,10 +6,13 @@ import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.Semaphore; +import java.util.concurrent.ThreadFactory; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.openslx.taskmanager.Global; import org.openslx.taskmanager.api.AbstractTask; import org.openslx.taskmanager.api.CancellableTask; @@ -24,10 +27,18 @@ import com.google.gson.JsonSyntaxException; public class Taskmanager implements FinishCallback, Runnable { - private static final Logger log = Logger.getLogger( Taskmanager.class ); + private static final Logger log = LogManager.getLogger( Taskmanager.class ); private final ThreadPoolExecutor threadPool = new ThreadPoolExecutor( 8, 32, 1, TimeUnit.MINUTES, - new ArrayBlockingQueue<Runnable>( 4 ) ); + new ArrayBlockingQueue<Runnable>( 4 ), new ThreadFactory() { + AtomicInteger id = new AtomicInteger(); + + @Override + public Thread newThread( Runnable r ) + { + return new Thread( r, "Task-" + id.incrementAndGet() ); + } + } ); /** * gson object for (de)serialization diff --git a/daemon/src/main/java/org/openslx/taskmanager/network/NetworkHandlerTcp.java b/daemon/src/main/java/org/openslx/taskmanager/network/NetworkHandlerTcp.java index 540ff42..6492f2e 100644 --- a/daemon/src/main/java/org/openslx/taskmanager/network/NetworkHandlerTcp.java +++ b/daemon/src/main/java/org/openslx/taskmanager/network/NetworkHandlerTcp.java @@ -9,10 +9,13 @@ import java.net.Socket; import java.nio.charset.StandardCharsets; import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.SynchronousQueue; +import java.util.concurrent.ThreadFactory; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.openslx.taskmanager.Global; /** @@ -22,14 +25,22 @@ import org.openslx.taskmanager.Global; public class NetworkHandlerTcp extends NetworkHandlerBase { - private static final Logger log = Logger.getLogger( NetworkHandlerTcp.class ); + private static final Logger log = LogManager.getLogger( NetworkHandlerTcp.class ); /** * UDP socket for sending and receiving. */ private final ServerSocket socket; - private final ThreadPoolExecutor threadPool = new ThreadPoolExecutor( 1, 8, 1, TimeUnit.MINUTES, new SynchronousQueue<Runnable>() ); + private final ThreadPoolExecutor threadPool = new ThreadPoolExecutor( 0, 64, 1, TimeUnit.MINUTES, new SynchronousQueue<Runnable>(), new ThreadFactory() { + AtomicInteger id = new AtomicInteger(); + + @Override + public Thread newThread( Runnable r ) + { + return new Thread( r, "TCP-" + id.incrementAndGet() ); + } + } ); /** * Initialize the NetworkHandler by starting threads and opening the socket. @@ -77,7 +88,7 @@ public class NetworkHandlerTcp extends NetworkHandlerBase } finally { Thread.currentThread().interrupt(); Global.doShutdown = true; - log.info( "UDP receiver finished." ); + log.info( "TCP receiver finished." ); } } @@ -86,7 +97,7 @@ public class NetworkHandlerTcp extends NetworkHandlerBase private final Socket socket; private DataOutputStream writer = null; private DataInputStream reader = null; - + public ClientTask( Socket client ) { this.socket = client; @@ -97,7 +108,6 @@ public class NetworkHandlerTcp extends NetworkHandlerBase { try { try { - socket.setSoTimeout( (int)TimeUnit.MINUTES.toMillis( 15 ) ); reader = new DataInputStream( socket.getInputStream() ); writer = new DataOutputStream( socket.getOutputStream() ); } catch ( IOException e ) { @@ -145,7 +155,7 @@ public class NetworkHandlerTcp extends NetworkHandlerBase } } } - + private void sendMsg( String reply ) throws SendException { sendMsg( reply.getBytes( StandardCharsets.UTF_8 ) ); @@ -154,6 +164,7 @@ public class NetworkHandlerTcp extends NetworkHandlerBase private void sendMsg( byte[] reply ) throws SendException { try { + socket.setSoTimeout( (int)TimeUnit.SECONDS.toMillis( 15 ) ); writer.writeInt( reply.length ); writer.write( reply ); } catch ( IOException e ) { @@ -165,6 +176,7 @@ public class NetworkHandlerTcp extends NetworkHandlerBase { int bytes; try { + socket.setSoTimeout( (int)TimeUnit.MINUTES.toMillis( 15 ) ); bytes = reader.readInt(); } catch ( IOException e ) { // This should be fine... Client went away @@ -178,16 +190,24 @@ public class NetworkHandlerTcp extends NetworkHandlerBase return ""; // Nothing to read byte[] buffer = new byte[ bytes ]; try { + socket.setSoTimeout( (int)TimeUnit.SECONDS.toMillis( 2 ) ); reader.readFully( buffer ); } catch ( IOException e ) { log.warn( "Client went away when trying to read payload" ); return null; } return new String( buffer, StandardCharsets.UTF_8 ); - } + } + + } + + private static class SendException extends Exception + { + /** + * Version for serialization. + */ + private static final long serialVersionUID = 7591668934699490535L; } - - private static class SendException extends Exception {} } diff --git a/daemon/src/main/java/org/openslx/taskmanager/network/NetworkHandlerUdp.java b/daemon/src/main/java/org/openslx/taskmanager/network/NetworkHandlerUdp.java index 7a25ed1..767e6a4 100644 --- a/daemon/src/main/java/org/openslx/taskmanager/network/NetworkHandlerUdp.java +++ b/daemon/src/main/java/org/openslx/taskmanager/network/NetworkHandlerUdp.java @@ -10,7 +10,8 @@ import java.nio.charset.StandardCharsets; import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.openslx.taskmanager.Global; /** @@ -20,7 +21,7 @@ import org.openslx.taskmanager.Global; public class NetworkHandlerUdp extends NetworkHandlerBase { - private static final Logger log = Logger.getLogger( NetworkHandlerUdp.class ); + private static final Logger log = LogManager.getLogger( NetworkHandlerUdp.class ); private Thread sendThread = null; /** diff --git a/daemon/src/main/java/org/openslx/taskmanager/network/RequestParser.java b/daemon/src/main/java/org/openslx/taskmanager/network/RequestParser.java index 55a44a5..09b94ce 100644 --- a/daemon/src/main/java/org/openslx/taskmanager/network/RequestParser.java +++ b/daemon/src/main/java/org/openslx/taskmanager/network/RequestParser.java @@ -3,7 +3,8 @@ package org.openslx.taskmanager.network; import java.nio.charset.StandardCharsets; import java.util.zip.Deflater; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.openslx.taskmanager.api.BoundedLog; import org.openslx.taskmanager.api.TaskStatus; import org.openslx.taskmanager.main.Taskmanager; @@ -14,7 +15,7 @@ import com.google.gson.GsonBuilder; public class RequestParser { - private static final Logger log = Logger.getLogger( RequestParser.class ); + private static final Logger log = LogManager.getLogger( RequestParser.class ); /** * Our very own gson instance (for serializing replies) diff --git a/daemon/src/main/properties/log4j2.properties b/daemon/src/main/properties/log4j2.properties new file mode 100644 index 0000000..563fe8d --- /dev/null +++ b/daemon/src/main/properties/log4j2.properties @@ -0,0 +1,21 @@ +status=error +name=log4j2PropertiesConfig + +# +# root level logging configuration +# +rootLogger.level=all +rootLogger.appenderRefs=stdout +rootLogger.appenderRef.stdout.ref=logToConsole + +# +# configuration for console output +# +appenders=console + +appender.console.type=Console +appender.console.name=logToConsole +appender.console.layout.type=PatternLayout +appender.console.layout.pattern=[%t] %-5p %F - %m%n +appender.console.filter.threshold.type=ThresholdFilter +appender.console.filter.threshold.level=info diff --git a/daemon/src/test/java/org/openslx/taskmanager/AppTest.java b/daemon/src/test/java/org/openslx/taskmanager/AppTest.java deleted file mode 100644 index feac8e7..0000000 --- a/daemon/src/test/java/org/openslx/taskmanager/AppTest.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.openslx.taskmanager; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -/** - * Unit test for simple App. - */ -public class AppTest - extends TestCase -{ - /** - * Create the test case - * - * @param testName name of the test case - */ - public AppTest( String testName ) - { - super( testName ); - } - - /** - * @return the suite of tests being tested - */ - public static Test suite() - { - return new TestSuite( AppTest.class ); - } - - /** - * Rigourous Test :-) - */ - public void testApp() - { - assertTrue( true ); - } -} diff --git a/extra/tmcli b/extra/tmcli new file mode 100755 index 0000000..981e0b1 --- /dev/null +++ b/extra/tmcli @@ -0,0 +1,25 @@ +#!/bin/sh + +if [ "$1" = "status" ]; then + shift + while [ $# -gt 0 ]; do + printf "%s" "bla, status, $1" | socat -T1 - udp-datagram:127.0.0.1:9915 | cut -c 5- + shift + done +elif [ "$1" = "exec" ]; then + name="$2" + shift 2 + jq='{}' + while [ $# -gt 1 ]; do + jq=$( printf "%s" "$jq" | jq --arg key "${1#--}" --arg val "$2" '. += { ($key): $val }' ) + shift 2 + done + echo "Sending:" + echo "$jq" + printf "%s" "bla, $name, $jq" | socat -T1 - udp-datagram:127.0.0.1:9915 | cut -c 5- +else + echo "unknown command, try status or exec" + exit 1 +fi + + @@ -9,30 +9,12 @@ <packaging>pom</packaging> <name>taskmanager</name> - <url>http://google.de/</url> + <url>https://git.openslx.org/openslx-ng/taskman-lite.git</url> <modules> <module>daemon</module> <module>api</module> </modules> - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <version>3.6.1</version> - <configuration> - <source>1.7</source> - <target>1.7</target> - </configuration> - </plugin> - </plugins> - </build> - - <properties> - <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - </properties> - </project> |