tel./fax: +34 91 675 33 06 info@ - www ... · pdf filelos ejemplos de este tutorial...

6
Avenida de Castilla,1 - Edificio Best Point - Oficina 21B 28830 San Fernando de Henares (Madrid) tel./fax: +34 91 675 33 06 [email protected] - www.autentia.com Somos su empresa de Soporte a Desarrollo Informático. Ese apoyo que siempre quiso tener... 1. Desarrollo de componentes y proyectos a medida Tecnología Desarrollo Sistemas Gran Empresa Producción autentia Certificación o Pruebas Verificación previa RFP Concurso Consultora 1 Consultora 2 Consultora 3 Equipo propio desarrollo Piloto 3a 3b 1. Definición de frameworks corporativos. 2. Transferencia de conocimiento de nuevas arquitecturas. 3. Soporte al arranque de proyectos. 4. Auditoría preventiva periódica de calidad. 5. Revisión previa a la certificación de proyectos. 6. Extensión de capacidad de equipos de calidad. 7. Identificación de problemas en producción. 3. Arranque de proyectos basados en nuevas tecnologías ¿Qué ofrece Autentia Real Business Solutions S.L? Para más información visítenos en: www.autentia.com Compartimos nuestro conociemiento en: www.adictosaltrabajo.com Gestor portales (Liferay) Gestor de contenidos (Alfresco) Aplicaciones híbridas Tareas programadas (Quartz) Gestor documental (Alfresco) Inversión de control (Spring) BPM (jBPM o Bonita) Generación de informes (JasperReport) ESB (Open ESB) Control de autenticación y acceso (Spring Security) UDDI Web Services Rest Services Social SSO SSO (Cas) Spring MVC, JSF-PrimeFaces /RichFaces, HTML5, CSS3, JavaScript-jQuery JPA-Hibernate, MyBatis Motor de búsqueda empresarial (Solr) ETL (Talend) Dirección de Proyectos Informáticos. Metodologías ágiles Patrones de diseño TDD 2. Auditoría de código y recomendaciones de mejora 4. Cursos de formación (impartidos por desarrolladores en activo)

Upload: doankhuong

Post on 05-Feb-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: tel./fax: +34 91 675 33 06 info@ - www ... · PDF fileLos ejemplos de este tutorial están hechos con el siguiente entorno de desarrollo: ... import java.text.SimpleDateFormat; import

Avenida de Castilla,1 - Edificio Best Point - Oficina 21B28830 San Fernando de Henares (Madrid)

tel./fax: +34 91 675 33 [email protected] - www.autentia.com

Somos su empresa de Soporte a Desarrollo Informático.Ese apoyo que siempre quiso tener...

1. Desarrollo de componentes y proyectos a medida

TecnologíaDesarrolloSistemas

Gran Empresa

Producción

autentia

Certificacióno Pruebas

Verificación previa

RFP Concurso

Consultora 1

Consultora 2

Consultora 3

Equipo propio desarrolloPiloto

3a

3b

1. Definición de frameworks corporativos.2. Transferencia de conocimiento de nuevas arquitecturas.3. Soporte al arranque de proyectos.4. Auditoría preventiva periódica de calidad.5. Revisión previa a la certificación de proyectos.6. Extensión de capacidad de equipos de calidad.7. Identificación de problemas en producción.

3. Arranque de proyectos basados en nuevas tecnologías

¿Qué ofrece Autentia Real Business Solutions S.L?

Para más información visítenos en: www.autentia.com

Compartimos nuestro conociemiento en: www.adictosaltrabajo.com

Gestor portales (Liferay)Gestor de contenidos (Alfresco)Aplicaciones híbridas

Tareas programadas (Quartz)Gestor documental (Alfresco)Inversión de control (Spring)

BPM (jBPM o Bonita)Generación de informes (JasperReport)ESB (Open ESB)

Control de autenticación y acceso (Spring Security)UDDIWeb ServicesRest ServicesSocial SSOSSO (Cas)

Spring MVC, JSF-PrimeFaces /RichFaces, HTML5, CSS3, JavaScript-jQuery

JPA-Hibernate, MyBatisMotor de búsqueda empresarial (Solr)ETL (Talend)

Dirección de Proyectos Informáticos.Metodologías ágilesPatrones de diseñoTDD

2. Auditoría de código y recomendaciones de mejora

4. Cursos de formación (impartidos por desarrolladores en activo)

Page 2: tel./fax: +34 91 675 33 06 info@ - www ... · PDF fileLos ejemplos de este tutorial están hechos con el siguiente entorno de desarrollo: ... import java.text.SimpleDateFormat; import

Home | Quienes Somos | Empleo | Tutoriales | Contacte

Descargar este documento en formato PDF XMBeans.pdf

