OpenOffice多线程转换问题,求资料
java 调用OpenOffice在linux下执行文件转化,多线程执行,总有一批会挂掉,转换失败,socket通讯有什么较好的方法改善吗?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 parow 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();
}
}
}
Java OpenOffice jodconverter socket --------------------编程问答-------------------- 顶一下,我也遇到同样问题,不知道你现在解决没有! --------------------编程问答-------------------- 这个问题也一直困扰我,有没有大神解决过这个问题呢 --------------------编程问答-------------------- 我也碰到类似问题,windows下转换很多失败,不知道大家有没有解决
补充:Java , Eclipse