Domanda

Sto usando batch Primavera per un sistema che fa un sacco di operazioni batch.
Sto utilizzando SimpleJobRepository con i DAO in memoria.
Vorrei sapere se c'è un modo per evitare di utilizzare un JobRepository? qualcosa di simile al gestore delle transazioni senza risorse?
Il motivo che mi sto chiedendo è che il sistema dovrebbe funzionare continuamente senza riavviare e ho alcune preoccupazioni circa la memoria sarà consumando.
So che posso utilizzare un database basato su JobRepositry, ma francamente, io davvero non ho bisogno di uno a tutti.

Se non c'è modo di farlo sarò grato se qualcuno mi può rassicurare in merito al problema del consumo di memoria.

Grazie.

È stato utile?

Soluzione

È necessario utilizzare repository di lavoro in quanto detiene informazioni sul contesto di lavoro. la soluzione per il vostro caso è - rendere il vostro repository lavoro con scope = "prototipo" questo sarà un nuovo cerate dao in memoria (mappa implementazione) per ogni lavoro, e quindi nessun problema di memoria. il sovraccarico di creare nuova istanza ogni volta è insignificante in termini di processi batch.

Altri suggerimenti

In-Memory implementazione ha un grave inconveniente:. Non è possibile utilizzare il multithreading nelle batchs

Quindi, è necessario utilizzare un repository database. Vi suggerisco di usare H2 SQL: si tratta di un database incorporato molto leggero. L'usiamo per i nostri test di unità.

Funziona molto bene con Hibernate.

Il vantaggio di questo metodo sul proprio Ben è è possibile connettersi al database di voi la memoria di controllare gli stati di posti di lavoro (e la data di lancio, ecc ...).

Credo che finché il mio codice di elaborazione batch è thread-safe, non dovrebbe importa se il repository è in memoria o database. Sì, si potrebbe perdere alcuni dei benefici di clustering che si può ottenere se si utilizza DB ma se ho solo un batch di lavoro in esecuzione sul mio server e il suo utilizzo filettatura multipla per fare il suo lavoro, che dovrebbe andare bene.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top