Archive for the ‘Java’ Category

Crear un proxy con axis

lunes, julio 19th, 2010

El siguiente codigo presenta el establecimiento de las variables de entono y la llamada al proceso que genera un proxy en Java con las librerías de Axis.

SET AXIS_HOME=..\axis-1_4\lib
SET CLASSPATH=..\java5\lib;.;%AXIS_HOME%\activation.jar;%AXIS_HOME%\mail.jar;%AXIS_HOME%\axis.jar;%AXIS_HOME%\axis-ant.jar;%AXIS_HOME%\commons-discovery-0.2.jar;%AXIS_HOME%\commons-logging-1.0.4.jar;%AXIS_HOME%\jaxrpc.jar;%AXIS_HOME%\log4j-1.2.8.jar;%AXIS_HOME%\saaj.jar;%AXIS_HOME%\wsdl4j-1.5.1.jar;%CLASSPATH%
SET JAVA_HOME=..\java5
SET PATH=%PATH%;%JAVA_HOME%\bin\
java org.apache.axis.wsdl.WSDL2Java ruta_al_wsdl

Instalar JBoss como servicio en Windows

jueves, noviembre 26th, 2009

Si eres de las personas que ya instalo JBoss en Windows y deseas instalar como servicio al este servidor de aplicaciones primero debes descargar una aplicacion desde aqui.

Dentro del comprimido existe una carpeta bin con los siguientes archivos (la imagen es para windows 64 bits, descarga la versión de 32bits si no posees un sistema operativo de 64)…

… toma los archivos de la carpeta /bin/ que trae el comprimido y copiala en %JBOSS_HOME%/bin/ luego ejecuta el service.bat

service install
Service JBoss Application Server 5.0 installed

Con esto podras iniciar el servidor JBoss desde la consola de servicios.

Importante

Como saben, la consola de servicios de Windows tiene tres botones, uno para inciar, detener y reiniciar, yo recomiendo evitar el boton reiniciar para este servicio, el reinicio puede provocar que el servicio se detenga en la consola pero no la ejecución del proceso Java que inicio el servicio, lo que no es detectado por el programa y entonces se inicia nuevamente el servicio pero los puertos (8080 por ejemplo) aun siguen tomados por el JBoss que aun no se ha detenido, por lo que el nuevo servicio que se inicia se inicia con error. No he investigado si es configuración del servicio o algun problema de mi configuración de windows, por lo que no puedo emitir alguna solución de este punto.

Instalación JBoss en CEntOS 5.4

martes, noviembre 17th, 2009

Luego de instalar Java en un servidor CEntOS 5.4 me di a la tarea de instalar JBoss. Descargue la versión más actual de JBoss desde www.jboss.org, en este momento 5.1.0.GA. Como root hice las siguientes operaciones en orden para una instalación exitosa

Descomprimi JBoss

unzip jboss-5.1.0.GA

La moví a /usr/local, en donde supuestamente debe quedar la instalacion (lo digo porque los scripts estan direccionados a esa carpeta)

mv jboss-5.1.0.GA /usr/local/

Hice de /usr/local la carpeta actual

cd /usr/local

Renombre la carpeta de su nombre original a jboss (la forma linux de renombrar es mover hacia la misma carpeta actual con otro nombre)

mv jboss-5.1.0.GA jboss

Cree el grupo jboss

groupadd jboss

Cree un usuario y lo incorpore al grupo jboss

useradd -d /usr/local/jboss -g jboss jboss

Cambie el usuario de la carpeta recursivamente a jboss

chown jboss:jboss -R /usr/local/jboss

Copie un script que viene dentro de la distribucion hacia la inicializacion del servidor, desde esta carpeta uno puede iniciar como servicio las aplicaciones

cp /usr/local/jboss/bin/jboss_init_redhat.sh /etc/init.d/jboss

El archivo lo modifique y le incluí la linea

JBOSS_HOST=0.0.0.0

Finalmente inclui un enlace simbolico al inicio, con esto se iniciará el serivio cuando reinicie la máquina (obviamente debe ser modificado si posees un inicio grafico a rc5.d)

ln -s /etc/init.d/jboss /etc/rc3.d/S96jboss

Con todo esto aplicado en orden tienes un servidor JBoss funcionando en CEntOS, no lo he probado en alguna otra version de Linux, pero debería sufrir ligeras modificaciones.

Como nota aparte, si es qu tienes un firewall funcionando recuerda dar el permiso al puerto correcto

Jdbc getMetaData ampliado

lunes, junio 22nd, 2009

El driver de Oracle nos entrega lo que la espcificación obliga, pero internamente los comentarios los configura en null, para poder simular una consulta de forma de poder extraer los comentarios entonces se puede utilizar

SELECT NULL AS table_cat,
o.owner AS table_schem,
o.object_name AS table_name,
o.object_type AS table_type,
C.COMMENTS AS remarks
FROM all_objects o,ALL_TAB_COMMENTS C
WHERE o.owner LIKE 'tu_esquema' ESCAPE '/'
AND o.object_type IN ('xxx', 'TABLE', 'VIEW')
AND o.owner= c.owner
AND o.object_name= c.table_name
ORDER BY table_type, table_schem, table_name

