Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JPA持久性大斑点_Java_Jpa_Ejb_Blob - Fatal编程技术网

Java JPA持久性大斑点

Java JPA持久性大斑点,java,jpa,ejb,blob,Java,Jpa,Ejb,Blob,我试图用一个大blob文件持久化一个实体,但在JBoss日志中出现了“内存不足”错误 我使用几种配置进行测试,但总是得到相同的结果。我正在使用JBoss6和MySQL 这方面的一个例子。。。实体: @Entity @Table(name="ficheros") public class Fichero implements Serializable { private static final long serialVersionUID = 1L; @Id @Gene

我试图用一个大blob文件持久化一个实体,但在JBoss日志中出现了“内存不足”错误

我使用几种配置进行测试,但总是得到相同的结果。我正在使用JBoss6和MySQL

这方面的一个例子。。。实体:

@Entity
@Table(name="ficheros")
public class Fichero implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column(unique=true, nullable=false)
    private int idfichero;

    @Lob()
    @Column(nullable=false)
    private Blob fichero;

    public Fichero() {
    }

    public int getIdfichero() {
        return this.idfichero;
    }

    public void setIdfichero(int idfichero) {
        this.idfichero = idfichero;
    }

    public Blob getFichero() {
        return this.fichero;
    }

    public void setFichero(Blob fichero) {
        this.fichero = fichero;
    }   
}
班级:

public Integer insertaFichero(Fichero fich) {
    ficheroDAO.create(fich);

    return fich.getIdfichero();
}

还有其他方法吗?

此错误的问题是操作系统无法为线程堆栈分配更多内存,因此无法实例化新线程。可能这不是JBoss的问题。您必须减少每个线程使用的内存量。JBoss线程的精细尺寸是128k或256k

您可以从JBoss文档中查看这篇文章

另见stackoverflow问题:

为了减少内存量,我在linux中找到了以下命令:

ulimit -s 256

如果您必须保存大量大型文件,您是否考虑过将它们保存在服务器文件系统中而不是使用数据库?