Skip to content
This repository has been archived by the owner on May 23, 2019. It is now read-only.

Commit

Permalink
Update #158: refactor Instance Status, worker exporter (light Cassand…
Browse files Browse the repository at this point in the history
…ra content).
  • Loading branch information
hdsdi3g committed Dec 31, 2015
1 parent 9bd69bd commit eeae2fc
Show file tree
Hide file tree
Showing 14 changed files with 318 additions and 315 deletions.
56 changes: 56 additions & 0 deletions app/hd3gtv/mydmam/MyDMAM.java
Expand Up @@ -40,9 +40,12 @@

import org.bouncycastle.jce.provider.BouncyCastleProvider;

import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
import com.google.gson.JsonPrimitive;
import com.google.gson.JsonSerializationContext;
Expand Down Expand Up @@ -267,6 +270,59 @@ public Class<?> deserialize(JsonElement json, Type typeOfT, JsonDeserializationC
}
}

public static void registerJsonArrayAndObjectSerializer(GsonBuilder gson_builder) {
gson_builder.registerTypeAdapter(JsonArray.class, new MyDMAM.GsonJsonArraySerializer());
gson_builder.registerTypeAdapter(JsonObject.class, new MyDMAM.GsonJsonObjectSerializer());
}

/**
* Direct (de)serializer.
*/
public static class GsonJsonArraySerializer implements JsonSerializer<JsonArray>, JsonDeserializer<JsonArray> {

public JsonElement serialize(JsonArray src, Type typeOfSrc, JsonSerializationContext context) {
if (src == null) {
return null;
}
return src;
}

public JsonArray deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
try {
return json.getAsJsonArray();
} catch (Exception e) {
Loggers.Manager.error("Can't deserialize JsonArray", e);
return null;
}
}
}

/**
* Direct (de)serializer.
*/
public static class GsonJsonObjectSerializer implements JsonSerializer<JsonObject>, JsonDeserializer<JsonObject> {

public JsonElement serialize(JsonObject src, Type typeOfSrc, JsonSerializationContext context) {
if (src == null) {
return null;
}
return src;
}

public JsonObject deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
try {
return json.getAsJsonObject();
} catch (Exception e) {
Loggers.Manager.error("Can't deserialize JsonObject", e);
return null;
}
}
}

/**
* Direct (de)serializer.
*/

