Java JPA持久性大斑点
我试图用一个大blob文件持久化一个实体,但在JBoss日志中出现了“内存不足”错误 我使用几种配置进行测试,但总是得到相同的结果。我正在使用JBoss6和MySQL 这方面的一个例子。。。实体: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
@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
如果您必须保存大量大型文件,您是否考虑过将它们保存在服务器文件系统中而不是使用数据库?