2015-03-04 2 views
0

Я пытаюсь работать с Pos-Printer Epson TM-T70. Печать работает, но если принтер отключен, я пытаюсь подключиться в цикле.
происходит следующее в конструкторе принтер-Control-объекте, пока не запускать в исключение:Epson PosPrinter (TM-T70) продолжает создавать потоки при попытках подключения

private POSPrinterControl19 epsonPrinterControl19; 
epsonPrinterControl19 = (POSPrinterControl19) new POSPrinter(); 
epsonPrinterControl19.open(printerName); 
epsonPrinterControl19.claim(0); 

На претензиях, МСС-исключение, конструктор не строит. На объект, финализации-метод называется:

super.finalize(); 
    epsonPrinterControl19.removeStatusUpdateListener(this); 
    epsonPrinterControl19 = null; 

Что продолжает работать, хотя, это Тема:

"EPSON UPOS Service [email protected]" prio=5 tid=0x14 nid=NA waiting 
java.lang.Thread.State: WAITING 
    at java.lang.Object.wait(Object.java:-1) 
    at java.lang.Object.wait(Object.java:485) 
    at jp.co.epson.upos.ServiceEventQueue.peekEvent(Unknown Source:-1) 
    at jp.co.epson.upos.ServiceEventThread.run(Unknown Source:-1) 

мне кажется, не в состоянии избавиться от этой темы. И поскольку я снова пытаюсь подключиться к принтеру из основной программы, новые потоки продолжают создаваться.
Вопрос в следующем: Как мне избавиться от этих тем?

Редактирование: Я экспериментировал еще ... кажется, проблема вызвана новым POSPrinter(); который создал этот поток.
Лично я сейчас на другой проблеме ... Мне нужно подумать, будет ли этот вопрос по-прежнему актуальным.

ответ

0

Если кто знает, как избавиться от тем (вместо предотвращения их), пожалуйста, ответьте :).

Для реальной проблемы: получается, что при вызовах нового POSPrinter() создается Thread и остается активным (хотя и ожидающим), независимо от того, какой PosPrinter-Object остается ссылкой или нет.

Решение (на данный момент) состоит в том, чтобы убедиться, что конструктор вызывается только один раз и выполняет все операции по повторному подключению, отключению и т. Д. На одном объекте.
(Кажется, мне все-таки чисто программировать.)

Смежные вопросы