The email sent will contain a link to this article, the article title, and an article excerpt (if available). For security reasons, your IP address will also be included in the sent email.
He liberado una librería que implementa máquinas de estado finitas para Java. Quién no se ha encontrado en un sistema altamente concurrente con el problema de manejar el estado de una clase que debe reaccionar a un montón de eventos manejando secciones críticas y demás? Normalmente, si uno no ofrece un patrón para estos problemas, resolver un estado complejo en un sistema concurrente necesita de locks + un montón de ifs + un montón de código repetitivo... y eso resulta en un sistema con bastantes posibles problemas.
Después de haber implementado soluciones similares múltiples veces, he decidido liberarlo bajo open source. Podéis encontrar más información (en inglés) aquí y la librería aquí.
Es una librería modesta (he intentado mantenerla tan sencilla como he podido) y que añade algunas anotaciones para facilitar la declaración de máquinas de estado. Por ejemplo, un código coomo: