Trabajo relacionado con Java

5 de Noviembre de 2009

Liberias javascript que aportan funcionalidad a las tablas

Archivado en: Desarrollo, java — jansoblog @ 1:31 pm
Tags: ,

Librerias javascript que facilitan la creación de tablas con funcionalidad en el cliente.

  • jquery
  • jsExt
  • yui
  • Dojo
  • prototype

 

15 de Abril de 2009

Pool jdbc/PoolXXX is disabled

Archivado en: Desarrollo — jansoblog @ 10:19 am
Tags: , ,

Recientemente he visto el siguiente error ejecutando una aplicación web sobre BEA Weblogic 9.2

 

weblogic.jdbc.extensions.PoolDisabledSQLException: weblogic.common.resourcepool.ResourceDisabledException: Pool jdbc/PoolXXX is disabled, cannot allocate resources to applications..

       at weblogic.jdbc.common.internal.JDBCUtil.wrapAndThrowResourceException(JDBCUtil.java:242)

       at weblogic.jdbc.pool.Driver.connect(Driver.java:161)

       at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:647)

       at weblogic.jdbc.jts.Driver.connect(Driver.java:137)

       at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:359)

 

El problema se deriva de que previamente se había producido otra excepción

 

weblogic.jdbc.extensions.ConnectionDeadSQLException: weblogic.common.resourcepool.ResourceDeadException: 0:weblogic.common.ResourceException: Could not create pool connection. The DBMS driver exception was: Io exception: The Network Adapter could not establish the connection

       at weblogic.jdbc.common.internal.JDBCUtil.wrapAndThrowResourceException(JDBCUtil.java:241)

       at weblogic.jdbc.pool.Driver.connect(Driver.java:161)

       at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:647)

       at weblogic.jdbc.jts.Driver.connect(Driver.java:137)

       at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:359)

 

Al producirse esta excepción Weblogic deshabilita el pool y las siguientes peticiones de conexiones al pool muestran el error inicial Pool jdbc/PoolXXX is disabled.

 

Después de hacer diferentes pruebas y eliminar cualquier sospecha de que el problema procedía de la aplicación y después de haber probado diferentes configuraciones del Pool para intentar mitigar el problema, se solucionó con una actuación, no se cual, al firewall.

25 de Marzo de 2009

Instalar CruiseControl como servicio windows

Archivado en: Desarrollo — jansoblog @ 9:08 am
Tags: , , , , , ,

 

Instalar Windows Resource Kit Tools

http://www.petri.co.il/download_windows_2003_reskit_tools.htm

 

Instalar CruiseControl

http://cruisecontrol.sourceforge.net/

 

Crear el servicio

Ejecutar en la consola de windows

 

cd C:\Archivos de programa\Windows Resource Kits\Tools

 

instsrv.exe CruiseControlServer “C:\Archivos de programa\Windows Resource Kits\Tools\srvany.exe”

 

The service was successfuly added!

 

 

Configurar el servicio mediante regedit

  1. Ir a

Mi PC\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CruiseControlServer

  1. Nuevo à Valor alfanumérico à Description à CruiseControl Server
  2. Nuevo à Clave à Parameters
  3. Ir a Parameters
  4. Nuevo à Valor alfanumérico à Application à “$CCDIR$/cruisecontrol.bat”

 

Nota: $CCDIR$ es la ruta de instalación del CruiseControl

 

Editar cruisecontrol.bat

Descomentar la definición de CC_OPTS para configurar la memoria que puede utilizar el servidor.

Añadir el parámetro -Xrs para evitar que se pare al hacer logout

Añadir cd %CCDIR% justo antes de %EXEC% en una linea separada.

 

Arrancar el servicio

Ejecutar en la consola de windows

 

net start CruiseControlServer

 

Acceder al Dashboard

http://localhost:8081/dashboard/tab/dashboard

11 de Marzo de 2009

Mi chuleta maven2

Archivado en: Desarrollo — jansoblog @ 4:59 pm
Tags: , ,

