用Hibernate hibernate-release-4.1.0.Final出现的一些问题
来源:互联网 发布:健康医疗大数据产业园 编辑:程序博客网 时间:2024/05/16 14:11
一、首先是
<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
问题,通过网上资料,用 MySQL5.* 要用MySQL5Dialect
另外会出错,在hibernate.cfg.xml要有
<!-- Enable Hibernate's automatic session context management -->
<property name="current_session_context_class">thread</property>
之前是注释掉的。
二、使用org.springframework.orm.hibernate4.LocalSessionFactoryBean配置SessionFactory时候
如果Dao继承HibernateDaoSupport,然后用getHibernateTemplate()直接操作数据库,会出现
org.springframework.orm.hibernate4.SessionHolder cannot be cast to org.springframework.orm.hibernate3.SessionHolder
三、hibernate最近比较新的版本不能直接用buildSessionFactory
SessionFactory
using the properties and mappings in this configuration.Configuration.buildSessionFactory(ServiceRegistry)
instead通过查网上资料,老外一篇说这样建 Configuration configuration = new Configuration();
configuration.configure();
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder()
.applySettings(configuration.getProperties())
.buildServiceRegistry();
return configuration.buildSessionFactory(serviceRegistry);
然后就开始出现上面(一)的问题。
最后运行一下tomcat 一下就出现OutOfMemory(PermSpace)
这个改一下tomcat的jvm内存处理,网上可以找到:
如何修改和查看tomcat内存大小
为了解决tomcat在大进行大并发请求时,出现内存溢出的问题,请修改tomcat的内存大小,其中分为以下两种方式:
一、使用 catalina.bat 等命令行方式运行的 tomcat
查看系统最大支持内存命令:java -Xmx1024m -version
1、修改 tomcat\bin\Catalina.bat 文件
windows环境下:
在166行左右
rem Execute Java with the applicable properties ”以下每行
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACT
在 %DEBUG_OPTS% 后面添加-Xms256m -Xmx512m
linux环境下:
打开在Tomcat的安装目录的bin文件的catalina.sh文件,进入编辑状态.
在注释后面加上如下脚本:
JAVA_OPTS='-Xms512m -Xmx1024m'
JAVA_OPTS="$JAVA_OPTS -server -XX:PermSize=64M -XX:MaxPermSize=256m"
其中 JAVA_OPTS='-Xms512m -Xmx1024m' 是设置Tomcat使用的内存的大小.
-XX:PermSize=64M -XX:MaxPermSize=256m 指定类空间(用于加载类)的内存大小
保存后,重新以命令行的方式运行 tomcat ,即可,然后通过最后面介绍的如何观察tomcat现有内存情况的方法进行查看是否已经变更成功。
二、使用 系统中的 “服务”,或者开始菜单的可执行程序运行的tomcat
1、关闭 现在正在运行的tomcat
2.1 [注意]
[高版本tomcat配置方法]
如果是tomcat 5.5 或者是 5.0.28 之后的版本,在 Java 选项卡中,下方,会有
Inital memory Pool:
Maximum memory Pool:
Thread stack size:
三个输入框,在这里即可不用做上面的操作,直接配置内存大小,只需要设置
Inital memory Pool 为 256
Maximum memory Pool 为 512
点击确定后,重启tomcat 生效
如果您是低版本的tomcat,发现没有上面那几个录入框,请看下面的操作步骤
[低版本tomcat配置方法]
在开始菜单中,找到“Apache Tomcat 5.0”,并选择“Configure Tomcat”,在弹出的对话框窗口中,切换到 Java VM 选项卡,并在 Java Options 输入框的最前面输入
-Xms256m -Xmx512m
即输入框中的内容会像下面的代码(与自己的环境有所区别)
-Xms256m -Xmx512m
-Dcatalina.home="C:\tomcat5"
-Djava.endorsed.dirs="C:\tomcat5\common\endorsed"
-Xrs
设置完后,点击“确定”,并重启tomcat即可。
三、查看现有tomcat的内存大小情况
1、启动tomcat
2、访问 http://localhost:8080/manager/status ,并输入您在安装tomcat时输入的用户与口令,如 admin ,密码 admin(密码是您在tomcat安装时输入的)
注:添加用户,修改conf/tomcat-users.xml
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="admin" password="admin" roles="admin,manager"/>
</tomcat-users>
3、进入了Server Status页面,可以在JVM表格中看到
Free memory: 241.80 MB Total memory: 254.06 MB Max memory: 508.06 MB
上面的文字即代表了,当前空闲内存、当前总内存、最大可使用内存三个数据。
确定了最大内存足够大时,tomcat即可正常运转
- 用Hibernate hibernate-release-4.1.0.Final出现的一些问题
- Hibernate-core 4.3.6 Final 配置中出现的一些小问题
- hibernate jpa 4.0.3 final 的一些问题
- 关于hibernate-release-5.2.2.Final映射不成功的坑
- Hibernate Core 3.6.0.Final Release新特性
- hibernate的一些问题
- Spring 与hibernate整合过程中出现的一些问题
- Hibernate 4.3.5.Final的orderColumn问题
- struts-2.3.24+spring-framework-4.1.6.RELEASE+hibernate-release-4.3.10.Final 集成开发
- Hibernate查询出现的问题
- hibernate配置文件出现的问题
- hibernate的一些零碎问题
- hibernate的一些小问题
- hibernate-release-5.0.6.Final简单环境搭建
- 使用hibernate-release-5.2.10.Final开启二级缓存配置
- hibernate synchronizer出现问题
- hibernate +mysql出现的乱码问题
- 解决Hibernate延迟加载出现的问题
- C++学习之概述
- Nginx访问MongoDB
- 关于在Qt里让程序休眠一段时间的方法总结
- 【svm学习笔记】svm_理论基础5
- Hibernate关联映射之--双向多对多关联
- 用Hibernate hibernate-release-4.1.0.Final出现的一些问题
- 28个必须知道的HTML5新特性
- mysql add user
- qt 安装
- Window平台使用VS2010简单快速搭建QT开发环境
- HBase实现分页浏览
- 360综合搜索引擎接口文档
- 业务基本流程
- LInux 环境变量设置