Transactions 在交易过程中断电时重置java卡小程序

Transactions 在交易过程中断电时重置java卡小程序,transactions,reset,javacard,apdu,Transactions,Reset,Javacard,Apdu,我是一名新的Java卡开发人员,我想知道在交易过程中断电时如何处理交易。我想知道是否有办法在断电时进行内部重置,或者从卡终端中取出java卡。在我的Java卡小程序中,我尝试了以下操作,但未成功: JCSystem.beginTransaction() JCSystem.commitTransaction() Util.arrayCopyNonAtomic() 还有别的办法吗 多亏了Sajith,事务中对持久存储器(如EEPROM或闪存)的写入以原子方式处理。也就是说:好像所有对持久内存的写

我是一名新的Java卡开发人员,我想知道在交易过程中断电时如何处理交易。我想知道是否有办法在断电时进行内部重置,或者从卡终端中取出java卡。在我的Java卡小程序中,我尝试了以下操作,但未成功:

  • JCSystem.beginTransaction()
  • JCSystem.commitTransaction()
  • Util.arrayCopyNonAtomic()
还有别的办法吗


多亏了Sajith,事务中对持久存储器(如EEPROM或闪存)的写入以原子方式处理。也就是说:好像所有对持久内存的写入都是一个大动作的一部分

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


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

它是如何工作的?你确定要在交易中使用
arrayCopyNonAtomic
(这不是违背了交易的目的吗)?你创造了许多(有效的)问题,在这本古老的书中得到了完美的解释