OpenOffice配合jodconverter多线程转换文件socket出现异常
2013-07-03 21:17
344 查看
package com.jodconvert.socket; import java.io.File; import org.artofsolving.jodconverter.OfficeDocumentConverter; import org.artofsolving.jodconverter.office.DefaultOfficeManagerConfiguration; import org.artofsolving.jodconverter.office.OfficeManager; /** * 文件转换工具类 主要能将offcie txt类型文件转化成 pdf * * @author xzy 2013-6-8下午03:54:50 * */ public class OpenOfficeTools { private static OfficeManager officeManager; private static OpenOfficeTools instance = new OpenOfficeTools(); // 设置任务执行超时时间, 分钟为单位 // private static final long TASK_EXECUTION_TIMEOUT = 1000 * 60 * 1L * private static final long TASK_EXECUTION_TIMEOUT = 1000 * 60 * 1L * 1; // 设置任务队列超时时间,分钟为单位 // private static final long TASK_QUEUE_TIMEOUT = 1000 * 60 * 1L * private static final long TASK_QUEUE_TIMEOUT = 1000 * 60 * 1L * 1; public static OpenOfficeTools getInstance() { return instance; } public static boolean convert2PDF(File inputFile,File pdfFile) { startService(); OfficeDocumentConverter converter = new OfficeDocumentConverter(officeManager); try { converter.convert(inputFile, pdfFile); } catch (Exception e) { System.out.println("exception:"+e.getMessage()); } stopService(); return pdfFile.isFile(); } /** * 启动openoffice服务 */ private static void startService() { DefaultOfficeManagerConfiguration configuration = new DefaultOfficeManagerConfiguration(); // setProcessManager try { // 设置OpenOffice.org安装目录 configuration.setOfficeHome("C:\\Program Files (x86)\\OpenOffice.org 3"); // 设置转换端口,默认为8100 // configuration.setPortNumbers(new int[] { 8100, 8101, 8102, 8103 }); configuration.setPortNumbers(8100); // 设置任务执行超时时间 configuration.setTaskExecutionTimeout(TASK_EXECUTION_TIMEOUT); // 设置任务队列超时时间 1000 * 60 * 60 * 24L(24h) configuration.setTaskQueueTimeout(TASK_QUEUE_TIMEOUT); officeManager = configuration.buildOfficeManager(); officeManager.start(); // 启动服务 } catch (Exception ce) { // log.error(ce.getMessage(), ce); ce.printStackTrace(); } } /** * 关闭openoffice服务 */ private static void stopService() { if (officeManager != null) { officeManager.stop(); } } }
如上所示
用多线程转换时,启动多个,总会有一个转换不成功,而且进程一直会卡在后台,求大神指导!!
相关文章推荐
- 使用Spring Cloud微服务框架进行多个微服务整合时出现No converter found for return value of type:xxx异常信息
- dubbo注册中心zookeeper出现异常 Opening socket connection to server 10.70.42.99/10.70.42.99:2181. Will not attempt to authenticate using SASL (无法定位登录配置)
- idhttp post 出现exception class EIdSocketError with message 'Socket Error # 10054的解决办法(捕捉异常,防止程序挂掉)
- java实现在线预览doc,txt,ppt,xls等文档,用到了libreOffice,openOffice,SWFTools,JODConverter,flexPaper
- 使用javamail出现java.net.SocketException: Network is unreachable: connect异常 解决方法
- web项目整合MongoDb出现No converter found capable of converting from org.bson.types.ObjectId to type Long异常
- Socket 出现的各种异常分析
- 使用javamail出现java.net.SocketException: Network is unreachable: connect异常 解决方法
- "ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error"异常出现的原因
- 使用Mob短信验证出现 java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)异常
- 用JODConverter和openoffice生成PDF文档时候的PAGESIZE设置问题
- OpenOffice4+jodconverter-core-3.0
- 利用 jodconverter 和openoffice 结合 把doc、ppt 等一系列文档转换成pdf
- 利用jodconverter(基于OpenOffice服务)将word文件(*.doc)转化为html格式
- java---Socket编程出现的异常种类
- 用java写的jodconverter借用openoffice来转换office成pdf的示例代码
- weblogic 出现 java.net.SocketException 异常可能是一个页面的小问题导致的。
- 为什么我以socket协议录制没有脚本出现
- 利用jstl分页时出现的异常
- 导致在Debug下没有异常在 Release 下却出现异常的代码