페이지 트리
메타 데이터의 끝으로 건너뛰기
메타 데이터의 시작으로 이동

01.    시스템 기동 시 트러블 슈팅

WAS를 통해 시스템 실행 시에 서비스가 올라오지 않는 경우입니다.

  • 정상적인 실행 상태

      로그 생성 경로에 Matrix.log가 생성된 후에 matrix_service.log가 생성.

      기동이 완료된 후에 matrix_service.log를 확인하여 정상적으로 기동 되었는지 체크.

      Application의 모든 라이브러리가 문제 없이 올라와야 서비스가 정상적으로 동작합니다.

      각 WAS 및 환경에 따라서 기동에 시간이 걸릴 수도 있기 때문에 반드시 로그의 마지막 올라온 라인을 확인하여야 합니다.

      로그에 destrory가 찍히면 정상 기동 된 상태가 아니기 때문에 WAS가 올라왔다 하더라  WAS 로그를 확인하여 문제가 있는지 체크하여 주시기 바랍니다.

정상 로그

......................................

WARN [2023-11-16 15:49:40] c.m.f.c.u.RefreshableSqlSessionFactoryBean - > RefreshableSqlSessionFactoryBean [refreshMapper] folder not found
INFO [2023-11-16 15:49:40] c.m.f.common.config.MybatisConfig - RefreshableSqlSessionFactory was success created !!
INFO [2023-11-16 15:49:41] c.m.f.common.config.MybatisConfig - sessionFactoryBean() resources_default size : 4
INFO [2023-11-16 15:49:41] c.m.f.common.config.MybatisConfig - sessionFactoryBean() resources_database size : 3
INFO [2023-11-16 15:49:41] c.m.f.common.config.MybatisConfig - sessionFactoryBean() resources size : 4
INFO [2023-11-16 15:49:41] c.m.f.common.config.MybatisConfig - SqlSessionFactory was success created !!
DEBUG [2023-11-16 15:49:44] c.m.f.c.c.WebSecurityConfig$$EnhancerBySpringCGLIB$$a7c450d4 - ============= [WebSecurityConfig] configure start call =============
INFO [2023-11-16 15:49:44] c.m.f.c.c.WebSecurityConfig$$EnhancerBySpringCGLIB$$a7c450d4 - cross origin setting (allowed origin: [http://192.168.0.83:8080, http://192.168.0.81:9090/matrix, http://192.168.11.45:9090/matrix7, http://192.168.11.81/matrix6]) success
INFO [2023-11-16 15:49:44] c.m.framework.common.util.CommonUtil - [CommonUtil] fileDelete() run complete [path:D:\tomcat\apache-tomcat-8.5.59\webapps\matrix7\reports2\config\rsa]
INFO [2023-11-16 15:49:44] c.m.f.c.c.WebSecurityConfig$$EnhancerBySpringCGLIB$$a7c450d4 - ======= [WebSocketConfiguration] registry start ========
DEBUG [2023-11-16 15:49:44] c.m.f.c.s.w.SignalingWebSocketHandler - ============= signalingWebSocketHandler constructor ==============
DEBUG [2023-11-16 15:49:44] c.m.f.c.c.WebSecurityConfig$$EnhancerBySpringCGLIB$$a7c450d4 - [webSocket handshakeHandler setting][isJeus:false]
DEBUG [2023-11-16 15:49:44] c.m.f.c.s.s.CustomConcurrentSessionControlAuthenticationStrategy - [Session Concurrent Set [max session cnt: -1]


  • 정상적인 AUD 서버가 기동 되지 않은 상태

     matrix_service.log 로그를 확인하였을 때 아래처럼 나타나면 WAS는 올라가 있더라 서버가 정상적으로 기동 되지 않은 상태이므로 WAS 로그를 확인한다.

     WAS 로그를 통해 Exception 을 확인 후 트러블 슈팅 원인에 포함되지 않은 항목은 연구소로 문의.

비정상 로그

INFO [2022-12-30 11:39:41] c.m.f.c.c.WebSecurityConfig$$EnhancerBySpringCGLIB$$a787d175 - ============= matrix_service destroy start ===============

INFO [2022-12-30 11:39:41] c.m.f.c.c.WebSecurityConfig$$EnhancerBySpringCGLIB$$a787d175 - ============= matrix_service destroy end ===============


  • logback.xml 로 생성되는 matrix_service 관련 로그가 생성되지 않을 경우

원인

Was별 logback를 사용하는 경우에 충돌로 인하여 어플리케이션 로그가 생성 안되는 경우입니다.

해결책

WAS별 application 라이브러리가 우선 적용되도록 설정합니다.

Jeus8.5

이상

JEUS 8.5 버전에서 신규 기능으로 추가된 라이브러리로 인해 로그 기록에 문제가 있는 이슈

$JEUS_HOME/lib/system 디렉토리에 존재하는 아래 2개 라이브러리를 제거(백업) 후 was 재기동 후에 다시 로그가 생성되는지 확인합니다.

 

- ehcache-scf-replication-jar-with-dependencies.jar

- hazelcast-all4.2.1.jar

Weblogic

Application 경로의 WEB-INF 아래에 weblogic.xml 에 우선 적용 설정합니다.

해당 파일이 없다면 신규로 생성하여 적용.

예시) WEB-INF/weblogic.xml

 

<container-descriptor>

 <prefer-web-inf-classes>false</prefer-web-inf-classes>

  <prefer-application-packages>

       <package-name>ch.qos.logback.*</package-name>

</prefer-application-packages>

</container-descriptor>

  • JEUS7 환경에서 Hibernate5 버전 적용 시 오류가 발생되는 경우

원인

JEUS7 은 Hibernate 5 버전은 기본으로 지원하지 않아 발생하는 경우입니다.

해결책

JESU7 환경에서 적용 될 수 있도록 환경 설정을 해야 합니다.

 

Jeus Admin에서 설정하거나 직접 설정 파일 수정하여 처리합니다.

Servers -> 해당서버명 -> Basic -> User Interceptor -> Jeus Classloader Append Class

Path & Boot Classloader Append Class Path 로 설정

 

1. Boot Classloader Append Class Path에  hibernate-jpa-2.1-api-1.0.0.Final.jar

, validation-api-2.0.1.Final.jar 추가

ex)D:\tomcat\apache-tomcat-8.5.59\webapps\matrix7\WEB-INF\lib\hibernate-jpa-2.1-api-1.0.0.Final.jar;D:\tomcat\apache-tomcat-8.5.59\webapps\matrix7\WEB-INF\lib\validation-api-2.0.1.Final.jar

2. Jeus Classloader Append Class Path 에 AUD 플랫폼 컨테이너 서버 경로 설정

ex) D:\tomcat\apache-tomcat-8.5.59\webapps\matrix7

