Thursday, August 4, 2011

Claves primarias en Hibernate

Aparte de lo que explica la documentación oficial, debo daros alguna información adicional para crear bien una clave primaria con Hibernate.


Cuando se cree una clase cuya clave primaria está compuesta de varios campos, el mapeo se hace con la etiqueta en el fichero .hbm.xml. La gracias está en el .java que debe tener implementados los métodos equals() y hashCode() de modo que la clase implementa la interfaz Serializable. El esquema es el siguiente:

public class miClase implements Serializable
{
  //Variables

  //Métodos get y set

  public boolean equals(Object ob){
    ...
  }

  public int hashCode(){
    ...
  }
}

Monday, July 11, 2011

Significado de los conceptos asociados a una tarea

  • Work: The number of hours or the time that is worked in a particular day.
  • Duration: Number of days or Period of a Task
  • Resources: Number of persons assigned to solve the task
Fuente: Project.Net Forum.

Sunday, July 10, 2011

Tener nuestros marcadores disponibles en cualquier lugar

Una cosa que es bastante útil son los marcadores. Éstos son aquellas páginas web que solemos almacenar en nuestro equipo como "Favoritas" o algo similar.

Google tiene un sistema para que cualquiera que tenga una cuenta de GMail pueda almacenarse los marcadores que desee, y los ordene por temáticas y además estén disponibles en cualquier PC sobre el que te conectes.

¿Cómo hacerlo? Muy fácil. Todo viene explicado en este simpático link en castellano. Espero que sea útil :)

Tuesday, May 3, 2011

Webinar - Definición

En castellano, una conferencia web, es similar a una reunión personal porque permiten a los asistentes interactuar entre sí, participan entre 2 y 20 personas y pueden compartir documentos y aplicaciones.

Wednesday, April 6, 2011

Error con la clase org.apache.ws.axis.security.WSDoAllSender

En Alfresco puede crear un WS y darse el error:

faultString: org.apache.axis.ConfigurationException: java.lang.ClassNotFoundException: org.apache.ws.axis.security.WSDoAllSender

La solución es la siguiente:

Friday, April 1, 2011

Resource Bundle - Definición

Conceptualmente hablando, un ResourceBundle es un conjunto de subclases relacionadas que comparten el mismo nombre base.

Wednesday, March 30, 2011

Client Stub - Definición

A client stub is set of classes and methods that reflects the operations available on the server. It also relieves the client application from having to deal with the complexity of setting up a connection using the relevant transport protocol—for formatting messages according to the SOAP specification and marshalling and un-marshalling native data types to and from XML.

De Alfresco 3 Web Services

Tuesday, March 15, 2011

Espacios ocupados en Linux

¿Cuánto espacio está ocupado en la unidades lógicas de nuestro HD en Linux? ¿Cuánto está ocupando un directorio?

Esta orden muestra cada unidad lógica, el espacio que ocupa, el espacio disponible, porcentaje de uso, punto de montaje...

$> df -h

Luego tenemos el espacio ocupado por un directorio

$> du -sh path_to_directory

Y si queremos saber el tamaño de varias carpetas

