title: Exception occurred while instantiating a Java object (ColdFusion)
body: <p>I found this solution for <a href="https://stackoverflow.com/questions/2226993/how-to-adding-link-in-to-a-pdf-whis-coldfusion-and-itext">adding a link to a pdf</a> some time ago. It works like a charm, if used occasionally (ea reboot the server between each use). I've found out that for some reason (I'm not very experienced with java and iText) when trying to run this script a second time (without reboot), ColdFusion returns the error :</p>
  
  <blockquote>
    <p>Object instantiation exception.</p>
    
    <p>An exception occurred while instantiating a Java object. The class
    must not be an interface or an abstract class. Error: ''.</p>
  </blockquote>
  
  <p>ColdFusion then indicates that the line causing the error seems to be at :</p>
  
  <pre><code>pdfReader = createObject("java","com.lowagie.text.pdf.PdfReader").init(inputPath);
  </code></pre>
  
  <p>Who knows more about this, has a solution or can explain why this happens? I think that somehow the java object created 'survives' inside java but off course doesn't survive inside CF.</p>
  
  <p>Stack trace :</p>
  
  <pre><code>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.&lt;init&gt;(Unknown Source)
      at com.lowagie.text.pdf.RandomAccessFileOrArray.&lt;init&gt;(Unknown Source)
      at com.lowagie.text.pdf.RandomAccessFileOrArray.&lt;init&gt;(Unknown Source)
      at com.lowagie.text.pdf.PRTokeniser.&lt;init&gt;(Unknown Source)
      at com.lowagie.text.pdf.PdfReader.&lt;init&gt;(Unknown Source)
      at com.lowagie.text.pdf.PdfReader.&lt;init&gt;(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
  </code></pre>