我是新的Java卡开发,我想知道如何在交易过程中断电时处理交易。我想知道有没有办法在电源丢失时内部重置或从卡终端中删除java卡。在我的Java卡小程序中,我尝试了尝试失败:
JCSystem.beginTransaction();
JCSystem.commitTransaction();
Util.arrayCopyNonAtomic();
还有其他办法吗?
感谢Sajith
答案 0 :(得分:1)
在事务中,对EEPROM或闪存等持久性存储器的写入以原子方式处理。也就是说:好像对持久性内存的所有写入都是一个大动作的一部分。
要创建原子副本,您需要使用Util.arrayCopy()
而不是Util.arrayCopyNonAtomic()
。可能还有其他行为可以参与原子性。如果更改持久性内存的操作不参与原子事务,则Java Card API将明确记录这些操作。
如前所述,没有重置Java卡的方法。相反,您可以使用JCSystem.abortTransaction()
。