$> du -sh /*

Lo cual imprimirá el tamaño de todos los directorios que cuelgan de '/' en este caso.

Monday, March 14, 2011

¿Cual es mi versión de VMware ESX?

Y como si de una trilogía se tratase, para VMware ESX también. Las diferentes opciones son éstas:

$> vmware -v
$> cat /proc/version
$> cat /etc/redhat-release
$> uname -a
$> uname -i
$> lsb_release -a





  • ¿Cual es mi versión de Ubuntu?
  • Monday, March 7, 2011

    Comentar varias líneas en VI o VIM

    A veces tenemos que comentar varias líneas de un código con este editor. Una forma no demasiado tensa es la siguiente orden:

    :x,y s/^/## /

    Donde:

    • 'x' e 'y' son la linea inicial y final sobre la que se aplican los comentarios.
    • 's' indica que sustituiremos lineas de caracteres. Vacías en este caso.
    • ^ indica que vamos a insertar caracteres nuevos al inicio de cada línea.
    • '##' son los caracteres que se insertan.
    Por ejemplo, la orden :5,9 s/^/# / insertaría al inicio de esas 5 líneas el carácter '#'

    Uso de CPU de los procesos en Linux

    Otra cosa que también suele ser útil:

    $> ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed '/^ 0.0 /d'

    Esta orden consigue listarnos los procesos activos en ese momento y cuánta CPU se está consumiendo.

    Wednesday, February 23, 2011

    Alfresco - Error de inicio en OpenOffice

    Iniciando en una ocasión Alfresco, obtuve el siguiente error:

    09:38:50,614  ERROR [web.context.ContextLoader] Context 
    initialization failed net.sf.jooreports.openoffice.
    connection.OpenOfficeException: connection failed: socket,
    host=localhost,port=8100,tcpNoDelay=1;

    La causa la encontré en la lista de procesos donde apareció la siguiente información:

    root     14782     /opt/alfresco-3.4.c/openoffice/program
    /soffice.bin -accept=socket,host=127.0.0.1,port=8100;urp;
    StarOffice.Service

    Que viene a decir que tenemos un proceso que no se cerró cuando debía y nos bloquea el puerto para una nueva instancia de Alfresco. Simplemente lo matamos, y el error desaparece.

    Alfresco - Configurar la Conexión de Oracle

    Dado que ahora estoy metido con Alfresco, y espero que siga así durante un buen período, aprovecho y completo el blog con los diferentes problemas que me van saliendo en el camino. En este caso, una anotación acerca de cómo configurar la conexión a Oracle desde la versión Enterprise del producto.

    El wiki nos sugiere lo siguiente:

    db.name=alfresco
    db.username=alfresco
    db.password=alfresco
    db.host=localhost
    db.port=1521
    db.driver=oracle.jdbc.OracleDriver
    db.url=jdbc:oracle:thin:@{db.host}:${db.port}:
    db.pool.validate.query=SELECT 1 FROM DUAL

    Lo cual no esta mal, pero a mí no me funcionaba y entre la Comunidad y una compañera, he propuesto la siguiente solución:

    db.name=alfresco
    db.username=alfresco
    db.password=alfresco
    db.host=127.0.0.1
    db.port=1521
    db.driver=oracle.jdbc.OracleDriver
    db.url=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.01)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SID = SID_name)))
    db.pool.validate.query=SELECT 1 FROM DUAL
    

    Más extenso, pero más claro y mejor forma de pasárselo a Hibernate, que es lo que realmente hace funcionar todo esto. Un saludo.

    Tuesday, February 15, 2011

    Usuarios en una MySQL

    Si un día nos interesa conocer rápidamente los usuariosque tenemos creados en una Base de Datos MySQL, el sistema más rápido es el siguiente:

    select * from mysql.user;

    Aunque queda más claro con:

    select host,usaer from mysql.user;

    ¿Qué puertos ocupados tengo en Linux?

    Trabajando el Linux, si desde la consola editamos el siguiente comando:

    sudo netstat -putall

    Obtendremos una lista de los puertos ocupados en el sistema y qué procesos en concreto. Un ejemplo de salida sería:

    Protocolo Recv-Q Send-Q Dirección Local Dirección Externa Estado PID/Program name
    tcp 0 0 *:protocolo *:* ESCUCHAR puerto/proceso

    Thursday, February 10, 2011

    Configurar JAVA_OPTS en Apache Server

    La forma más sencilla de llevarlo a cabo en Linux es la siguiente:

    En el fichero catalina.sh recorre todos los comentarios iniciales y en la primera línea libre escribe: JAVA_OPTS="$JAVA_OPTS -Dsun.lang.ClassLoader.allowArraySyntax=true;"

    De este modo, añadimos a los valores que pueda tener predefinida la variable previamente los parámetros que deseemos.

    Yo he puesto "allowArraySyntax", pero es un ejemplo nada más.

    Thursday, February 3, 2011

    Resolver conflicto del YUM

    Lo hago rápido, que hoy tengo poco tiempo.


    $> yum install paquete
    ...
    Transaction Check Error:
    file /usr/lib/XXX from install of paqueteXXX conflicts with file from package paqueteYYY

    Error Summary
    -------------


    ¿Cómo lo apaño? Fácil


    $> cd /var/cache/yum/base/packages
    $> rpm -Uvh --force paqueteXXX


    Donde "base" es el nombre del repositorio (en otros casos puede ser rpmforge).

    ¿Cual es mi versión de CentOS?

    Completando el post de hace tiempo sobre cómo averiguar la versión de Ubuntu, toca CentOS. Las diferentes opcioen son éstas:

    $> cat /proc/version
    $> cat /etc/redhat-release
    $> uname -a
    $> uname -i
    $> lsb_release -a


  • ¿Cual es mi versión de Ubuntu?
  • Sunday, January 23, 2011

    System Profiler - Definición

    A system profiler is a program that can provide detailed information about the software installed and hardware attached to the computer.

    Wednesday, January 19, 2011

    MySQL - Saber el tamaño de un Esquema

    Si un día nos interesa conocer rápidamente el tamaño de los esquemas que tenemos creados en una Base de Datos MySQL, el sistema más rápido es el siguiente:

    select table_schema "Data Base Name",
    sum(data_length + index_length)
    / 1024 / 1024 "Tamaño en MB"
    from information_schema.TABLES
    GROUP BY table_schema