gpt4 book ai didi

java - 实例化 Java 对象(ColdFusion)时发生异常

转载 作者:行者123 更新时间:2023-11-30 09:32:51 25 4
gpt4 key购买 nike

我为 adding a link to a pdf 找到了这个解决方案前一段时间。如果偶尔使用,它就像一个魅力(每次使用之间重新启动服务器)。我发现由于某种原因(我对 java 和 iText 不是很有经验)当我第二次尝试运行这个脚本时(没有重启),ColdFusion 返回错误:

Object instantiation exception.

An exception occurred while instantiating a Java object. The class must not be an interface or an abstract class. Error: ''.

ColdFusion 然后指示导致错误的行似乎在:

pdfReader = createObject("java","com.lowagie.text.pdf.PdfReader").init(inputPath);

谁对此了解更多,有解决方案或可以解释为什么会发生这种情况?我认为以某种方式创建的 java 对象在 java 中“存活”,但当然在 CF 中无法存活。

堆栈跟踪:

java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at coldfusion.runtime.java.JavaProxy.CreateObject(JavaProxy.java:166)
at coldfusion.runtime.java.JavaProxy.invoke(JavaProxy.java:80)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2360)
at cfSched_PushJobs2MultiPress32ecfm1907554548._factor16(E:\Inetpub\DashBoards\MultiPress\Sched_PushJobs2MultiPress3.cfm:549)
at cfSched_PushJobs2MultiPress32ecfm1907554548._factor17(E:\Inetpub\DashBoards\MultiPress\Sched_PushJobs2MultiPress3.cfm:547)
at cfSched_PushJobs2MultiPress32ecfm1907554548._factor45(E:\Inetpub\DashBoards\MultiPress\Sched_PushJobs2MultiPress3.cfm:543)
at cfSched_PushJobs2MultiPress32ecfm1907554548._factor25(E:\Inetpub\DashBoards\MultiPress\Sched_PushJobs2MultiPress3.cfm)
at cfSched_PushJobs2MultiPress32ecfm1907554548._factor49(E:\Inetpub\DashBoards\MultiPress\Sched_PushJobs2MultiPress3.cfm:512)
at cfSched_PushJobs2MultiPress32ecfm1907554548._factor51(E:\Inetpub\DashBoards\MultiPress\Sched_PushJobs2MultiPress3.cfm:509)
at cfSched_PushJobs2MultiPress32ecfm1907554548._factor53(E:\Inetpub\DashBoards\MultiPress\Sched_PushJobs2MultiPress3.cfm:461)
at cfSched_PushJobs2MultiPress32ecfm1907554548._factor58(E:\Inetpub\DashBoards\MultiPress\Sched_PushJobs2MultiPress3.cfm:213)
at cfSched_PushJobs2MultiPress32ecfm1907554548._factor129(E:\Inetpub\DashBoards\MultiPress\Sched_PushJobs2MultiPress3.cfm:207)
at cfSched_PushJobs2MultiPress32ecfm1907554548._factor146(E:\Inetpub\DashBoards\MultiPress\Sched_PushJobs2MultiPress3.cfm:102)
at cfSched_PushJobs2MultiPress32ecfm1907554548.runPage(E:\Inetpub\DashBoards\MultiPress\Sched_PushJobs2MultiPress3.cfm:1)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:231)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:416)
at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:360)
at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
at coldfusion.filter.PathFilter.invoke(PathFilter.java:94)
at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70)
at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:79)
at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)
at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62)
at coldfusion.CfmServlet.service(CfmServlet.java:200)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
at jrun.servlet.FilterChain.service(FilterChain.java:101)
at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)
at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320)
at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
Caused by: java.io.IOException: Map failed
at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:758)
at com.lowagie.text.pdf.MappedRandomAccessFile.init(Unknown Source)
at com.lowagie.text.pdf.MappedRandomAccessFile.<init>(Unknown Source)
at com.lowagie.text.pdf.RandomAccessFileOrArray.<init>(Unknown Source)
at com.lowagie.text.pdf.RandomAccessFileOrArray.<init>(Unknown Source)
at com.lowagie.text.pdf.PRTokeniser.<init>(Unknown Source)
at com.lowagie.text.pdf.PdfReader.<init>(Unknown Source)
at com.lowagie.text.pdf.PdfReader.<init>(Unknown Source)
... 48 more
Caused by: java.lang.OutOfMemoryError: Map failed
at sun.nio.ch.FileChannelImpl.map0(Native Method)
at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:755)
... 55 more

最佳答案

这不是一个很大的文件,但在很大程度上取决于可用的服务器内存量以及其他进程正在使用的内存量。您可能想尝试使用 RandomAccessFileOrArray对于读者,也缓冲作家的输出。看看是否有帮助。另外,请确保您正在关闭压模和输出流。

// use random access when reading 
raf = createObject("java", "com.lowagie.text.pdf.RandomAccessFileOrArray").init(inputPath, false, true);
pdfReader = createObject("java", "com.lowagie.text.pdf.PdfReader").init( raf, javacast("null", ""));
...
// buffer the output
fos = createObject("java", "java.io.FileOutputStream");
outStream = createObject("java", "java.io.BufferedOutputStream").init( fos.init( outputPath ) );
pdfStamper = createObject("java", "com.lowagie.text.pdf.PdfStamper").init( pdfReader, outStream );

关于java - 实例化 Java 对象(ColdFusion)时发生异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12462666/

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