0

我是新的 Java 卡开发人员,我想知道在交易过程中断电时如何处理交易。我想知道当电源丢失或从卡终端移除java卡时有没有办法在内部重置。在我的 Java 卡小程序中,我没有成功地尝试过:

  • JCSystem.beginTransaction();
  • JCSystem.commitTransaction();
  • Util.arrayCopyNonAtomic();

还有其他方法吗?

谢谢萨吉特

4

1 回答 1

1

在事务中,对持久内存(如 EEPROM 或闪存)的写入是原子处理的。那就是:好像所有对持久内存的写入都是一个大动作的一部分。

要创建原子副本,您需要使用Util.arrayCopy()而不是Util.arrayCopyNonAtomic(). 可能还有其他可以参与原子性的操作。如果更改持久内存的操作参与原子事务,则 Java Card API 将显式记录这些操作。

如前所述,没有重置 Java 卡的方法。相反,您可以使用JCSystem.abortTransaction().

于 2013-08-25T17:30:51.250 回答