weblogic配置相关

    

 
详细请参考

       

    weblogic Server允许通过设置weblogic应用程序扩展描述符(weblogic.xml)配置jsp容器,该文件通常位于web应用程序的web-inf目录下。一般不通过修改weblogic文件直接配置,而是通过控制台配置该文件,在Deploments–>web Application–>defaultWebApp中配置。可在开发和生产环境中配置不同的信息。
主要配置信息:
compilerSupportsEncoding
//true--支持使用字符集
encoding
//指定jsp文件的默认字符集,如gb2312;
vervose
//是否将调试信息输出到浏览器和日志;
keepgenerated
//是否让编译jsp文件产生的.java文件持续存在;
Page Check Seconds
//正数--在以秒为单位的时间间隔检查jsp文件是否发生了修改,如果是则重新编译;
// 0--在每一个请求检查jsp;
//-1--不对jsp文件进行检查。
Precompile
//true--在weblogic服务器启动时自动编译所有的jsp。
Debug Enable //true--是否允许调试。


       

在进行web开发的时候,我们都希望自己修改的内容在不重启服务的时候立即生效,这样可以极大的方便开发和调试。若出现不立即生效的情况,通常解决方法有:

1. 检查weblogic.xml配置文件,

关于weblogic环境修改文件不立即生效的解决方法

  <jsp-descriptor>
  <jsp-param>
   <param-name>pageCheckSeconds</param-name

   <param-value>-1</param-value>
  </jsp-param>
 </jsp-descriptor>
 
 <container-descriptor>
  <servlet-reload-check-secs>-1</servlet-reload-check-secs>
 </container-descriptor>

请将上述两个数值修改为0。

pageCheckSeconds:正数--在以秒为单位的时间间隔检查jsp文件是否发生了修改,如果是则重新编译;
                  0--在每一个请求检查jsp; 

                  -1--不对jsp文件进行检查。
servlet-reload-check-secs:WebLogic 的Web容器每隔servlet-reload-check-secs间隔就会检查WEB-INF/classes中是否有文件被修改过,数值定义同上。默认为1。

<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>

 

从节点名称上也能比较清楚知道该设置的含义,优先使用Web应用里加载的类。
如果什么时候发现在Tomcat下用的好好的,但是放到weblogic下就出了问题,那么多半在\WEB-INF\weblogic.xml添上上面的设置就会好的,当然有可能还需要添加一些jar包。
今天遇上的错误是:’org.apache.axis.transport.http.AxisServlet’ doesn’t have a default constructor,调试了好一阵才发现我原来已经知道怎么解决这个问题,只要添加上面的设置。…

一:weblogic 页面访问速度比tomcat慢的原因和解决办法

公司有个项目,部署在weblogic8.1上之后,发现比在tomcat下慢很多,经过分析排查,原因是web应用的WEB-INF下的weblogic.xml里的参数设置不合理(使用默认值有时并非最佳值)造成的,具体说明如下:

1:pageCheckSeconds

<jsp-descriptor>

<param-name>pageCheckSeconds</param-name>
<param-value>-1</param-value>

</jsp-descriptor>

pageCheckSecond的默认值是1,表示每隔1秒对JSP页面进行检查,检查JSP页面是否被修改、是否需要重新编译。

系统上线后,需要对该默认值修改为-1,表示永不检查。修改为-1的一个缺点是:对于页面的修改需要重新部署整个WEB应用。

2:servlet-reload-check-secs

该参数的默认值也是1,每隔1秒检查servlet是否被修改并需要重新编译。这里建议修改为-1,表示永不检查,具体设置如下:

<container-descriptor>
<servlet-reload-check-secs>-1</servlet-reload-check-secs>
</container-descriptor>

二:应用程序的jar包和weblogic类冲突的问题

公司的项目还遇到这样一个问题,Tomcat下用的好好的,但是放到weblogic下就出了问题,最可能造成这样的原因是应用程序的jar包和weblogic下的jar包冲突。可以在weblogic.xml里设置,具体如下:

<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>

从节点名称上也能比较清楚知道该设置的含义,优先使用Web应用里加载的类。

三:查看weblogic编译jsp文件产生的.java文件

<jsp-param>
       <param-name>keepgenerated</param-name>
       <param-value>true</param-value>
   </jsp-param>

keepgenerated:是否让编译jsp文件产生的.java文件持续存在,如果设置为true,就可以在部署的环境查看jsp产生的.java文件,方便调试错误。…

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">
	<wls:weblogic-version>10.3.6</wls:weblogic-version>
	<wls:context-root>ProxyApp</wls:context-root>
	<!-- 为web.xml所定义角色赋值 如果是Weblogic8.1SP2或者之前的版本,可以不定义security-role-assignment 
		如果是SP3,必须手工添加所有principal(角色或角色组); 详细介绍请参考PAFA3开发设计指南文档。 -->
	<security-role-assignment>
		<!--role-name必须跟web.xml中security-role标记下的role-name取值相同 -->
		<role-name>pafaDemoUser</role-name>
		<!--principal-name必须是UM中定义的角色或者角色组,不能是用户 -->
		<principal-name>r_usermanager_rm_user</principal-name>
		<principal-name>p_g_rmtest03_myopr</principal-name>
		<principal-name>Administrators</principal-name>
	</security-role-assignment>

	<jsp-descriptor>
		<jsp-param>
			<param-name>pageCheckSeconds</param-name>
			<param-value>1</param-value>
		</jsp-param>
		<jsp-param>
			<param-name>compilerSupportsEncoding</param-name>
			<param-value>true</param-value>
		</jsp-param>
		<jsp-param>
			<param-name>encoding</param-name>
			<param-value>GB2312</param-value>
		</jsp-param>
		<jsp-param>
			<param-name>verbose</param-name>
			<param-value>true</param-value>
		</jsp-param>
		<jsp-param>
			<param-name>printNulls</param-name>
			<param-value>false</param-value>
		</jsp-param>
		<jsp-param>
			<param-name>keepgenerated</param-name>
			<param-value>true</param-value>
		</jsp-param>
	</jsp-descriptor>
</weblogic-web-app>
解决Weblogic域创建、启动、进入控制台慢问题

搭建Weblogic 11g和12c环境时发现,安装正常,以默认组件安装,但是创建域的时候特别慢,一般需要几分钟至10分钟,卡在“创建域安全信息”那一行,创建完成后,启动偶尔也很慢,也卡在域安全信息那一步,进入console,只出来标题,页面内容至少需要几分钟才能出来,只有第一次进入console会卡,以后速度正常,但是重启后依旧第一次卡。

到网上搜索,是linux下java生成随机数有bug,改法有几种,最好的改法是修改jdk:

vi $JAVA_HOME/jre/lib/security/java.security 

securerandom.source=file:/dev/urandom

改为:

securerandom.source=file:/dev/./urandom

OK,完美解决!


猜你喜欢

转载自topmanopensource.iteye.com/blog/1752549