#Crear un nuevo projecto maven
mvn archetype:create -DgroupId=es.test.X -DartifactId=my-app.

#Crear la confgiuración de eclipse de un proyecto .project ,…
mvn eclipse:eclipse

#Si se trata de una aplicación web
mvn -Dwtpversion=2.0 eclipse:eclipse

# descargar dependencias
mvn dependency:resolve

# descargar código fuente
mvn dependency:sources

##parámetros
#OFFLINE
-o
#descargar source
-DdownloadSources=true
#descargar javadoc
-DdownloadJavadocs=true

Obtener el ApplicationContext en una aplicación web con Spring

Archivado en: Desarrollo — jansoblog @ 4:31 pm
Tags: , , , ,

Siempre se me olvida, ¿a tí también?

         WebApplicationContextUtils.getWebApplicationContext(pageContext.getServletContext());

Usar JAXB y maven2 para generar beans a partir de un DTD

Archivado en: Desarrollo — jansoblog @ 4:22 pm
Tags: , , , , , ,

He partido de esta documentación que está muy bien

 

https://jaxb.dev.java.net/jaxb-maven2-plugin/

 

El primer problema que he tenido ha sido descargar el jar del plugin a pesar de definir el repositorio

            <repository>

                  <id>java.net</id>

                  <name>java.net Maven Repository</name>

                  <url>https://maven-repository.dev.java.net/nonav/repository</url>

                  <layout>legacy</layout>

            </repository>

 

He encontrado el jar en

https://maven-repository.dev.java.net/repository/com.sun.tools.xjc.maven2/maven-plugins/

 

Lo he descargado y después lo he instalado en mi respoitorio

 

mvn install:install-file -DgroupId=com.sun.tools.xjc.maven2 -DartifactId=maven-jaxb-plugin -Dversion=1.1 -Dpackaging=maven-plugin -Dfile=maven-jaxb-plugin-1.1.jar

 

 

Una vez hecho esto he configurado un poco el plugin, ya que para trabajar con dtds hace falta algún pequeño cambio sobre la documentación inicial

<plugin>

      <groupId>com.sun.tools.xjc.maven2</groupId>

      <artifactId>maven-jaxb-plugin</artifactId>

            <version>1.1</version>

            <executions>

                  <execution>

                        <goals>

                             <goal>generate</goal>

                        </goals>

                  </execution>

            </executions>

      <configuration>

                             <generatePackage>es.test.ejemplo.xml</generatePackage>

      <includeSchemas>

                                                <includeSchema>**/ejemplo.dtd</includeSchema>

      </includeSchemas>

     

