Prácticas recomendadas para el desarrollo de aplicaciones > Empaquetado e implementación de aplicaciones integradas en ThingWorx Platform > Resolución de problemas y depuración de las aplicaciones de ThingWorx durante el desarrollo y el empaquetado
Resolución de problemas y depuración de las aplicaciones de ThingWorx durante el desarrollo y el empaquetado
En la siguiente sección se explica cómo solucionar algunas incidencias durante el desarrollo y la implementación de la extensión.
La plantilla de cosa no existe después de una importación correcta
Si se produce una incidencia al crear la plantilla de cosa después de importar las entidades, es posible que la plantilla de cosa no esté disponible en la aplicación. Sin embargo, esta excepción no es grave. El motivo más común de esta excepción es que falta un fichero JAR necesario para la clase de plantilla de cosa. Para esta incidencia, realice las siguientes verificaciones:
En el fichero metadata.xml de la extensión, verifique la declaración del fichero JAR necesario.
Verifique si el fichero JAR necesario está disponible en el directorio lib/common de la extensión.
Conflicto de fichero JAR al importar
Cuando la aplicación utiliza un fichero JAR que ya está cargado en ThingWorx Platform, es posible que se reciba la excepción de conflicto de fichero JAR. Para corregir la incidencia, se puede quitar el fichero JAR del fichero metadata.xml. Sin embargo, quitar el fichero JAR del fichero de metadatos puede ser arriesgado si se ha cargado una versión diferente de fichero JAR en la plataforma. Las distintas versiones del mismo fichero JAR pueden provocar conflictos en la funcionalidad. Este conflicto puede afectar a la extensión o a la propia plataforma. La mejor solución es intentar evitar el uso del fichero JAR, si es posible.
Verificación de registros para depurar incidencias al importar una extensión
Una aplicación de ThingWorx registra todos sus mensajes en el registro de la aplicación. Cuando se importa una extensión, se cargan las clases desde los ficheros JAR, se crean las entidades y se ejecutan varios procesos en segundo plano a la vez. En ocasiones, esto puede provocar errores inesperados. Es posible que la importación falle o que, aunque sea correcta, falten algunos elementos de ThingWorx. Para este tipo de errores, verifique el registro de la aplicación donde se puede encontrar el error con una explicación de lo que ha fallado en la importación.
Para obtener la aplicación y otros registros, utilice el menú Supervisión de Composer.
Conexión de un puerto de depuración a Tomcat
La mejor manera de depurar la aplicación es conectar un puerto de depuración a la instancia de Tomcat. De este modo, se puede conectar a la plataforma desde un entorno de desarrollo integrado (IDE). Se pueden añadir puntos de interrupción al código que se ha cargado. Se puede activar un servicio, definir una propiedad o guardar una cosa, además de realizar un seguimiento de lo que ocurre dentro del código mientras se ejecuta. Se debe cargar el mismo código que el código en el que se tienen puntos de interrupción. Los puntos de interrupción que se añadan se asociarán a distintas líneas de código y pueden tener valores y funcionalidad diferentes.
Para añadir un puerto de depuración a Tomcat, se debe añadir una opción de Java en el inicio. Hay diferentes maneras de añadir un puerto de depuración. Depende de cómo se inicie Tomcat. El puerto se debe configurar en función de la configuración de Tomcat e IDE.