首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

关于网站由tomcat换至weblogic的有关问题 急~~~~~

2013-09-11 
关于网站由tomcat换至weblogic的问题 高手请进 急~~~~~网站本身用tomcat运行的但是老是出现内存溢出的错误

关于网站由tomcat换至weblogic的问题 高手请进 急~~~~~
网站本身用tomcat运行的   但是老是出现内存溢出的错误   所以想换至weblogic的平台   但是转移过去不能运行   不知道如何调整   请高手执教。


环境:weblogic7     数据库   Mysql4.1
页面出现下面错误:      
Error   500--Internal   Server   Error  
From   RFC   2068   Hypertext   Transfer   Protocol   --   HTTP/1.1:
10.5.1   500   Internal   Server   Error
The   server   encountered   an   unexpected   condition   which   prevented   it   from   fulfilling   the   request.

控制台显示的信息如下:
<2007-1-10   上午11时43分15秒>   <Error>   <HTTP>   <101017>   <[ServletContext(id=6704207
,name=DefaultWebApp,context-path=)]   Root   cause   of   ServletException
java.lang.NoClassDefFoundError:   java/sql/Savepoint
                at   com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java
:268)
                at   java.sql.DriverManager.getConnection(DriverManager.java:512)
                at   java.sql.DriverManager.getConnection(DriverManager.java:172)
                at   com.skyb.db.dbpool.DBManager.createPools(DBManager.java:128)
                at   com.skyb.db.dbpool.DBManager. <init> (DBManager.java:53)
                at   com.skyb.db.dbpool.DBManager.getInstance(DBManager.java:35)
                at   com.skyb.sys.Global.init(Global.java:134)
                at   jsp_servlet.__index._jspService(__index.java:129)
                at   weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
                at   weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:1058)
                at   weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:401)
                at   weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:445)
                at   weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:20)
                at   weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.ja
va:27)
                at   filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilte
r.java:170)
                at   weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.ja
va:27)
                at   weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run(WebAppServletContext.java:5418)
                at   weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
eManager.java:744)
                at   weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:3086)
                at   weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm


pl.java:2544)
                at   weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
                at   weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
>

[解决办法]
没有注册驱动
驱动都装好了?
[解决办法]
将驱动jar放到classpath里
[解决办法]
少数据库jar文件
[解决办法]
老是出现内存溢出的错误
-----------------------------
内存溢出,肯定是程序有问题,有内存泄漏,换weblogic未必解决问题啊

[解决办法]
study
[解决办法]
java的运行平台JVM(java虚拟机)在一个应用程序启动的时候,虚拟机都要分配一个最的内存和最小内存给他的。对于内存吃内存狂的JAVA来说,这个初始内存和最大内存在一定程度会对应用程序的性能产生很大的影响。比如说在我们的应用程序用到JVM给的这个最大内存配额的时候,JVM就不得不先停下我们的应用程
序的工作,去寻找可以回手的垃圾(释放已经无用的对象占用的内存),释放被占用的一些内存。

一般我们为了自己配额的这个最大值和最小值都是在启动java程序的时候加参数:-X
ms -Xmx来调整应用程序的初始内存和最大内存,其中Xms代表最小配额,Xmx代表最大配额



在前段时间,我用resin的时候启动文件里面还好设置这两个参数,但是换了tomcat以
后就不一样了,

tomcat的启动并不是普通的java程序那样,是经过了封装的,所以在设置这两个参数
的时候还有写麻烦,不过只要是java程序,总有地方可以设置这个参数的。

在查找了一些资料以后终于搞定了,可以通过下面这两种方法来解决:

1. 就需要在环境变量中加上TOMCAT_OPTS, CATALINA_OPTS两个属性,
如 SET CATALINA_OPTS= -Xms64m -Xmx512m;
ms是最小的,mx是最大,64m, 512m分别是指内存的容量.

2. 修改Catalina.bat文件
在166行“rem Execute Java with the applicable properties ”以下每行
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs= "%JA
VA_ENDORSED_DIRS% " -classpath "%CLASSPATH% " -Dcatalina.base= "%CATALINA_BASE% "
-Dcatalina.home= "%CATALINA_HOME% " -Djava.io.tmpdir= "%CATALINA_TMPDIR% " %MAINCL
ASS% %CMD_LINE_ARGS% %ACTION% 中的%CATALINA_OPTS% 替换成-Xms64m -Xmx512m


e.g
update file :
\tomcat\bin\catalina.bat
update the line
set JAVA_OPTS=-Xmx256M -Xms64M
means max cache & min cache



[解决办法]
关注
我的异常网推荐解决方案:The server encountered an internal error () that prevented it from fulfilling this request.,http://www.myexception.cn/java-web/317.html

热点排行