Se produce una excepción al convertir imágenes jpg de gran tamaño

Estoy tratando de cargar las imágenes jpg y convertirlas en una nueva miniatura a través del servlet. Después de escribir ese archivo en el disco, mi requisito es crear una miniatura para el mismo archivo jpg. Y para eso usé el siguiente código ...

//code to upload & write image file on disk goes here..

BufferedImage img = new BufferedImage(100, 100, BufferedImage.TYPE_INT_RGB);
img.createGraphics().drawImage(ImageIO.read(new File(sourceFile)).getScaledInstance(100, 100, Image.SCALE_SMOOTH),0,0,null);

ImageIO.write(img, "jpg", new File(thumbFile));

El código anterior va bien para archivos pequeños . Pero cuando se trata de un archivo de tamaño de 5 MB , copia, pero no puede convertirlo en miniatura y tira

Exception in thread ""http-bio-8888"-exec-63" java.lang.OutOfMemoryError: Java heap space
    at java.awt.image.DataBufferByte.<init>(Unknown Source)
    at java.awt.image.ComponentSampleModel.createDataBuffer(Unknown Source)
    at java.awt.image.Raster.createWritableRaster(Unknown Source)
    at javax.imageio.ImageTypeSpecifier.createBufferedImage(Unknown Source)
    at javax.imageio.ImageReader.getDestination(Unknown Source)
    at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(Unknown Source)
    at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(Unknown Source)
    at javax.imageio.ImageIO.read(Unknown Source)
    at javax.imageio.ImageIO.read(Unknown Source)
    at UploadFile.doPost(UploadFile.java:67).

Por favor guíame.

Respuesta 1

Estoy usando Spring 2.0.6 y Quartz 1.5.2 en una aplicación web basada en Java. Quiero saber cómo configurar mi applicationContext-quartz.xml para poder leer valores de un archivo de propiedades. es decir, me gustaría ...

Heredé una aplicación J2EE escrita para su implementación en Weblogic 10 y el desarrollador principal responsable de esta aplicación no recibe este error cuando abre el proyecto en Eclipse. Tengo ...

¿Cómo puedo activar programáticamente el evento onclick / oncompleted? Por ejemplo, <p: commandButton value = "Destroy the World" onclick = "confirm.show ()" type = "button" /> <p: confirmDialog message = "Are ...

Estoy buscando una conexión rápida desde un dispositivo Android a un servidor. Actualmente uso SOAP, pero ¿hay alguna manera de obtener una conexión rápida? Creo que los enchufes no son una opción, ya que una conexión permanente ...