Tomcat
Para habilitar las trazas de logging tal y como se utilizan en la instalación por defecto de Tomcat 7, pero dentro del Eclipse usando WTP, debemos seguir los siguientes pasos:

  1. En la vista Project Explorer (o Navigator o Package Explorer) vamos a Servers –> Tomcat v7.0 Server at localhost-config –> Botón derecho –> Import –> General –> File System –> Next –> Navegamos a la carpeta $CATALINA_BASE/conf/ (donde $CATALINA_BASE es la carpeta de instalación del Tomcat 7) –> Seleccionamos el fichero logging.properties –> Finish
  2. Vamos a Run –> Run Configurations… –> Apache Tomcat –> Tomcat v7.0 Server at localhost –> Arguments –> Y en “VM arguments” añadimos:

    -Djava.util.logging.config.file="${workspace_loc}/Servers/Tomcat v7.0 Server at localhost-config/logging.properties" -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager

    –> Apply

NOTA: Es posible que el nombre de la carpeta de configuración del servidor (Tomcat v7.0 Server at localhost-config) sea diferente o que el nombre de la configuración del lanzador (Tomcat v7.0 Server at localhost) sea distinta. Será necesario ajustarla acorde a tu configuración particular.

Tomcat
Por defecto el nivel de logging definido en Tomcat 7 es INFO.

Con este nivel de logging, no se detalla ningún tipo de información acerca de la configuración del contexto JNDI que se define para cada módulo desplegado.

Si necesitamos “trazar” la definición de dichos contextos JNDI tenemos que activar el nivel DEBUG en la clase org.apache.catalina.core.NamingContextListener que, según el JavaDoc es una:

Helper class used to initialize and populate the JNDI context associated with each context and server

Para hacer esto, editamos el fichero $CATALINA_BASE/conf/logging.properties y añadimos al final algo así:


# To see debug messages in NamingContextListener
org.apache.catalina.core.NamingContextListener.level = FINE

Si además de trazar la definición de los contextos JNDI queremos trazar las consultas (lookups) que se realizan a dichos contextos, podemos activar la traza a nivel del paquete org.apache.naming añadiendo algo así:


# To see debug messages in org.apache.naming package
org.apache.naming.level = FINE

tattletale_logo_600px
¿Alguna vez te has encontrado un problema al ejecutar tu aplicación web porque varios de los ficheros jar incluidos tienen las mismas clases en diferentes versiones y la que coge el servidor de aplicaciones es la incorrecta?

Utilizando la herramienta Tattletale de JBoss y su plugin Maven, puedes encontrar fácilmente si tienes clases duplicadas en la carpeta WEB-INF/lib de tu WAR y más importante, hacer que falle la construcción automáticamente si eso ocurre, de modo que no sea demasiado tarde y te ocurra en producción.

Simplemente añade la siguiente configuración del plugin en el pom de tu WAR, en la sección build/plugins. También se puede utilizar en EAR, assemblies y otros tipos de proyectos.

	
<plugin>
  <groupId>org.jboss.tattletale</groupId>
  <artifactId>tattletale-maven</artifactId>
  <version>1.1.2.Final</version>
  <executions>
    <execution>
      <phase>verify</phase> <!-- needs to run after WAR package has been built -->
      <goals>
        <goal>report</goal>
      </goals>
    </execution>
  </executions>
  <configuration>
    <source>${project.build.directory}/${project.build.finalName}/WEB-INF/lib</source>
    <destination>${project.reporting.outputDirectory}/tattletale</destination>
    <reports>
      <report>jar</report>
      <report>multiplejars</report>
    </reports>
    <profiles>
      <profile>java6</profile>
    </profiles>
    <failOnWarn>true</failOnWarn>
    <!-- excluding some jars, if jar name contains any of these strings it won't be analyzed -->
    <excludes>
      <exclude>persistence-api-</exclude>
      <exclude>xmldsig-</exclude>
    </excludes>
  </configuration>
</plugin>

Tendrás que añadir el repositorio Maven de JBoss a la sección repositories de tu POM, o a tu gestor de repositorios. Asegúrate de utilizar el repositorio que solamente contiene artefactos JBoss o podrías experimentar conflictos entre artefactos en ese repositorio y el repositorio Central de Maven.

<repository>
  <id>jboss</id>
  <url>https://repository.jboss.org/nexus/content/repositories/releases</url>
  <releases>
    <enabled>true</enabled>
  </releases>
  <snapshots>
    <enabled>false</enabled>
  </snapshots>
</repository>