<excludeSchemas>

            <excludeSchema>**/*.xml</excludeSchema>

      </excludeSchemas>

 

      <includeBindings>

            <includeBinding>*.xjb</includeBinding>

      </includeBindings>

      <strict>true</strict>

      <verbose>true</verbose>

      <args>-dtd</args>

      </configuration>

</plugin>

 

Los cambios necesarios sobre la documentación original están marcados en negrita.

Sólo se puede hacer la generación de un DTD y hay que pasar un argumento –dtd al generador para que funcione correctamente.

Sólo recordar que el dtd ha de estar en el directorio src\main\resources 

Una vez hecho se han generado las clases correctamente en el directorio target\generated-sources\xjc

 

Para hacer que todo compile y se ejecute correctamente hay que añadir las siguientes dependencias :

 

            <dependency>

                  <groupId>javax.xml.bind</groupId>

                  <artifactId>jaxb-api</artifactId>

                  <version>2.0</version>

            </dependency>

 

            <dependency>

                  <groupId>com.sun.xml.bind</groupId>

                  <artifactId>jaxb-impl</artifactId>

                  <version>2.0.5</version>

            </dependency>

 

 

Y así hacer marshal y unmarshal se vuelve trivial

 

public String marshal(XMLRequest request) throws JAXBException, UnsupportedEncodingException {

            

       JAXBContext context = JAXBContext.newInstance(XMLRequest.class

                           .getPackage().getName());

       Marshaller m = context.createMarshaller();

 

       ByteArrayOutputStream bo = new ByteArrayOutputStream();

            

       m.marshal(request, bo) ;

       return bo.toString(“UTF-8″);

}

 

 

public Fact24Request unmarshal(String xml) throws JAXBException {

       JAXBContext context = JAXBContext.newInstance(XMLRequest.class

                           .getPackage().getName());

       Unmarshaller um = context.createUnmarshaller();

 

       Fact24Request request = (XMLRequest) um.unmarshal(new StringReader(xml));

       return request;

}

 

 

16 de Diciembre de 2008

XML CDATA ISO-8859-15

Archivado en: Desarrollo — jansoblog @ 5:08 pm
Tags: , ,

Los XML comienzan con:

<?xml version=“1.0″ encoding=“ISO-8859-15″?>

Sin espacios al principio del archivo. Esto te permite usar tildes, diéresis y el símbolo del € en tus XML sin preocuparte por transformarlos a UTF-8

Cuando necesitas poner espacios, cambios de linea, símbolos < >  & , CDATA es lo que necesitas.
Formato:

<![CDATA[ Aquí puedes poner lo que quieras.  ]]>

URI con seguridad usuario clave

Archivado en: Desarrollo — jansoblog @ 5:04 pm
Tags:

Para cualquier tipo de URI el formato es:
protocol://usuario:clave@server:port/path

Ejemplos
http://user:clave@xxx.com/paginaSegura
ftp://user:clave@xxx.com/directorioSeguro
http://user:clave@xxx.com/paginaSegura

13 de Octubre de 2008

Modificación look & feel pentaho ADHOC

Archivado en: Desarrollo — jansoblog @ 1:48 pm
Tags: , , , ,

Adhoc es el nombre del sistema de creación de informes directamente por el usuario final en cuatro pasos.

Modificación de la presentación:

El primer punto se cambiar los css $PENTAHO_HOME$/adhoc/styles:

  • adhoc.css
  • repositoryBrowserStyles
  • styles-new
  • styles-new.p

Las imágenes está en en $PENTAHO_HOME$/adhoc/images

El html principal es el siguiente waqr.html. Sobre éste los js modifican en tiempo de ejecución su contenido, mostrando y ocultando DIVs o cambiando el contenido de los DIVs.

Los js, están agrupados de la siguiente manera contraoller, modelo y ui. Modelo-vista- controlador y un paquete extra (common) donde hay utilidades auxiliares como : leer xml, tratar cadenas, mostrar por pantalla,….

Gran parte del texto que aparece se puede configurar en el archivo message_strings.js del directorio en $PENTAHO_HOME$/adhoc/js/ui/messages/nls/

Recomendaciones:
Si sólo se quiere cambiar un poco la presentación sólo es necesario modificar los css, images y message_strings.js.

Modificación del Look & Feel de pentaho

Archivado en: Desarrollo — jansoblog @ 1:38 pm
Tags: , , , ,

Modificación de la presentación de Pentaho:

El primer punto se cambiar los css.

  • %TOMCAT_HOME%/pentaho-styles/css
  • %TOMCAT_HOME%/pentaho-styles/img

También se puede modificar el estilo el menú

  • %TOMCAT_HOME%/pentaho-styles/menu/css
  • %TOMCAT_HOME%/pentaho-styles/menu/js

Para modificar el contenido del menú se necesario modificar los archivos:

  • %PENTAHO_SOLUTION%/system/custom/xsl/*menu*.xsl

Para añadir un idioma hay que ir a

  • %PENTAHO_HOME%/WEB-INF/clases/org/pentaho/locale.

Como última opción se puede modificar la plantilla general %PENTAHO_HOME%/jsp/index.jsp y otros archivos para la administración de pentaho.

Entradas siguientes »

Blog de WordPress.com.