2012-01-03 2 views
2

제 문제는 다음 코드는 JBoss AS 7에서 실행할 때 프린터를 찾지 못한다는 것입니다. EJB 내에서 POJO 또는 SesscionScoped 클래스) :JBoss AS 7.0.2 - 인쇄 서비스가 없습니다.

PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null); 

System.out.println("Number of services: " + services.length); 

이 예상대로 6 개 서비스를 반환하는 독립형 Java 응용 프로그램에서 실행됩니다. 또한 Jboss를 서비스로 실행하지 않고 standalone.bat (관리자로 실행하면 도움이되지 않음)를 사용하고 있는데, 이는 비슷한 게시물에서 가장 일반적인 문제였습니다. 나도 행운없이 PrintServiceLookup.lookupDefaultPrintService()PrinterJob.lookupPrintServices()를 시험해 보았다.

저는 JBoss 7의 버그 일 가능성이 많습니다. 또는 PrintServiceLookup을 특별한 방법으로 호출해야합니까?

도움을 주시면 감사하겠습니다.

+0

문제는 jboss 7에만 해당되며 해결책은 http://stackoverflow.com/questions/16666786/printservicelook-lookupprintservice-solution-in-jboss-as-7에 설명되어 있습니다. – Christian13467

답변

0

저는 여기서 짐작할 만하지만, JBoss에서 사용하는 SecurityManager이 이것을 막을 수 있습니다. 클래스 PrintServiceLookup의 문서는

PrintServiceLookup의 구현이 신뢰할 수없는 코드에 대한 액세스를 거부하는 SecurityManager.checkPrintJobAccess()를 확인하는 것이 좋습니다 말한다. 이 권장 정책을 따르면 신뢰할 수없는 코드가 인쇄 서비스를 찾지 못할 수도 있습니다.

JBoss AS7: Security : Running under a Java Security Manager

0

는 또한 같은 문제가 있습니다. 그러나 정책 파일을 추가하는 것은 도움이되지 않았습니다. 조회 서비스 코드를 단계별로 실행하면 checkPrintJobAccess에 예외가 발생하지 않습니다.

awt/windows 클래스 로딩과 관련이 있다고 생각합니다.

관련 문제