Sun GlassFish Enterprise Server v3 릴리스 노트

해결 방법

타이머 풀에 지정된 datasource-classname이 XA 데이터 소스를 나타내도록 해야 합니다.

MySQL별 단계:

  1. glassfishv3/glassfish/lib/install/applications/ejb-timer-service-app.war 패키지를 풉니다.

  2. 다음 항목을 WEB-INF/classes/__ejb_timer_mappings.xml <persistence-unit-metadata> 뒤에 추가합니다.

    <persistence-unit-defaults>
    <delimited-identifiers/>
    </persistence-unit-defaults>
  3. WEB-INF/classes/__ejb_timer_mappings.xml 파일을 다시 묶습니다.

  4. (이 단계는 현재 설치 프로그램에서 이미 EJB 타이머 서비스를 사용한 경우에만 필요합니다.) 다음 create 구문을 통해 데이터베이스에 EJB__TIMER__TBL을 직접 생성합니다.

    CREATE TABLE `EJB__TIMER__TBL` (`TIMERID` VARCHAR(255) NOT NULL,
    `BLOB` BLOB(64000), `INITIALEXPIRATIONRAW` BIGINT, `SCHEDULE` VARCHAR(255),
    `INTERVALDURATION` BIGINT, `OWNERID` VARCHAR(255), `STATE` INTEGER,
    `LASTEXPIRATIONRAW` BIGINT, `PKHASHCODE` INTEGER, `CREATIONTIMERAW` BIGINT,
    `CONTAINERID` BIGINT, PRIMARY KEY (`TIMERID`))