Generic text only e problema printer is not accepting job [RESOLVIDO]

Olá pessoal,
Estou utilizando a classe abaixo para impressão de uma string em uma impressora generic text only e estava funcionando até agora pouco. Do nada está ocorrendo uma exceção: ‘printer is not accepting job’.
Pelo que eu li é um bug, daí baixei o último JDK e mesmo assim o problema persiste!!!

Alguém sabe como posso resolver esse problema? Ou tem alguma outra classe que nao utilize essas bibliotecas e sim outras para fazerem a impressão na genereic text???

Obrigado

package wo.WOPIZZARIAS.Util;
 
import java.io.ByteArrayInputStream;
import java.io.InputStream;

import javax.print.Doc;
import javax.print.DocFlavor;
import javax.print.DocPrintJob;
import javax.print.PrintException;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.SimpleDoc;

// instalada, recebe o texto e o imprime.   
public class ImpressaoGeneric {   

  // variavel estatica porque será utilizada por inumeras threads
  private static PrintService impressora;

    @SuppressWarnings("OverridableMethodCallInConstructor")
  public ImpressaoGeneric() {
    detectaImpressoras();
  }

  // O metodo verifica se existe impressora conectada e a
  // define como padrao.
    @SuppressWarnings("CallToThreadDumpStack")
  public void detectaImpressoras() {

    try {

      DocFlavor df = DocFlavor.SERVICE_FORMATTED.PRINTABLE;
      PrintService[] ps = PrintServiceLookup.lookupPrintServices(df, null);

      for (PrintService p: ps) {

        System.out.println("Impressora encontrada: " + p.getName());

        if (p.getName().contains("Text") || p.getName().contains("Generic")){
            System.out.println("Impressora Selecionada: " + p.getName());
            impressora = p;
            break;}
      }

    }catch (Exception e){
       e.printStackTrace();
    }
  }

    @SuppressWarnings("CallToThreadDumpStack")
  public synchronized boolean imprime(String sTexto) {

    // se nao existir impressora, entao avisa usuario
    // senao imprime o texto
    if (impressora == null) {
        String msg = "Nenhuma impressora foi encontrada. " +
                     "Instale uma impressora padrão \r\n" +
                     "(Generic Text Only) e reinicie o programa.";
        System.out.println(msg);
    }else {

       try {

        DocPrintJob dpj    = impressora.createPrintJob();
        InputStream stream = new ByteArrayInputStream(sTexto.getBytes());

        DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
        Doc doc          = new SimpleDoc(stream, flavor, null);
        dpj.print(doc, null);
        return true;

       }catch (PrintException e) {
    	   e.printStackTrace();
       }
    }
    return false;
  }
}

SOLUÇÃO:

		FileTXT fileTXT = new FileTXT();
		fileTXT.writeFileTXT(texto, "files/extrato.txt");
		Desktop.getDesktop().print(new File("files/extrato.txt"));

Resposta;

http://www.guj.com.br/java/268606-java-executar-arquivo-de-outra-linguagem-compilado-para-imprimir-um-texto#1407746