/**
* Search application.conf in classpath, and return the /mydmam main directory.
*/
Expand Down
2 changes: 1 addition & 1 deletion app/hd3gtv/mydmam/db/Elasticsearch.java
Expand Up @@ -82,7 +82,7 @@ public static void refeshconfiguration() {
List<ConfigurationClusterItem> clusterservers = Configuration.global.getClusterConfiguration("elasticsearch", "transport", "127.0.0.1", 9300);
ImmutableSettings.Builder settings = ImmutableSettings.builder();
settings.put("cluster.name", clustername);
settings.put("node.name", InstanceStatus.getThisInstanceNamePid());
settings.put("node.name", InstanceStatus.getStatic().summary.getInstanceNamePid());
settings.put("client.transport.ping_timeout", 10, TimeUnit.SECONDS);

StringBuilder sb = new StringBuilder();
Expand Down
6 changes: 3 additions & 3 deletions app/hd3gtv/mydmam/mail/AdminMailAlert.java
Expand Up @@ -152,7 +152,7 @@ public void send() {
}
if (manager != null) {
subject.append("[");
subject.append(manager.getInstanceStatus().getAppName());
subject.append(manager.getInstanceStatus().summary.getAppName());
subject.append("] ");
}
subject.append("General error: ");
Expand Down Expand Up @@ -225,9 +225,9 @@ public void send() {
plaintext.append("\r\n");

if (manager != null) {
plaintext.append(manager.getInstanceStatus().getInstanceName());
plaintext.append(manager.getInstanceStatus().summary.getInstanceName());
plaintext.append(" - version ");
plaintext.append(manager.getInstanceStatus().getAppVersion());
plaintext.append(manager.getInstanceStatus().summary.getAppVersion());
plaintext.append("\r\n");
plaintext.append(MyDMAM.APP_COPYRIGHT);
plaintext.append("\r\n");
Expand Down
12 changes: 5 additions & 7 deletions app/hd3gtv/mydmam/manager/AppManager.java
Expand Up @@ -73,12 +73,10 @@ public final class AppManager implements InstanceActionReceiver, InstanceStatusI
/**
* Inside of this package serializers
*/
builder.registerTypeAdapter(InstanceStatus.class, new InstanceStatus.Serializer());
builder.registerTypeAdapter(InstanceAction.class, new InstanceAction.Serializer());
builder.registerTypeAdapter(JobNG.class, new JobNG.Serializer());
builder.registerTypeAdapter(GsonThrowable.class, new GsonThrowable.Serializer());
builder.registerTypeAdapter(WorkerCapablitiesExporter.class, new WorkerCapablitiesExporter.Serializer());
builder.registerTypeAdapter(WorkerExporter.class, new WorkerExporter.Serializer());

builder.registerTypeAdapter(JobContext.class, new JobContext.Serializer());
builder.registerTypeAdapter(new TypeToken<ArrayList<JobContext>>() {
Expand Down Expand Up @@ -177,7 +175,7 @@ public AppManager(String app_name) {
service_exception = new ServiceException(this);
enabled_workers = new ArrayList<WorkerNG>();
broker = new BrokerNG(this);
instance_status = new InstanceStatus().populateFromThisInstance(this);
instance_status = new InstanceStatus(this);
updater = new Updater(this);
}

Expand Down Expand Up @@ -413,7 +411,7 @@ private class Updater extends Thread {
long next_refresh_date;

public Updater(AppManager referer) {
setName("Updater for " + instance_status.getInstanceNamePid());
setName("Updater for " + instance_status.summary.getInstanceNamePid());
setDaemon(true);
this.referer = referer;
}
Expand All @@ -424,7 +422,7 @@ public void run() {
while (stop_update == false) {
next_refresh_date = System.currentTimeMillis() + (SLEEP_COUNT_UPDATE * SLEEP_BASE_TIME_UPDATE * 1000);

instance_status.refresh(true);
instance_status.refresh();
WorkerExporter.updateWorkerStatus(enabled_workers, referer);

for (int pos = 0; pos < SLEEP_COUNT_UPDATE; pos++) {
Expand All @@ -438,7 +436,7 @@ public void run() {
if (pending_actions & (stop_update == false)) {
next_refresh_date = System.currentTimeMillis() + ((SLEEP_COUNT_UPDATE - pos) * SLEEP_BASE_TIME_UPDATE * 1000) + 1000;
Thread.sleep(1000);
instance_status.refresh(true);
instance_status.refresh();
WorkerExporter.updateWorkerStatus(enabled_workers, referer);
}

Expand Down Expand Up @@ -499,7 +497,7 @@ public void doAnAction(JsonObject order) throws Exception {
}

public String getReferenceKey() {
return instance_status.getInstanceNamePid();
return instance_status.summary.getInstanceNamePid();
}

public synchronized JsonElement getInstanceStatusItem() {
Expand Down
12 changes: 6 additions & 6 deletions app/hd3gtv/mydmam/manager/BrokerNG.java
Expand Up @@ -110,8 +110,8 @@ private class QueueOperations extends Thread {
boolean stop_queue;

public QueueOperations() {
setName("Queue operations for Broker " + manager.getInstanceStatus().getInstanceNamePid());
Loggers.Broker.debug("Init queue operations thread for " + manager.getInstanceStatus().getInstanceNamePid());
setName("Queue operations for Broker " + manager.getInstanceStatus().summary.getInstanceNamePid());
Loggers.Broker.debug("Init queue operations thread for " + manager.getInstanceStatus().summary.getInstanceNamePid());
setDaemon(true);
}

Expand Down Expand Up @@ -204,8 +204,8 @@ public void run() {
Loggers.Broker.debug("Watch old abandoned jobs: there are too old jobs (" + jobs.size() + ") in queue:\t" + jobs);
manager.getServiceException().onQueueJobProblem("There are too old jobs in queue", jobs);
}
Loggers.Broker.debug("Remove max date for postponed jobs for " + manager.getInstanceStatus().getHostName());
JobNG.Utility.removeMaxDateForPostponedJobs(mutator, manager.getInstanceStatus().getHostName());
Loggers.Broker.debug("Remove max date for postponed jobs for " + manager.getInstanceStatus().summary.getHostName());
JobNG.Utility.removeMaxDateForPostponedJobs(mutator, manager.getInstanceStatus().summary.getHostName());
}

if (mutator.isEmpty() == false) {
Expand All @@ -231,8 +231,8 @@ private class QueueNewJobs extends Thread {
boolean stop_queue;

public QueueNewJobs() {
setName("Queue new jobs for Broker " + manager.getInstanceStatus().getInstanceNamePid());
Loggers.Broker.debug("Init queue new jobs thread for " + manager.getInstanceStatus().getInstanceNamePid());
setName("Queue new jobs for Broker " + manager.getInstanceStatus().summary.getInstanceNamePid());
Loggers.Broker.debug("Init queue new jobs thread for " + manager.getInstanceStatus().summary.getInstanceNamePid());
setDaemon(true);
}

Expand Down

0 comments on commit eeae2fc

Please sign in to comment.