Sunday, May 22, 2016

The design of a Event-Driven Architecture on Sedgewick Algorithms Book


Hace algunos años atras un equipo en el Servicio de Administración Tributaria diseñamos una aplicacion llamada Planificador de procesos que despues intento ser una Rejilla de planificación, dicha aplicación maneja procesamiento de 10 declaraciones por segundo (procesamiento en lotes), sus ultimas versiones tendian a manejar una arquitectura basada en eventos en lo cuál dentro de su interfaz manejaba terminos como configuración de particula ya que intentaba idealizar el concepto de particulas en tareas de planificación en base de control por el tiempo, hace poco encontré en el libro de algoritmos de Sedgewick el diseño de como elaborar una arquitectura mas funcional y responsable pero guardando el mismo concepto de una aplicación de 'Planificación de procesos':

1. Las particulas tambien son parte del diseño:
A photo posted by Octavio Sanchez Huerta (@osanchezha) on
2. Rejilla de planificación en versiones posteriores de la aplicación
A photo posted by Octavio Sanchez Huerta (@osanchezh) on
3.La siguiente evolución un hermoso diamante:
A photo posted by Octavio Sanchez Huerta (@osanchezh) on
Best regards,

Useful MQSC scripts for IBM Message Queue (Part I)

I have been caught by the time, after some years ago, my knowledge of configuration of IBM Message Queue is not being in practice because spending 2 hours trying to configure Channel Security the remembrance of how doing it stuck me.

I have decided to conserve some memories of script of configuration and this is the first part.

1. Backup and recovery script:

2. Remove security to the channel

Important Links:

Best regards,

Friday, May 20, 2016

Possible solution for 'ISAM error: key value locked' on Informix tables

Recently working on transactional container may me found some exception described as following:


Having a configuration on Spring jdbc I did saw that my transaccional configuration was for read-only on true value so I have to change the configuration like this:

@Transactional(value = "XXXXTransaccionManager", readOnly = false, propagation = Propagation.REQUIRED, timeout = 6000,isolation = Isolation.READ_COMMITTED)

By now my problem was solved, I have remembered having same problem in Oracle by mistake I forget to make that variable true on insert and updates.

Update 1 (25/05/2016)
Rounding on Internet I found  'ISAM error: key value / record is locked using transaccional enviroments is relative to Database lock following there is a explination of the problem:
http://informix-technology.blogspot.mx/2006/10/when-exclusive-is-not-really-exclusive.html
http://informix-technology.blogspot.mx/2012/11/its-errors-stupid.html

Here is a explanitation of IBM documentation: 
http://www.ibm.com/support/knowledgecenter/SSGU8G_12.1.0/com.ibm.sqls.doc/ids_sqs_1171.htm

The solution to the problem should be SET LOCK MODE WAIT or LOCK MODE in table, this resolution was only for a transacctional enviroment, please be free to make a revision of log file in database to check if this is the solution to your system.

Best regards,