确保为计时器池指定的 datasource-classname 表示 XA 数据源。
MySQL 特定步骤:
解压缩 glassfishv3/glassfish/lib/install/applications/ejb-timer-service-app.war。
将以下内容添加到 WEB-INF/classes/__ejb_timer_mappings.xml 中的 <persistence-unit-metadata> 之后:
<persistence-unit-defaults> <delimited-identifiers/> </persistence-unit-defaults>
重新打包 WEB-INF/classes/__ejb_timer_mappings.xml 文件。
(只有当前安装已使用 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`))