환경은
Java Mybatis oracle tomcat인데요.
로컬에선 잘 되는 화면이 서버에 적용만 하면
Internal Server error가 뜨네요.
쿼리를 select 'a','b' from dual;
이런식으로 바꾸면 잘 되는 거 보면 쿼리 실행 후 결과 값 가져오는 게 느려서 그런 것 같은데
톰캣에서 connectionTimeout을 늘려줘도 같은 현상이네요.
톰캣 설정을 어떻게 바꾸면 좋을까요...
환경은
Java Mybatis oracle tomcat인데요.
로컬에선 잘 되는 화면이 서버에 적용만 하면
Internal Server error가 뜨네요.
쿼리를 select 'a','b' from dual;
이런식으로 바꾸면 잘 되는 거 보면 쿼리 실행 후 결과 값 가져오는 게 느려서 그런 것 같은데
톰캣에서 connectionTimeout을 늘려줘도 같은 현상이네요.
톰캣 설정을 어떻게 바꾸면 좋을까요...
log4j레벨은 디버그 레벨까지 해놔도 안 뜹니다..
그래서 더 난감하네요
여기에 대해서 구글링도 해봤지만 해결책이 없어서 질문 올려봤습니다 ㅜㅜ
톰켓설정쪽으로 접근하지 마시고,
에러로그를 남겨서 원인을 찾는 방향으로 접근하셔요.
log4j.properties라도 올려주세요.
https://stackoverflow.com/questions/35559824/spring-profiles-different-log4j2-configs 를 참고해보세요.
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!-- Appenders -->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} : %c - %m%n" />
</layout>
</appender>
<logger name="jdbc.resultset" >
<level value="error"/>
</logger>
<logger name="org.springframework" additivity="false">
<level value="error" />
<appender-ref ref="console" />
</logger>
<root>
<priority value="debug" />
<appender-ref ref="console" />
</root>
</log4j:configuration>
테스트 서버가 2대 있는데
A에서는 잘 되는 화면인데
B에서는 500 에러가 뜨는 거네요.
문제가 되는 화면말고 다른 화면들은 어때요?
DB에 방화벽 같은게 있을까요?
혹시 A만 ACL이 허용되어 있고, B는 막혀 있는 거는 아닐려나요?
같은 방식으로 동작하는 화면이고요.
방화벽은 따로 없습니다.
PL/SQL로 되어있는데 왜 톰캣 설정이 문제냐고 생각을 했냐면
본문에도 적었듯이 select를 SELECT 'A','B' FROM DUAL;
이런 sql을 임의로 넣어서 실행 시키면 정상적으로 출력이 됩니다.
근데 원래 sql로 작동 시키면 500 에러가 나와요.