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

Consultar mensajes enviados a una dirección de correo para una incidencia en JIRA.

Archivado en: JIRA — jansoblog @ 10:28 am
Tags: , , ,

Consultar mensajes enviados a una dirección de correo para una incidencia en JIRA.

 

 

SELECT n.[ID]

      ,i.pkey as ISSUE

      ,[emailaddress]

      , e.name as EVENT

  FROM [jiradb].[jiraschema].[notificationinstance] n , [jiradb].[jiraschema].[jiraissue]  i

, jiraschema.jiraeventtype e

where 

n.emailaddress = ‘email@email.com’ and

i.pkey = ‘JIRA-1′ and

n.source = i.id

and n.notificationtype = ‘NOTIFICATION_’+convert(VARCHAR, e.id)

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

16 de Marzo de 2009

LoadRunner error code 27791

Archivado en: Testing — jansoblog @ 8:22 am
Tags: , , ,

Trabajando con LoadRunner, haciendo pruebas a una aplicación sobre HTTPS obtuve persistentemente el error -27791, “Server ’server name’ has shut down the connection prematurely“, aparentemente sin ningún motivo.

Se solucionó añadiendo :

vuser_init() {

      web_set_sockets_option (“CLOSE_KEEPALIVE_CONNECTIONS”, “1″);

      web_set_sockets_option(“SSL_VERSION”, “3″);

      web_set_sockets_option(“MAX_CONNECTIONS_PER_HOST”,“1″);

      web_set_sockets_option(“OVERLAPPED_SEND”, “0″);

      web_set_sockets_option(“IGNORE_PREMATURE_SHUTDOWN”, “1″);

 

  return 0;

}

 

 

 

 

 

 

 

 

 

 

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.  ]]>

Entradas siguientes »

Blog de WordPress.com.