3. lib 폴더에 validation-api-2.0.1.Final.jar 없을 경우에 물리적 파일 추가

4. lib 폴더에서 jboss-transaction-api_1.2_spec-1.1.1.Final.jar 삭제

  • AUD 플랫폼에서 사용하는 Application 라이브러리와 충돌로 인해 WAS 기동 안되는 현상

원인

Was에서 사용하는 라이브러리와 Application 라이브러리 충돌로 인해 Application 라이브러리가 WAS 의 우선 순위에 밀려 해당 버전으로 정상적으로 로딩 되지 않아 발생한 현상입니다.

해결책

WAS별 application 라이브러리가 우선 적용되도록 설정합니다.

Jeus8

Jeus Admin에서 설정하거나 직접 설정 파일 수정하여 처리합니다.

Servers -> 해당서버명 -> Basic -> User Interceptor -> Jeus Classloader Append Class Path 로 설정

 

Jeus Classloader Append Class Path에 Application 라이브러리 lib 경로를 설정.

Ex) /home/jeus8/apps/matrix7/WEB-INF/lib

Weblogic

Application 경로의 WEB-INF 아래에 weblogic.xml 에 우선 적용 설정합니다.

해당 파일이 없다면 신규로 생성하여 적용.

예시) WEB-INF/weblogic.xml

 

