Instalando Tomcat 7
Este artículo lo explica muy bien: http://davidghedini.blogspot.com/2011/02/install-tomcat-7-on-centos-rhel.html
Aunque el tutorial es para una de las primeras versiones de tomcat 7, también funciona con la mas reciente y les dejo el enlace:
wget http://www.gtlib.gatech.edu/pub/apache/tomcat/tomcat-7/v7.0.23/bin/apache-tomcat-7.0.23.tar.gz
Instalando JBoss 7
Primero recomiento leer una introducción a JBoss 7
Como no encontré un buen tutorial para JBoss 7, decidí seguir el de la version 6: http://davidghedini.blogspot.com/2011/03/install-jboss-6-on-centos.html y también este otro:
http://community.jboss.org/wiki/StartJBossOnBootWithLinux. También sería bueno seguir las mejores prácticas: http://jboss.ociweb.com/wiki/JBossSupport/BestPractices
Al intentar desplegar la aplicación me he encontrado con algunos problemitas.
Errores:
Cannot find scanner class. hibernate.ejb.resource_scanner=org.jboss.as.jpa.hibernate4.HibernateAnnotationScanner
JBoss AS 7 tiene una nueva forma de cargar las dependencias, por lo que algunas dependencias propias de las aplicaciones ya las carga y configura por defecto. Mi aplicacion usaba Hibernate 3 por lo que creaba un conflicto con el Hibernate que carga por defecto el jboss.
Probé primero excluyendo el módulo de Hibernate de jboss, para dejar el de la aplicacion, pero esto me dio muchos problemas por lo que decidí migrar el proyecto JPA hacia Hibernate 4. No tuve mayores contratiempos con el código utilizado, excepto esto:
Para capturar la conexion JDBC antes se hacia
((HibernateEntityManager)getEntityManager()).getSession().connection();
Ahora es de la siguiente manera
((SessionImpl)((HibernateEntityManager)getEntityManager()).getSession()).connection();
[null] los ELResolvers para JSF no se han registrado con el contenedor JSP.
En mi web.xml deshabilité el siguiente código
<context-param> <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name> <param-value>resources.application</param-value> </context-param>
Error:
No suitable driver found for jdbc:postgresql://localhost/postgres
Como la aplicación primeramente usaba Apache Tomcat para ejecutarse, el persistence.xml siguiente, funcionaba bien:
<?xml version="1.0" encoding="UTF-8"?> <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> <persistence-unit name="presupuestoJPA" > <class>ni.gob.mti.presupuesto.DetallePresupuesto</class> <class>...otrasclases...</class> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/> <property name="hibernate.connection.driver_class" value="org.postgresql.Driver"/> <property name="hibernate.connection.url" value="jdbc:postgresql://10.13.86.7/presupuesto"/> <property name="hibernate.connection.username" value="postgres"/> <property name="hibernate.connection.password" value=""/> <property name="hibernate.show_sql " value="true" /> </properties> </persistence-unit> </persistence>
Pero en JBoss el trabajo con la persistencia es bastante diferente.
Primero se debe crear un datasource. Aunque se puede hacer manualmente configurando un par de archivos, tuve que recurrir a la Administration Console, como se indica en este artículo: http://community.jboss.org/wiki/JBossAS7-DatasourceConfigurationForPostgresql
Con esto debemos cambiar el archivo persistence.xml, quedaría de la siguiente manera:
<?xml version="1.0" encoding="UTF-8"?> <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> <persistence-unit name="presupuestoJPA" > <jta-data-source>java:jboss/datasources/presupuesto</jta-data-source> <class>ni.gob.mti.presupuesto.DetallePresupuesto</class> <class>...otrasclases...</class> <properties> <property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.JBossTransactionManagerLookup" /> <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/> <property name="hibernate.show_sql " value="true" /> </properties> </persistence-unit> </persistence>
Instalar Subversion
http://wiki.centos.org/HowTos/Subversion
Comandos útiles de Linux
Que aplicación está usando un puerto (8081 es el puerto a consultar)
lsof -i :8081
Buscar archivos y carpetas (java es parte del nombre a buscar)
find / -name java -print
Version del servidor
$ cat /etc/*-release
$ uname -mrs
Comentarios
Publicar un comentario