我使用程序化定时器服务(@Timeout)并使用Glassfish,我不断收到以下错误:
内部异常:java.sql.SQLException:对于只读连接,用户或数据库,不允许更改SQL数据。
我的代码很简单,而且我同时使用程序化定时器服务和自动定时器服务,只有程序定时器服务出现错误:
我的代码是:
@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没有。
知道问题在这里吗?如何禁用持久性?感谢。