<container-descriptor>

 <prefer-web-inf-classes>false</prefer-web-inf-classes>

  <prefer-application-packages>

        <package-name>javax.jws.*</package-name>

        <package-name>org.apache.xerces.*</package-name>

        <package-name>com.sun.xml.messaging.saaj.*</package-name>

        <package-name>com.ctc.wstx.stax.*</package-name>

        <package-name>javax.xml.stream.*</package-name>

<package-name>com.matrix.framework.*</package-name>

<package-name>org.hibernate.validator.*</package-name>

 </prefer-application-packages>

</container-descriptor>

Jboss

Web Application에 jboss-deployment-structure.xml 추가하여 배포

예시) WEB-INF/ jboss-deployment-structure.xml

 

<?xml version="1.0" encoding="UTF-8"?>

<jboss-deployment-structure>

<deployment>

             <exclusions>

                           <module name="org.hibernate.validator"/>

<module name="org.apache.commons.logging"/>

<module name="org.apache.log4j"/>

<module name="org.slf4j"/>

<module name="org.slf4j.impl"/>

             </exclusions>

</deployment>

</jboss-deployment-structure>

  • Tomcat을 통해 Application 기동 시 인증이 지속적으로 끊어지는 현상

원인

Application 서버가 주기적으로 자동으로 reloading 되면서 발생하는 현상입니다.

해결책

WAS별 application 라이브러리가 우선 적용되도록 설정합니다.

Jeus8.5

이상

Tomcat에서 server.xml 의 reloadable 값을 false로 설정합니다.

먼저 AUD용 docbase의 reloadable값이 true로 설정되어 있는지 확인합니다.

true로 설정되어 있다면 $Tomcat_HOME/conf 디렉토리에 존재하는 server.xml 파일을 수정합니다.

<Context docBase="C:/AUDPlatform_7/matrix" path="" reloadable="false" /></Host>


02.    운영 중의 트러블 슈팅

  • 동일 아이디에 대한 중복 로그인 설정으로 변경해야 될 경우

원인

기본값은 동일 아이디에 대한 중복 로그인을 허용하지 않기 때문에 운영 중 변경 시 옵션 변경 필요

해결책

Admin을 통하여 옵션값만 변경시에 서버로 적용이 되지 않기 때문에 추가 설정 파일 및 서버 재기동이 필요합니다. 추후 Admin을 통하여 자동 반영 되도록 수정할 예정입니다.

 

1. Admin에 접속하여 시스템 운영관리 > PORTAL 설정 > 더 보기 클릭하여 OP_SYSCONF의 값을 N으로 설정합니다.

2. WEB-INF/classes/framework/service/service_api.properties 파일을 열어서

Matrix.security.auth.max.count=-1로 변경합니다.

3. 서버를 재기동 합니다.

4. 동일한 아이디로 중복 로그인이 가능한지 확인합니다.

  • oracle DB 연동 시 jdbc oracle14.jar 사용 시 서버 기동에서 오류 발생되는 현상

원인

oracle14.jar에서는 isClose() 메소드가 존재하지 않는 버전이지만 AUD 플랫폼에서 사용하는 mybatis의 버전은 select 시에 isClose() 를 확인 후 처리하는 버전

해결책

mybatis 버전을 isClose() 속성을 체크하지 않는 버전으로 다운그레이 한다.

 

1. WEB-INF/lib/ mybatis용 jar 파일 버전을 낮춥니다.

mytabis-3.5.6.jar → mybatis-3.4.1.jar

mybatis-spring-2.0.5.jar → mybatis-spring-2.0.0.jar

2. 서버를 재기동 합니다.