Firma en nuestro libro de Visitas

XMBeans y JBoss Los ejemplos de este tutorial están hechos con el siguiente entorno de desarrollo:

� Jboss Eclipse IDE Milestone 5.

� JDK 1.5 � JBoss 4.0.5 GA

INTRODUCCION. Este tutorial es una continuación de una anterior llamado MBeans y JBoss: http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=MBeansJBoss En el tutorial anterior os mostré un poco la implementación JMX de JBoss en base al servidor de MBeans, y os mostré un ejemplo de un MBean estándar

creado mediante la implementación del interfaz ServiceMBean y la extensión de la clase ServiceMBeanSupport. Os comenté que este tipo de MBeans se integran en el ciclo de vida propio de los servicios de JBoss, pudiendo establecer dependencias entre ellos. Por ejemplo, si vuestro MBean depende para su ejecución de un datasource, podemos hacer que nuestro MBean dependa del mismo para que no se arrancado hasta que el datasource no haya

sido arrancado. Siguiendo un poco el tutorial anterior, y si suponemos que el datasource se llama PacoDS, podríamos modificar el jboss-service.xmldel tutorial anterior añadiendo la dependencia de la siguiente manera: <?xml version="1.0" encoding="UTF-8"?> <server> <mbean code="com.autentia.tutoriales.jboss.mbeans.Fecha" name="autentia.tutoriales.paco:service=FormateadorFechaActual"> <attribute name="Formato">dd/MM/yyyy</attribute> <depends>jboss.jca:name=PacoDS,service=DataSourceBinding</depends> </mbean> </server> Esto impedirá que nuestro servicio sea arrancado (método start()) hasta que no sea iniciado el datasource PacoDS. Sin embargo, JBoss permite añadir una serie de características a los MBeans, pero para ello estos han de ser XMBeans (XML MBeans) y no estándar MBeans. Las características que podemos añadir son las siguientes:

� Añadir información descriptiva a los métodos y atributos del MBean. � Posibilidad de exponer información de notificación, es decir indicarle a nuestro MBean que transmita notificaciones en ciertos casos. � Añadir persistencia a los atributos de los MBeans. � Añadir interceptors personalizados para los MBeans (para seguridad, acceso remoto...)

Creando el XMBean Vamos, en primer lugar, a crear nuestra clase. Ahora no extenderemos ninguna clase ni implementaremos ningún interfaz: package com.autentia.tutoriales.jboss.xmbeans;

import java.text.SimpleDateFormat; import java.util.Date;

public class XFecha {

private String formato;

public String getFormato() {

return this.formato; }

Tutorial desarrollado por: Francisco Javier Martínez Páez

Puedes encontrarme en Autentia Somos expertos en Java/J2EE Contacta en [email protected]

www.adictosaltrabajo.com es el Web de difusión de conocimiento de

www.autentia.com

Catálogo de cursos

Consultoría y Formación TECSUR clases de Informática Java,Net,Flash,Autocad,Office,PHP..

www.tecsur.es/

Master Java Certificado Temario Actualizado-UML-JSF-AJAX Trabajo Garantizado-Bolsa de Empleo www.exes.es

Master Protocolo y RRPP Trabajo altamente remunerado Secretarias Dirección y Presidencia www.secretariaplus.com

Ándago Open Cities La primera plataforma Open Source de administración electrónica www.andago.com

Anuncios Google Anunciarse en este sitio

Página 1 de 5Tutoriales en AdictosAlTrabajo: Java, J2EE, Visual C++, Linux, UML, OOP y mucho más

18/01/2007http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=XMBeans

Page 3: tel./fax: +34 91 675 33 06 info@ - www ... · PDF fileLos ejemplos de este tutorial están hechos con el siguiente entorno de desarrollo: ... import java.text.SimpleDateFormat; import

public void setFormato(String formato) { this.formato = formato; } public String formatFecha(String formatoActual) throws Exception { String formatoUsar = "";

if(this.formato!=null && !"".equals(this.formato.trim())) {

formatoUsar=this.formato.trim(); } else { formatoUsar="dd/MM/yyyy"; } if(formatoActual!=null && !"".equals(formatoActual.trim())) { formatoUsar = formatoActual.trim(); } SimpleDateFormat formatter=new SimpleDateFormat(formatoUsar); return formatter.format(new Date()); }

public void start() throws Exception { System.out.println("STARTING: XFecha"); } public void stop() { System.out.println("STOPING: XFecha"); } }