Nota: Añadir repositorios extra es una fuente común de problemas que provoca construcciones más lentas (se consulta todos los repositorios en busca de artefactos).

vía

Ubuntu Thunderbird
Thunderbird se integra con el área de notificación de Unity (el gestor de ventanas por defecto de Ubuntu) de tal modo que si recibes un correo se pone en azul el icono con forma de sobre.

El problema es que este cambio de color no sucede con todos los correos sino que sucede únicamente si:

  • El mensaje ha sido enviado con prioridad alta O SI
  • El mensaje es etiquetado (por un filtro) O SI
  • El mensajes tiene como destinatario el receptor (esto es, no está en copia) Y el mensaje no tiene prioridad baja Y el mensaje no ha sido generado automáticamente Y el mensaje no procede de una lista de distribución

Pero a mi me interesa saber cuando me llega cualquier mensaje.

La forma de cambiar este comportamiento y que el icono se ponga azul al recibir cualquier mensajes pasa por crear la siguiente entrada booleana en about:config (Preferences –> Advanced –> General –> ConfigEditor) con valor true:

extensions.messagingmenu.attentionForAll

vía

Subversive Logo
Inicialmente tenía conectados en Eclipse varios proyectos con un SVN utilizando el plugin Subclipse.

Debido a unos problemas en la creación de patches, tuve que cambiar a Subversive.

El problema viene porque una vez eliminado el plugin de Subclise y añadido el de Subversive, la única opción que aparece al pulsar botón derecho sobre un proyecto –> Team, es “Apply Patch…

Esto es debido a que Eclipse “recuerda” que el proyecto estaba conectado al SVN usando Subclipse (que ya no está disponible) y no me permite volver a conectarlo usando Subversive.

Para solucionarlo tenemos dos opciones.

La primera opción (des-instalar/re-instalar los plugins):

  1. Des-instala Subversive
  2. Re-instala Subclipse
  3. Verifica que los proyectos están conectados al SVN
  4. Botón derecho sobre el proyecto –> Team –> Disconect. Asegúrate de marcar “Do not delete the SVN meta-information (e.g. .svn subdirectories).
  5. Des-instala Subclipse
  6. Re-instala Subversive
  7. Botón derecho sobre el proyecto –> Team –> Share Proyect…

La segunda opción (si no quieres des-instalar/re-instalar):

  1. Crea un nuevo workspace vacío
  2. Abre Eclipse utilizando dicho workspace
  3. File –> Import –> General –> Existing Projects into Workspace
  4. Selecciona el proyecto del viejo workspace
  5. Botón derecho sobre el proyecto –> Team –> Share Proyect…

vía

db2
SquirrelSQL es una estupenda herramienta para trabajar con bases de datos.  Sin embargo, he tenido algún problema ejecutando consultas contra bases de datos DB2.  Cuando una consulta contenía un problema de sintaxis (o se encontraba cualquier otro error durante su ejecución), solamente me mostraba el Código de Error SQL, no el mensaje de texto comprensible por un ser humano.

Pero existe un sencillo modo de solucionar este problema:

En el alias de conexión, se debe añadir la propiedad:
  retrieveMessagesFromServerOnGetMessage=true

jdbc:db2://<server>:<port>/<db-name>:retrieveMessagesFromServerOnGetMessage=true;

Extracto del DB2 infocenter:

If you want full message text from a data server when you execute SQLWarning.getMessage calls, set the retrieveMessagesFromServerOnGetMessage property to true.

vía

Eclipse Logo
Las últimas versiones de Eclipse han cambiado el modo que tenían de tratar las pestañas de edición.

En Indigo, cuando tenías 10 pestañas abiertas:

A | B | C | D | J | H | G ….(F | T | S)

y estabas posicionado en la B, al seleccionar de nuevo el fichero mostrado en la pestaña T, esta pestaña (al contrario de lo que ocurre en las últimas versiones) se reposicionaba para quedar al lado de la última abierta, es decir:

A | B | T | C | D | J | H ….( G | F | S)

Esto es útil ya que, si abrimos T después de B, tiene sentido que se agrupen juntas.

En Juno y Kepler no se reposicionan y en vez de eso tienes que buscar los ficheros más recientes al final de la lista de pestañas.

Para modificar este comportamiento (y volver al funcionamiento anterior) hay que editar las hojas de estilo que se encuentran en INSTALL/plugins/org.eclipse.platform_<<version>>/css y modificar el estilo:


.MPartStack {
swt-mru-visible: true;
}

vía

Algunos enlaces de interés
Eclipse4/CSS

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

A %d blogueros les gusta esto: