Rendimiento de Axis2 frente a Metro

url: Rendimiento de Axis2 frente a Metro

Sin WS-Security:

Con WS-Security:

plain — No security (the same values as in Figure 1, but normalized to the Axis2 time)

username — WS-Security plain-text UsernameToken on requests

sign — WS-Security signing of body and headers, with timestamp

signencr — WS-Security signing of body and headers, with timestamp, and encryption of body

WaveMaket: Generando clases Hibernate desde base de datos

Para los que odian Google y para los que no ( me incluyo)

De Andrés Leal:

Un poco de información de google-collections

http://code.google.com/p/google-collections/

No lo he probado pero repasando el API he visto cositas interesantes (muchas me parecen chapuzas que todos hemos hecho alguna vez, pero como éstas están hechas por Google parecen muy chulas).

Me llama la atención los métodos estáticos de la clase Iterators, que te permite hacer muchas cosas / trampas / llámalo X sobre los iterators, como cortarlos en trozo de tamaño fijos (te rellena con nulls en caso necesario), hacer búsquedas por Tipos de Clase dentro del iterator y cositas así.

El tema de las Forwarding Collections, que implementan el decorator a la enésima potencia.

Luego hay una chorrada como los BiMap (bidirectional Maps) que aún no le he encontrado el punto, en resumen, por ejemplo para una HashMap, te garantiza que tanto el Key como el Value son únicos en el HashMap para luego (en caso de necesidad, que aún, no encuentro) poder hacer un Inverse y que los values sean keys y los keys sean values.

Un trabalenguas, pero en general estas google collections tienen cositas que pueden ayudar a tratar con las colecciones Java.

Continuando con Spring ROO

De Javier Onsurbe:

Más cositas,

Si tenéis un modelo de dominio existente, porque que lo habéis generado a partir del diseño o por que lo tenéis de una versión anterior, o porque cuando se arranco el proyecto no se había pensando en usar Spring ROO, y tenéis las clases dentro den entorno de ROO con agregar las anotaciones correspondientes a las características que querríais incorporar, p.e.:

@RooJavaBean
@RooToString
@RooEntity

y las importaciones necesarias (que si no no hace nada como he podido comprobar, jejeejejeje):

import org.springframework.roo.addon.javabean.RooJavaBean;
import org.springframework.roo.addon.tostring.RooToString;
import org.springframework.roo.addon.entity.RooEntity;

automáticamente la consola de ROO nos informara que ha creado los aspectos correspondientes:

Created SRC_MAIN_JAVAcomspringsourceroopizzashopdomainPais_Roo_Entity.aj
Created SRC_MAIN_JAVAcomspringsourceroopizzashopdomainPais_Roo_JavaBean.aj
Created SRC_MAIN_JAVAcomspringsourceroopizzashopdomainPais_Roo_ToString.aj
Created SRC_MAIN_JAVAcomspringsourceroopizzashopdomainPais_Roo_Configurable.aj

Y tendréis las clases listas para usarlas! 😉

Publicado en Java, Spring. 1 Comment »

Continuando con Spring ROO

De Javier Onsurbe:

He tenido últimamente huecos para cacharrear con esta tecnología que comentaba Luismi y tengo que decir sin que sirva de prececente (jejejejeje) que estoy completamente de acuerdo con Luismi, me esta gustando un montón.
Me ha sorprendido especialmente el control que tiene sobre el proyecto y el chequeo que hace del contenido del mismo.

Si tenéis tiempo y ganas podéis hacer los siguientes experimentos sobre el entorno que compartió Luismi y con la consola de roo arrancada:

El primero es editar una jspx del proyecto e incluir un taglib sin cerrar, da igual el que sea, pero es importante que este sin cerrar, veréis que la consola de roo chequea la sintaxis de la pagina y os informa del problema con el siguiente mensaje:

Managed SRC_MAIN_WEBAPPWEB-INFviewspizzaorderlist.jspx
roo> [Fatal Error] :89:7: The element type “sec:authorize” must be terminated by the matching end-tag “</sec:authorize>”.
Undo manage SRC_MAIN_WEBAPPWEB-INFviewspizzaorderlist.jspx
Undo manage SRC_MAIN_JAVAcomspringsourceroopizzashopwebPizzaOrderController_Roo_Controller.aj
Unable to parse menu.jspx (The element type “sec:authorize” must
be terminated by the matching end-tag “</sec:authorize>”.)

El segundo es coger la clase Rsvp.java y declarar el método toString(), comprobareis que ROO detecta ese cambio y renombra el método toString() del aspecto correspondiente por otro llamado generatedToString() y nos informa de ello a través de la consola de ROO

Si le dedicáis un rato estoy seguro que os sorprenderá gratamente como ha hecho conmigo.

A %d blogueros les gusta esto: