Lots of small updates
This commit is contained in:
@@ -0,0 +1,4 @@
|
|||||||
|
package com.r35157.jupiterperpsalarm;
|
||||||
|
|
||||||
|
public class JupiterPerpsAlarm {
|
||||||
|
}
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.r35157.jupiterperpsalarm;
|
package com.r35157.jupiterperpsalarm.impl.ref;
|
||||||
|
|
||||||
@FunctionalInterface
|
@FunctionalInterface
|
||||||
public interface AlarmAction {
|
public interface AlarmAction {
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.r35157.jupiterperpsalarm;
|
package com.r35157.jupiterperpsalarm.impl.ref;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.r35157.jupiterperpsalarm;
|
package com.r35157.jupiterperpsalarm.impl.ref;
|
||||||
|
|
||||||
public enum AlarmTrigger {
|
public enum AlarmTrigger {
|
||||||
ONETIME,
|
ONETIME,
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.r35157.jupiterperpsalarm;
|
package com.r35157.jupiterperpsalarm.impl.ref;
|
||||||
|
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.r35157.jupiterperpsalarm;
|
package com.r35157.jupiterperpsalarm.impl.ref;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.r35157.jupiterperpsalarm;
|
package com.r35157.jupiterperpsalarm.impl.ref;
|
||||||
|
|
||||||
public final class ConsoleAlarmAction implements AlarmAction {
|
public final class ConsoleAlarmAction implements AlarmAction {
|
||||||
@Override
|
@Override
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.r35157.jupiterperpsalarm;
|
package com.r35157.jupiterperpsalarm.impl.ref;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.BigInteger;
|
import java.math.BigInteger;
|
||||||
+3
-3
@@ -1,4 +1,4 @@
|
|||||||
package com.r35157.jupiterperpsalarm;
|
package com.r35157.jupiterperpsalarm.impl.ref;
|
||||||
|
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
@@ -9,7 +9,7 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.concurrent.CountDownLatch;
|
import java.util.concurrent.CountDownLatch;
|
||||||
|
|
||||||
public final class Main {
|
public final class JupiterPerpsAlarmImpl {
|
||||||
|
|
||||||
public static void main(String[] args) throws Exception {
|
public static void main(String[] args) throws Exception {
|
||||||
Config config;
|
Config config;
|
||||||
@@ -196,6 +196,6 @@ public final class Main {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private Main() {
|
private JupiterPerpsAlarmImpl() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.r35157.jupiterperpsalarm;
|
package com.r35157.jupiterperpsalarm.impl.ref;
|
||||||
|
|
||||||
public enum JupiterPerpsAsset {
|
public enum JupiterPerpsAsset {
|
||||||
SOL("FYq2BWQ1V5P1WFBqr3qB2Kb5yHVvSv7upzKodgQE5zXh"),
|
SOL("FYq2BWQ1V5P1WFBqr3qB2Kb5yHVvSv7upzKodgQE5zXh"),
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.r35157.jupiterperpsalarm;
|
package com.r35157.jupiterperpsalarm.impl.ref;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.BigInteger;
|
import java.math.BigInteger;
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.r35157.jupiterperpsalarm;
|
package com.r35157.jupiterperpsalarm.impl.ref;
|
||||||
|
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.net.http.HttpClient;
|
import java.net.http.HttpClient;
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.r35157.jupiterperpsalarm;
|
package com.r35157.jupiterperpsalarm.impl.ref;
|
||||||
|
|
||||||
public final class PriceAlarm {
|
public final class PriceAlarm {
|
||||||
|
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.r35157.jupiterperpsalarm;
|
package com.r35157.jupiterperpsalarm.impl.ref;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.r35157.jupiterperpsalarm;
|
package com.r35157.jupiterperpsalarm.impl.ref;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.r35157.jupiterperpsalarm;
|
package com.r35157.jupiterperpsalarm.impl.ref;
|
||||||
|
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
+1
-2
@@ -1,7 +1,6 @@
|
|||||||
package com.r35157.jupiterperpsalarm;
|
package com.r35157.jupiterperpsalarm.impl.ref;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.BigInteger;
|
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -1,18 +1,30 @@
|
|||||||
package com.r35157.nenjim.hubd;
|
package com.r35157.nenjim.hubd;
|
||||||
|
|
||||||
import com.r35157.nenjim.hubd.journal.Journal;
|
import com.r35157.nenjim.hubd.journal.Journal;
|
||||||
|
import crypto.r35157.nenjim.NenjimProcess;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
public interface NenjimHub {
|
public interface NenjimHub {
|
||||||
|
/**
|
||||||
|
* Starts a process based on the provided fully qualified interface name.
|
||||||
|
* The actual implementation that is run is binded according to the Context.
|
||||||
|
*
|
||||||
|
* @param fqInterfaceName the fully qualified interface name of the process to start. The interface must extend the {@code NenjimProcess} interface.
|
||||||
|
*/
|
||||||
|
void startProcess(String fqInterfaceName);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provides a map of all running processes managed by the NenjimHub, keyed by the processId.
|
||||||
|
*
|
||||||
|
* @return a map of {@code NenjimProcess} running processes
|
||||||
|
*/
|
||||||
|
HashMap<Integer, NenjimProcess> getRunningProcesses();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A no-operation (noop). This method is suppoted to do nothing.
|
* A no-operation (noop). This method is suppoted to do nothing.
|
||||||
*/
|
*/
|
||||||
void noop();
|
void noop();
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param journal
|
|
||||||
*/
|
|
||||||
void monitorJournal(@NotNull Journal journal);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,12 +15,9 @@ import java.nio.file.Path;
|
|||||||
|
|
||||||
public class Main {
|
public class Main {
|
||||||
static void main(String[] args) throws Exception {
|
static void main(String[] args) throws Exception {
|
||||||
new Main(args).start();
|
NenjimHub nenjimHub = new NenjimHubImpl();
|
||||||
}
|
|
||||||
|
|
||||||
public Main(String[] args) throws Exception {
|
/* try {
|
||||||
log.info("Initializing NenjimHub...");
|
|
||||||
try {
|
|
||||||
log.info("Auto-starting 2 Nenjim application(s)...");
|
log.info("Auto-starting 2 Nenjim application(s)...");
|
||||||
log.info(" Starting AssetAZCore...");
|
log.info(" Starting AssetAZCore...");
|
||||||
//com.r35157.;
|
//com.r35157.;
|
||||||
@@ -30,7 +27,7 @@ public class Main {
|
|||||||
"--config=/home/minimons/projects/com_r35157_nenjim-hubd-impl_ref/conf/alarms.conf"
|
"--config=/home/minimons/projects/com_r35157_nenjim-hubd-impl_ref/conf/alarms.conf"
|
||||||
};
|
};
|
||||||
com.r35157.jupiterperpsalarm.Main.main(params);
|
com.r35157.jupiterperpsalarm.Main.main(params);
|
||||||
|
*/
|
||||||
//hub = new NenjimHubImpl();
|
//hub = new NenjimHubImpl();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -60,12 +57,6 @@ public class Main {
|
|||||||
NenjimKicker kicker = (NenjimKicker)instance;
|
NenjimKicker kicker = (NenjimKicker)instance;
|
||||||
*/
|
*/
|
||||||
//int a = 0;
|
//int a = 0;
|
||||||
} finally {
|
|
||||||
log.info("NenjimHub shutdown!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void start() {
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final Logger log = LoggerFactory.getLogger(Main.class);
|
private static final Logger log = LoggerFactory.getLogger(Main.class);
|
||||||
|
|||||||
@@ -2,20 +2,97 @@ package com.r35157.nenjim.hubd.impl.ref;
|
|||||||
|
|
||||||
import com.r35157.nenjim.hubd.NenjimHub;
|
import com.r35157.nenjim.hubd.NenjimHub;
|
||||||
import com.r35157.nenjim.hubd.journal.Journal;
|
import com.r35157.nenjim.hubd.journal.Journal;
|
||||||
|
import crypto.r35157.nenjim.NenjimProcess;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
public class NenjimHubImpl implements NenjimHub {
|
public class NenjimHubImpl implements NenjimHub {
|
||||||
@Override
|
public NenjimHubImpl() throws Exception {
|
||||||
public void noop() {
|
log.info("Initializing NenjimHub...");
|
||||||
log.debug("NOOP executed.");
|
|
||||||
|
nextProcessId = 1;
|
||||||
|
//processesScope = new StructuredTaskScope.ShutdownOnFailure();
|
||||||
|
processes = new HashMap<>();
|
||||||
|
|
||||||
|
log.info("Starting autorun processes:");
|
||||||
|
startAutoRunProcesses();
|
||||||
|
waitForAndShutdown();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void waitForAndShutdown() {
|
||||||
|
System.out.println("Done - Now online!");
|
||||||
|
|
||||||
|
/*
|
||||||
|
try {
|
||||||
|
processesScope.join();
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
processesScope.close();
|
||||||
|
*/
|
||||||
|
System.out.println("Nenjim is now shutdown (stopped all processes)!");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void startAutoRunProcesses() throws Exception {
|
||||||
|
String[] processesToAutoStart = {
|
||||||
|
|
||||||
|
"crypto.r35157.nenjim.NenjimHubSocketAdminAdapter",
|
||||||
|
"crypto.r35157.nenjim.NenjimHubRestAdminAdapter",
|
||||||
|
"crypto.r35157.nenjim.NenjimHubRPCAdminAdapter",
|
||||||
|
"crypto.r35157.nenjim.SuwimoHub",
|
||||||
|
"crypto.r35157.nenjim.SodaTaskManager",
|
||||||
|
"crypto.r35157.assetaz.hub.AssetAZHub"
|
||||||
|
};
|
||||||
|
|
||||||
|
for (String processInterfaceName : processesToAutoStart) {
|
||||||
|
startProcess(processInterfaceName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void monitorJournal(@NotNull Journal journal) {
|
public void startProcess(String className) {
|
||||||
log.warn("monitorJournal IS NOT IMPLEMENTED!");
|
ClassLoader loader = ClassLoader.getSystemClassLoader();
|
||||||
|
|
||||||
|
/*processesScope.fork(() -> {
|
||||||
|
Class<?> clazz = loader.loadClass(className);
|
||||||
|
if (!NenjimProcess.class.isAssignableFrom(clazz)) {
|
||||||
|
throw new IllegalArgumentException("'" + className + "' does NOT implement NenjimProcess");
|
||||||
|
}
|
||||||
|
|
||||||
|
NenjimProcess proc = (NenjimProcess) clazz.getDeclaredConstructor().newInstance();
|
||||||
|
|
||||||
|
processes.put(nextProcessId, proc);
|
||||||
|
nextProcessId++;
|
||||||
|
|
||||||
|
NenjimContext context = new NenjimContext() { };
|
||||||
|
proc.setNenjimProcessContext(context);
|
||||||
|
proc.setNenjimHub(this);
|
||||||
|
|
||||||
|
Thread.currentThread().setName(proc.getProcessName());
|
||||||
|
System.out.println(" Starter Nenjim process '" + proc.getProcessName() + "'");
|
||||||
|
proc.run();
|
||||||
|
|
||||||
|
return null;
|
||||||
|
});*/
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HashMap<Integer, NenjimProcess> getRunningProcesses() {
|
||||||
|
return processes;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void noop() {
|
||||||
|
System.out.println("NenjimHub command: 'noop'");
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final Logger log = LoggerFactory.getLogger(NenjimHubImpl.class);
|
private static final Logger log = LoggerFactory.getLogger(NenjimHubImpl.class);
|
||||||
|
|
||||||
|
private HashMap<Integer, NenjimProcess> processes;
|
||||||
|
//private StructuredTaskScope.ShutdownOnFailure processesScope;
|
||||||
|
private int nextProcessId;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user