Ik heb een open source programma in Java geschreven met Swing en om de UI responsive te houden maak ik gebruik van een ThreadPoolExecuter met 1 thread om het dure werk op een achtergrondthread uit te voeren. Nu ik de functionaliteit van het programma heb uitgebreid kom ik tot de conclusie dat dit een beetje te beperkt is.
Wat ik nodig heb is een manier om meerdere taken onafhankelijk van elkaar, tegelijk te laten uitvoeren. Daarnaast zijn sommige taken wel van elkaar afhankelijk. Bovendien is iedere taak geassocieerd met een bepaalde JMS connectie en per JMS connectie mag er maar 1 taak tegelijk draaien.
Ik zou dit kunnen doen met meerdere Executors, voor elke JMS connectie 1. Dan heb je dus wel per connectie een thread draaien, terwijl er waarschijnlijk geen taken in de queue staan voor die connectie (meerdere dingen tegelijk doen is een uitzondering). Bovendien los ik daarmee het afhankelijkheidsprobleem niet op, een taak in de queue van connectie 1 kan best afhankelijk zijn van een taak voor connectie 2. Die zouden dus technisch gezien tegelijk kunnen worden uitgevoerd, maar mijn applicatielogica vind dat natuurlijk niet leuk.
Kent iemand een framework of misschien een startpunt om zo'n scheduler te maken?
Wat ik nodig heb is een manier om meerdere taken onafhankelijk van elkaar, tegelijk te laten uitvoeren. Daarnaast zijn sommige taken wel van elkaar afhankelijk. Bovendien is iedere taak geassocieerd met een bepaalde JMS connectie en per JMS connectie mag er maar 1 taak tegelijk draaien.
Ik zou dit kunnen doen met meerdere Executors, voor elke JMS connectie 1. Dan heb je dus wel per connectie een thread draaien, terwijl er waarschijnlijk geen taken in de queue staan voor die connectie (meerdere dingen tegelijk doen is een uitzondering). Bovendien los ik daarmee het afhankelijkheidsprobleem niet op, een taak in de queue van connectie 1 kan best afhankelijk zijn van een taak voor connectie 2. Die zouden dus technisch gezien tegelijk kunnen worden uitgevoerd, maar mijn applicatielogica vind dat natuurlijk niet leuk.
Kent iemand een framework of misschien een startpunt om zo'n scheduler te maken?
- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!