Aggiorna periodicamente i file da s3 in una libreria di Java usata come Packed JAR

1

Ho un'applicazione che dice x che usa un'altra libreria Java (ad esempio Y) come un file JAR. Quindi, in pratica, è necessario scaricare un file e caricarlo in memoria prima che uno qualsiasi dei suoi metodi venga richiamato in fase di esecuzione da X. Come posso assicurarmi che i file vengano scaricati e caricati prima che venga chiamato uno qualsiasi dei metodi di y? Inoltre, Y viene utilizzato in app multiple.

Dovrei usare lo schema akka qui?

y è un framework Java utilizzato per rilevare il tipo useragent. y userà un file per rilevare gli oggetti useragent che devono essere scaricati da s3 e aggiornati periodicamente e solo allora questa libreria / framework dovrebbe essere usata per rilevare il tipo di useragent da X.

Ad esempio:

X è qualcosa di simile a:

import com.data.Extract

public class X {
  public static void main(String[] args) {
   System.out.println(Extract.getUserAgentInfo(args[0]));
  }
 }

pom.xml di X (include la dipendenza di Y):

<dependency>
         <groupId>group-y</groupId>
         <artifactId>extract-data</artifactId>
         <version>3.8.1</version>
         <scope>runtime</scope>
      </dependency>

Ora prima che X invii getuseragentinfo, Y dovrebbe aver già caricato i file nella memoria per ottenere i dati.

Mi chiedo se posso utilizzare WatchService o Threading qui per eseguire un thread separato per scaricare il file e caricarlo in memoria prima che venga utilizzato questo jar .i.e. dall'interno del vaso.

Si prega di avvisare.

    
posta techzombie 05.11.2018 - 20:05
fonte

0 risposte

Leggi altre domande sui tag