Sun GlassFish Enterprise Server v3 版本說明

解決方法

確定為計時器集區指定的 datasource-classname 代表 XA DataSource。

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`))