如果我将超过11个智能卡读卡器连接到我的电脑(运行Windows 7 64位jdk 1.7.0-65),当我尝试收听waitForChange()时会出现此错误:
[SmartCardReaders.java:131 ] - null javax.smartcardio.CardException: waitForChange() failed
at sun.security.smartcardio.PCSCTerminals.waitForChange(Unknown Source)
at TachosafeRDU.SmartCardReaders$SmartCardReaderChange.run(SmartCardReaders.java:110)
at java.lang.Thread.run(Unknown Source)
Caused by: sun.security.smartcardio.PCSCException: Unknown error 0x6c6
at sun.security.smartcardio.PCSC.SCardGetStatusChange(Native Method)
... 3 common frames omitted
代码如下所示:
List<CardTerminal> terminallist;
TerminalFactory factory;
factory = TerminalFactory.getDefault();
terminals = factory.terminals();
terminals.waitForChange(0);
是否有限制,它只能处理11个智能卡读卡器?
修改: 我在一台虚拟机上安装了一台Ubuntu 14,它在13台智能卡读卡器上正常工作。