Maven java.lang.OutOfMemoryError

Trabajando con maven recientemente tuve problemas durante el proceso de construcción de mi aplicación y es que la compilación terminaba abruptamente especificando el siguiente error.

java.lang.OutOfMemoryError: Java heap space
...

WebLogic, Hibernate y el ClassNotFoundException org.hibernate.hql.ast.HqlToken

Recientemente he tenido que lidiar con el problema mencionado en el título de este artículo y que a continuación describiré, una aplicación Java web desarrollada utilizando Struts 2, Hibernate 3, Spring 3, desplegada en un contenedor de aplicación WebLogic 10 y el resultado es...

org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken

Pruebas unitarias en Spring con JUnit

Generar pruebas unitarias de los componentes de nuestras aplicaciones es una tarea que puede llegar a ahorrarnos bastantes dolores de cabeza, a través de estas damos pasos adelante en el aseguramiento de la calidad del software que construimos. La evolución de los frameworks de pruebas modernos nos ha proporcionado la oportunidad de poder generar componentes de pruebas basados en anotaciones como en el caso de JUnit.

Integración de Spring MVC 3 y Tiles 2

Spring MVC es un framework ligero para desarrollo de aplicaciones web que implementa el patrón Modelo-Vista-Controlador. Con Spring MVC podemos generar controladores basados en POJO's a través de anotaciones como @Controller y @RequestMapping, podemos realizar mapeo de peticiones, resolución de vistas, gestión de internacionalización e incluso resolución de temas.

Spring MVC. Mapeo de peticiones.

Anteriormente hemos visto la forma básica para generar controladores basados en anotaciones, hoy revisaremos las opciones que tenemos para realizar el mapeo de peticiones hacia los métodos de nuestros controladores.

Establecer ruta base
Tenemos la posibilidad de establecer la ruta base de la peticiones que atenderá nuestro controlador al combinar el uso de la anotación org.springframework.web.bind.annotation.RequestMapping a nivel clase y método de la siguiente manera.

Principio de responsabilidad única

Dentro del paradigma de desarrollo de software orientado a objetos existe el Principio de responsabilidad única, que se refiere a la delimitación de responsabilidades de una clase. El principio es bastante simple (al menos en la teoría) e inttuitivo y enuncia que una clase únicamente debe tener una razón para modificar su estado.

Responsabilidad única es un principio fundamentado y reforzador del concepto de cohesión toda vez que una clase con una sola responsabilidad (razón del cambio) cumple por consiguiente con una alta cohesión.

Distribuir contenido