gpt4 book ai didi

java - JodConverter 处理转换文档的多个请求

转载 作者:行者123 更新时间:2023-12-01 14:09:33 29 4
gpt4 key购买 nike

我的 Java Web 应用程序安装在 server 2008 中。基本上应用程序使用 jodCOnverter 库(使用 openoffice 服务)将 doc 文件转换为 pdf。我正在使用以下代码来转换文档。

  String OpenOfficeConnString="C:\\Program Files (x86)\\OpenOffice 4\\program\\soffice.exe -headless -accept=\"socket,host=127.0.0.1,port=8100;urp;\" -nofirststartwizard";
Runtime rt = Runtime.getRuntime();
Process pSoffice = rt.exec(OpenOfficeConnString);

File inputFile = srcDoc;

String destDoc = srcDoc.getAbsolutePath().substring(0,
srcDoc.getAbsolutePath().lastIndexOf("."))
+ "." + outputFileExt;

outputFile = new File(destDoc);

// connect to an OpenOffice.org instance running on port 8100
OpenOfficeConnection connection = new SocketOpenOfficeConnection(
8100);
connection.connect();

// convert
DocumentConverter converter = new OpenOfficeDocumentConverter(
connection);
converter.convert(inputFile, outputFile);

// close the connection
connection.disconnect();

当有单个请求文档转换成功时。

但是当多个用户尝试同时转换文档时,会引发错误:

错误如下:

com.artofsolving.jodconverter.openoffice.connection.abstractopenofficeconnection disposing info disconnected 

我的问题是如何处理多个请求,以便每个人都可以转换他们的文档而不会出现任何问题。

最佳答案

一种方法是让您的 Web 应用程序将每个传入文档添加到某种队列服务(例如 Gearman 或 Beanstalkd),然后运行一个队列工作线程来一次执行一个转换。这样,转换将异步完成,无需 Web 应用程序实例等待。

网络应用程序可以使用浏览器的长轮询来查看文档是否已转换,或者只是要求用户时不时刷新网页以查看文档是否已转换。

关于java - JodConverter 处理转换文档的多个请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18630557/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com