java hibernate spring configuration websphere

java - Configuración del resorte de depuración



hibernate spring (1)

Sí, Spring logging logging es muy detallado, no mencionó en su publicación, si ya está usando un framework de registro o no. Si está utilizando log4j, simplemente agregue los anexos de resorte a la configuración de log4j (es decir, a log4j.xml o log4j.properties). Si está utilizando log4j xml config, puede hacer algo como esto

<category name="org.springframework.beans"> <priority value="debug" /> </category>

o

<category name="org.springframework"> <priority value="debug" /> </category>

Le aconsejaría que pruebe este problema de forma aislada con la prueba JUnit. Puede hacerlo utilizando el módulo de prueba de primavera junto con Junit . Si utiliza el módulo de prueba de primavera, hará la mayor parte del trabajo para usted, carga el archivo de contexto según su configuración de contexto y comienza el contenedor para que pueda centrarse en probar su lógica comercial. Tengo un pequeño ejemplo aquí

@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations={"classpath:springContext.xml"}) @Transactional public class SpringDAOTest { @Autowired private SpringDAO dao; @Autowired private ApplicationContext appContext; @Test public void checkConfig() { AnySpringBean bean = appContext.getBean(AnySpringBean.class); Assert.assertNotNull(bean); } }

ACTUALIZAR

No le aconsejo que cambie la forma de cargar el registro, pero intente esto en su entorno de desarrollo. Agregue este fragmento a su archivo web.xml

<context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/log4j.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener>

ACTUALIZAR archivo de configuración lo4j

Probé esto en mi tomcat local, generó un montón de inicio de sesión en la aplicación. También quiero hacer una corrección usar depurar, no la información como @Rayan Stewart mencionó.

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false"> <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"> <param name="Threshold" value="debug" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{HH:mm:ss} %p [%t]:%c{3}.%M()%L - %m%n" /> </layout> </appender> <appender name="springAppender" class="org.apache.log4j.RollingFileAppender"> <param name="file" value="C:/tomcatLogs/webApp/spring-details.log" /> <param name="append" value="true" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{MM/dd/yyyy HH:mm:ss} [%t]:%c{5}.%M()%L %m%n" /> </layout> </appender> <category name="org.springframework"> <priority value="debug" /> </category> <category name="org.springframework.beans"> <priority value="debug" /> </category> <category name="org.springframework.security"> <priority value="debug" /> </category> <category name="org.springframework.beans.CachedIntrospectionResults"> <priority value="debug" /> </category> <category name="org.springframework.jdbc.core"> <priority value="debug" /> </category> <category name="org.springframework.transaction.support.TransactionSynchronizationManager"> <priority value="debug" /> </category> <root> <priority value="debug" /> <appender-ref ref="springAppender" /> <!-- <appender-ref ref="STDOUT"/> --> </root> </log4j:configuration>

Estoy trabajando en una aplicación Java que usa Spring e Hibernate y se ejecuta en una Websphere. Me encontré con un problema, donde espero que Spring cargue un Dao en mi objeto, pero por alguna razón eso no sucede. (Otro Dao que se especifica de la misma manera se carga bien).

La pregunta es: ¿cómo puedo depurar cómo Spring decide qué cargar? ¿Puedo activar el registro para Spring y dónde?