Ahora crearemos el jboss-service.xml: <?xml version="1.0" encoding="UTF-8"?> <server> <mbean code="com.autentia.tutoriales.jboss.xmbeans.XFecha" name="autentia.tutoriales.paco:service=XFormateadorFechaActual" xmbean-dd="META-INF/xformateadorfechaactual-xmbean.xml"> </mbean> </server> Como podéis ver, le hemos añadido la referencia al descriptor del XMBean. Será en este donde describamos el comportamiento de nuestro XMBean. Vamos por tanto, a crearnos el fichero: xformateadorfechaactual-xmbean.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mbean PUBLIC "-//JBoss//DTD JBOSS XMBEAN 1.0//EN" "http://www.jboss.org/j2ee/dtd/jboss_xmbean_1_0.dtd"> <mbean> <description>XMBean para formatear la fecha actual Version 1.0</description> <descriptors> <persistence persistPolicy="Never" persistPeriod="10" persistLocation="data/xformatfecha.data" persistName="XFecha" /> <currencyTimeLimit value="10" /> <state-action-on-update value="keep-running" /> </descriptors>

<class>com.autentia.tutoriales.jboss.xmbeans.XFecha</class> <constructor> <description>Constructor por defecto</description> <name>XFecha</name> </constructor> <!-- Definicion de los atributos -->

<attribute access="read-write" getMethod="getFormato" setMethod="setFormato"> <description> Formato por defecto que se usa para formatear la fecha actual sino se recibe valor en el metodo

formatFecha </description> <name>Formato</name> <type>java.lang.String</type> </attribute> <!-- Metodos --> <operation> <description>Metodo start del ciclo de vida</description> <name>start</name> </operation> <operation> <description>Metodo stop del ciclo de vida</description> <name>stop</name> </operation>

<operation impact="INFO"> <description>Formatea la fecha actual en el formato recibido como parametro. Si el parametro es nulo o vacio, usa el formato por defecto </description> <name>formatFecha</name> <parameter> <description>Formato a usar</description> <name>formatFecha</name> <type>java.lang.String</type> </parameter> <return-type>java.lang.String</return-type> </operation> <!-- Notificaciones -->

<notification> <description> La notificacion que se envia cuando se invoca al metodo formatFecha </description> <name>javax.management.Notification</name> <notification-type> com.autentia.tutoriales.jboss.xmbeans.XFecha.formatFecha </notification-type> </notification> </mbean>

Como podéis ver, hemos definido los atributos y las características de los mismos, los métodos, un constructor por defecto, hemos indicado la clase que

Página 2 de 5Tutoriales en AdictosAlTrabajo: Java, J2EE, Visual C++, Linux, UML, OOP y mucho más

18/01/2007http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=XMBeans

Page 4: tel./fax: +34 91 675 33 06 info@ - www ... · PDF fileLos ejemplos de este tutorial están hechos con el siguiente entorno de desarrollo: ... import java.text.SimpleDateFormat; import

implementa el XMBean, hemos incluido las descripciones de todos ellos y al final le hemos añadido una notificación, de tal manera que cuando el

método formatFecha sea invocado, se envíe una notificación a todos los MBeans que se suscriban a la notificación (esto lo haremos en el próximo tutorial). Por lo tanto, de las cuatro características que hablamos antes, hemos añadido las dos primeras. Vamos a crearnos el fichero ".sar" (en mi caso xdate.sar) con la siguiente estructura: - META-INF/xformateadorfechaactual-xmbean.xml - META-INF/jboss-service.xml - com/autentia/tutoriales/jboss/xmbeans/XFecha.class Lo desplegamos y nos vamos a la consola JMX:

Seleccionamos service=XFormateadorFechaActual

Probad los métodos, a modificar el valor de formato, etc... . Observad también como se han añadido las descripciones en la consola. Hasta ahora, aparentemente no hemos ganado mucho con respecto al MBean estándar. Aunque en realidad, ahora se están enviando notificaciones cada vez que se

invoca al método formatFecha ( en el próximo tutorial os enseñaré a recoger las notificaciones). Añadiendo la persistencia de los atributos. Tenemos un atributo en nuestro XMBean que se llama formato, que es modificable y que tiene un valor por defecto. Es posible modificar su valor

mediante la consola JMX o mediante la invocación de su método setFormato. Sin embargo, si modificamos el valor del atributo formato, y redesplegamos el XMBean podéis comprobar que el valor almacenado se pierde. Para solucionar esto podemos añadirle la persistencia al atributo. Para ello, modificaremos el descriptor del XMBean de la siguiente manera (comprobad que no tenéis definidos valores por defecto en el atributo, porque sino se sobreescribirá por ese): <mbean> .... <description>XMBean para formatear la fecha actual Version 1.0</description> <descriptors> <persistence persistPolicy="OnUpdate" persistPeriod="10" persistLocation="${jboss.server.data.dir}" persistName="XFecha.ser" /> <currencyTimeLimit value="10" /> <state-action-on-update value="keep-running" /> <persistence-manager value="org.jboss.mx.persistence.ObjectStreamPersistenceManager"/> </descriptors> .... </mbean> Haced la prueba ahora, volved a desplegar el XMBean, modificad el atributo, parar JBoss, volvedlo a arrancar y comprobaréis que mantiene el valor