Instalando Jasper Server como servicio

martes, marzo 10th, 2009

En la empresa en que trabajo se ha decidido probar Jasper Server, el cual nos podrá servir para un par de proyectos en el futuro. La instalación es bastante sencilla, sobre todo si tienes instalado Apache Tomcat y MySQL, si no los tienes el instalador los instalará por ti. Aqui surge un problema, sucede en que jasperctl.bat no tiene una ‘formula’ de instalar como servicio a JasperServer (que en algunos servicios se provee línea de comando de fácil instalación), por lo que puedo indicar una serie de pasos que yo segui para una instalacion exitosa.

1. Para instalar apache tomcat como servicio solo debes ejecutar un archivo .bat llamado service.bat, si instalas completo JasperServer esta se encontrara en <ruta a jasperserver>/apache-tomcat/bin/, luego de esto en línea de comando solo ejecutas

service install

y te aparecerá un mensaje indicandote que quedó inslalado como servicio.

Aqui me surgio un problema, JasperServer viene con la version de java de 32bits y la máquina y sistema operativo que poseemos es de Windows 2003 Server R2 64Bits, esto implico que al tratar de hacer funcionar el servicio me dio uin  error, que en el event log se vé como

The Apache Tomcat terminated with service-specific error 0(0x0)

La solucion fue «mentirle» al servidor.

2. (Paso obligatorio para Windows 64 bits) Primero debes instalar la versión de Java 64bits desde java.sun.com, esto realmente es necesario ya que si no el siguiente paso no funcionará.

3. (Paso obligatorio para Windows 64 bits)  Luego descarga desde el SVN de Apache Tomcat la version tomcat6.exe y tomcat6w.exe para amd64 (que es el ‘nombre clave’ para el tipo de procesador de 64bits, o sea, para intel 64bits es el mismo, el otro llamado ia32 es para itanium).  Luego copialos en la carpeta bin de apache-tomcat (mencionada anteriormente) que viene con jasperReport cambiandoles previamente el nombre a tomcat5.exe y tomcat5w.exe respectivamente.

4. (Paso opcional si ya instalaste el servicio) Ahora desintala el servicio si ya lo habias instalado con

service remove

5. (Paso opcional, si desinstalaste el servicio porque no te funciono) Vuelve a ejecutar

service install

6. Luego de esto al arrancar desde la consola de servicios a Apache Tomcat me funcionó.

Aquí surgió otro problema, al acceder al sitio por defecto del servidor de jasper server

https://<servidor>:<puerto>/jasperserver-pro/

Me reclamó por la licencia de jasper server ¿yo recién descargue una version de pruebas de treinta días?

Lo que sucedió es que como ya había ejecutado a través de línea de comando a JasperServer me creó un archivo jasperserver.license en carpeta de Administrator de Documents and Settings y ahora me decía que no la encontraba.

7. Copia este el archivo jasperserver.license en  Default User dentro de Documents and Settings te funcionará correctamente.

Te metes nuevamente a tu servidor y… Woops! falta una cosa…

8. Para instalar mysql como servicio solo ubicate en la carpeta bin de mysql que debería estar en <ruta a jasperserver>/mysql/bin/ y ejecuta los siguientes comandos

mysqld-nt –install
NET START MySql

y ahora todo quedo instalado como servicio, puedes salir de la sesión, y acceder tu JasperServer.

<html:select>

miércoles, febrero 25th, 2009

La etiqueta <html:select> se utiliza para crear listas de seleccion. En el caso de que estes utilizando un ActionForm esta etiqueta utilizara el valor de la propiedad del form para establecer el “selected” en el codigo renderizado como html. Por lo tanto el siguiente codigo

<html:select styleClass=”field select” property=”funcional” size=”1″>
<html:option value=”S”>Si</html:option>
<html:option value=”N”>No</html:option>
</html:select>

produce el siguiente codigo, asumiendo que la propiedad llamada “funcional” dentro del formulario esta establecida en “S”

<select name=”funcional” size=”1″ class=”field select”>
<option value=”S” selected=”selected”>Si</option>
<option value=”N”>No</option>
</select>

(Actualización)

Existe ademas la posibilidad de establecer colec ciones denro de la etiqueta, esta etiqueta asume que los opbjetos de la colección se LaberlBean, pero en el caso que tu tengas un objeto con sus respectivos getter y setter puedes configurar la etiqueta de la siguiente forma

<html:select styleClass=”field select” property=”tablaCnecAsociada” size=”1″>
<html:options collection=”listaTablaCnec” property=”codigo”
 labelName=”TablaCapitalNecVO” labelProperty=”nombre” />
</html:select>

en este caso se esta usando como valor el codigo, que es un atributo de un objeto llamado TablaCapitalNecVO, desplegandose su atributo nombre dentro de la lista.