1

我正在使用 Programmatic Timer Service (@Timeout) 并使用 Glassfish,但我不断收到以下错误:

内部异常:java.sql.SQLException:只读连接、用户或数据库不允许更改 SQL 数据。

我的代码很简单,我同时使用了 Programmatic Timer Service 和 Automatic Timer Service,并且错误只出现在 Programmatic Timer Service 中:

我的代码是:

@Timeout
public void programmaticTimeout(Timer timer) {
    sendMessages();
}

// run every minute

@Schedule(hour = "*", minute = "*/1", persistent = false)
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
public void automaticTimeout() {
    sendMessages();
}

@schedule 任务运行良好,而 @Timout 抛出此异常。@schedule 有一个变量表示是否保留数据,而 @Timout 没有。

知道这里有什么问题吗?如何禁用持久性?谢谢。

4

0 回答 0