modificado. Podéis comprobar que se os genera el fichero XFecha.ser (con los valores serializados de los atributos) en el directorio:

<RUTA_JBOSS>/server/default/data

En el próximo tutorial os enseñaré a suscribiros a las notificaciones que generamos en el XMBean. Si nos necesitáis, ya sabéis donde buscarnos: http://www.autentia.com

Página 3 de 5Tutoriales en AdictosAlTrabajo: Java, J2EE, Visual C++, Linux, UML, OOP y mucho más

18/01/2007http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=XMBeans

Page 5: tel./fax: +34 91 675 33 06 info@ - www ... · PDF fileLos ejemplos de este tutorial están hechos con el siguiente entorno de desarrollo: ... import java.text.SimpleDateFormat; import

This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 2.5 License.

Puedes opinar sobre este tutorial aquí

Otros Tutoriales Recomendados (También ver todos)

Recuerda que el personal de Autentia te regala la mayoría del conocimiento aquí compartido (Ver todos los tutoriales)

¿Nos vas a tener en cuenta cuando necesites consultoría o formación en tu empresa?

¿Vas a ser tan generoso con nosotros como lo tratamos de ser con vosotros?

[email protected]

Somos pocos, somos buenos, estamos motivados y nos gusta lo que hacemos ...... Autentia = Soporte a Desarrollo & Formación

Autentia S.L. Somos expertos en: J2EE, Struts, JSF, C++, OOP, UML, UP, Patrones de diseño ..

y muchas otras cosas

Nuevo servicio de notificaciones Si deseas que te enviemos un correo electrónico cuando introduzcamos nuevos tutoriales, inserta tu dirección de correo en el siguiente formulario.

Subscribirse a Novedades

e-mail

Nombre Corto Descripción

Comunicación entre TAGs, Beans y JSPs

Os mostramos las posibilidades de comunicación entre JSPs, Bean y etiquetas de usuario.

mod_jk en WindowsXP / ISS-JBoss Os mostramos como instalar el conector mod_jk sobre WindowsXP utilizando ISS y JBoss

mod_jk en Ubuntu / Apache2-JBoss Os mostramos como instalar el conector mod_jk sobre la distribución linux Ubuntu utilizando Apache2 y JBoss

Transformación de XML y XSL en JSPs

Os mostramos como poder utilizar XML y XSL en JSPS, combinado con el Patrón MVC

Guía rápida de instalación de JBOSS Application Server 4.

En este manual veremos paso a paso la forma de instalar en tu equipo JBoss Application Server 4.

XML y XSL en Cliente En este tutorial os enseñamos como formaterar documentos XML directamente en vuestro navegador a través de Plantillas XSL. En cursos sucesivos veremos como hacerlo en el servidor, para no crear dependencias con el navegador del cliente.

Message-Driven Beans al instante Os mostramos como crear un EJB que consuma los mensajes JMS de una cola

mod_jk en Linux / Apache2-JBoss El conector mod_jk se encarga de enviar las peticiones dinámicas de Apache2 a un servidor de aplicaciones JBoss

Instalar JBoss Os mostramos como instalar en servidor gratuito de aplicaciones JBOSS así como a automatizar su arranque y parada.

MBeans y JBoss Este tutorial tiene como finalidad familiarizarse con el servidor de aplicaciones JBoss y su API JMX

Página 4 de 5Tutoriales en AdictosAlTrabajo: Java, J2EE, Visual C++, Linux, UML, OOP y mucho más

18/01/2007http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=XMBeans

Page 6: tel./fax: +34 91 675 33 06 info@ - www ... · PDF fileLos ejemplos de este tutorial están hechos con el siguiente entorno de desarrollo: ... import java.text.SimpleDateFormat; import

Patrocinados por enredados.com .... Hosting en Castellano con soporte Java/J2EE

Nota: Los tutoriales mostrados en este Web tienen como objetivo la difusión del conocimiento. Los contenidos y comentarios de los tutoriales son responsabilidad de sus respectivos autores. En algún caso se puede hacer referencia a marcas o nombres cuya propiedad y derechos es de sus respectivos dueños. Si algún afectado desea que incorporemos alguna reseña específica, no tiene más que solicitarlo. Si alguien encuentra algún problema con la información publicada en este Web, rogamos que informe al administrador [email protected] para su resolución.

www.AdictosAlTrabajo.com Opimizado 800X600

Página 5 de 5Tutoriales en AdictosAlTrabajo: Java, J2EE, Visual C++, Linux, UML, OOP y mucho más

18/01/2007http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=XMBeans