Archive for the ‘Desarrollo’ Category

Falla al crear virtual machine en Eclipse

miércoles, mayo 25th, 2011

Existe la posibilidad de que pase un error recurrente al ejecutar eclipse.exe, el mensaje sería más o menos así

Para evitar este error edita el archivo eclipse.ini, existen dos lineas ubicables

-Xms40m
-Xmx1024m

-Xmx1024m indica el tamaño máximo de la memoria que debe ubicarse para la ejecución de Java, por lo que si no inicia eclipse ese es el numero que debes disminuir, prueba con 756m, 512m, y como mínimo con 256m sólo para ver si parte. Un numero menor a eso, puede partir Eclipse, pero el trabajo se te tornará realmente lento.

Por otra parte, si es que ya te partió puedes echarle la culpa a la memoria, por lo que debes revisar dos cosas, ver si la memoria fisica esta mala (para ello utiliza alguna distriibución de linux que lo haga) o si instalaste hace poco algun programa que tipicamente instalan agentes o cosas similares, que te puedan quitar memoria en el inicio de tu computador.

Si no te inicia, puede ser otra cosa.

Conectar VisualVM a JBoss

martes, mayo 24th, 2011

Para ocupar VisualVM con JBoss se deben hacer modificaciones den el run.bat (la verdad es que la documentación expresa que los cambios se deben hacer en el run.conf, pero a mí no me funciono posicionarlo hay).

Se deben agregar las lineas

set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote.port=6789
set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote.authenticate=false
set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote.ssl=false

Asumiendo que se ha modificado el run.bat de nuestro servicio en una ip 192.168.1.2, con las líneas anteriormente descritas se ha habilitado el puerto 6789 para conexion con VisualVM, luego de ello se adiciona el JMX Connector

Con lo cual ya tienes configurado para leer tu JBoss.

VisualVM una herramienta para Java

martes, mayo 24th, 2011

Muchas veces has querido averiguar que es lo que está sucediendo dentro de la máquina virtual de Java, Java 6 ya viene con una herramienta para ello, pero también puede ser descargada desde https://visualvm.java.net/.

Al ejecutar la aplicación puedes verificar el funcionamiento de las aplicaciones Java que están en tu equipo (localhost) o remotamente. Aqui un ejemplo de la ejecución:

Preparando un datasource para JBoss

martes, mayo 24th, 2011

En JBoss para poder activar un datasource se debe crear un archivo *-ds.xml, dentro del cual se pondra segun la siguiente estructura la definicion (un ejemplo de oracle-ds.xml)

  
  
    jdbc/algoaqui
    jdbc:oracle:thin:@localhost:1521:orcl
    oracle.jdbc.driver.OracleDriver
    usuario
    password
	10
	40
	10
	30000
	32
    org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter
      
         Oracle9i
      
  
  

jndi-name : Es el nombre que se le dará al JNDI y con el cual se podrá en el codigo crear el Datasource.
connection-url :Apunta a la conexión, segun el estandar de jdbc.
driver-class :Es la clase del datasource que se va a instanciar. Debieses dejar la librería de conexion en la carpeta %JBOSS_HOME%\server\%TIPO_SERVER%\lib
user-name : Es el nombre de usuario de la conexión
password : Es la password de la conexión
min-pool-size : Es la cantidad mínima de conexiones que se lanza al inicio.
max-pool-size : Es el máximo de conexiones que soportará el datasource pool.
idle-timeout-minutes : Es la cantidad de minutos que obligatoriamente esta abierta una conexión, si se supera este tiempo en una conexión que no posee actividad, entonces se cerrará la conexión.
blocking-timeout-millis : Es la cantidad de tiempo que se espera para tomar una conexión, si la conexión no es entregada en este tiempo se enviará una Exception.
prepared-statement-cache-size : Es un cache para los PreparedStatement más utilizados, de forma de tener preparadas las consultas que se envían cachadas.

Activar ejecución a través de cron

sábado, abril 16th, 2011

La especificación del cron manifiesta los siguiente

*     *     *   *    *        comando
-     -     -   -    -
|     |     |   |    |
|     |     |   |    +----- dia de la semana (0 - 6)
|     |     |   +------- mes (1 - 12)
|     |     +--------- dia del mes (1 - 31)
|     +----------- hora (0 - 23)
+------------- minuto (0 - 59)

Por lo que al especificar

45     *     *   *    *        comando

El comando corre cada minuto 45 de cada hora, que es distinto que corra cada 45 minutos, para especificar eso se debe especificar de la sigiente forma

*/45     *     *   *    *        comando

Crear JOB en Oracle

sábado, abril 16th, 2011

Este código crea un JOB en Oracle que se ejecuta cada 1 hora

BEGIN
DBMS_JOB.isubmit (
job => 99,
what => 'procedimiento(''soy un parametro'');',
next_date => SYSDATE,
interval => 'SYSDATE + 1/24 /* 1 Hour */');

COMMIT;
END;