BEA dev2dev WebLogic管理精华

 
日常管理WebLogic Platform 8.1 永不过期的开发版license
下载地址为:
  使用方式:
替换 c:/bea 目录下的这个文件,这样就可以使 WebLogic Platform 用不过期
  原文地址:
如何远程启动WebLogic服务?
telnet 远程控制服务器,远程启动 WEBLOGIC 服务,启动后关闭 telnet WebLogic 服务也跟着停止,这是因为使用 telnet 启动的进程会随着 telnet 进程的关闭而关闭。所以我们可以使用一些 UNIX 下的命令来做到不关闭。
  使用如下命令:
nohup startWeblogic.sh&
  如果想要监控标准输出可以使用:
tail -f nohup.out
  原文地址:
  控制台左边的树结构看不见?
这是因为浏览器没有安装合适版本的 JRE 插件来支持 Applet
可以到 http://java.sun.com/products/plugin/  下载相应浏览器的插件来解决这个问题。
 
原文地址:
WebLogic 配置出来的各种域有什么区别?
请看这个链接中的 Table 16-1 Configuration Template Summary ,说的很明白
http://e-docs.bea.com/platform/docs81/confgwiz/tempref.html
Table 16-1 Configuration Template Summary 
Template
Required WebLogic Platform Component
Filename
Description
WebLogic Server
medrec.jar
Creates the Avitek Medical Records domain outside the installed kit. This domain is a WebLogic Server sample application suite that concisely demonstrates all aspects of the J2EE platform.
WebLogic Integration,
WebLogic Workshop,
WebLogic Server
wli.jar
Creates a domain that supports the development of WebLogic Integration solutions.
Note: To create a domain that supports the development of WebLogic Server Process Edition solutions, use the Basic WebLogic Integration Domain template. If you have an existing WebLogic Server-based domain, you can extend it to include the resources required for WebLogic Server Process Edition by using the WebLogic Integration Extension Template.
WebLogic Platform (all components must be installed)
platform.jar
Creates a domain that supports the development of applications using all WebLogic Platform components.
WebLogic Portal,
WebLogic Workshop,
WebLogic Server
wlp.jar
Creates a domain that supports the development of WebLogic Portal solutions.
WebLogic Server
wls.jar
Creates a simple WebLogic Server domain without any sample applications.
WebLogic Workshop,
WebLogic Server
wlw.jar
Creates a domain that supports the development of WebLogic Workshop solutions.
WebLogic Server
examples.jar
Creates the WebLogic Server Examples domain outside the installed kit. This domain contains a collection of examples that illustrate best practices for coding individual J2EE APIs.

 
原文地址:
Too many open files错误的处理
在有些 Linux 下由于操作系统的限制,单一进程可以打开的文件数有限制,引起 WebLogic 报告错误,解决这问题需要编译内核并且调节一些限制参数。
  Linux 内核 2.4.x 中需要修改源代码,然后重新编译内核才生效。编辑 Linux 内核源代码中的 include/linux/fs.h 文件,将 NR_FILE 8192 改为 65536 ,将 NR_RESERVED_FILES 10 改为 128 。编辑 fs/inode.c 文件将 MAX_INODE 16384 改为 262144 。一般情况下,系统最大打开文件数比较合理的设置为每 4M 物理内存 256 ,比如 256M 内存可以设为 16384 ,而最大的使用的 i 节点的数目应该是最大打开文件数目的 3 倍到 4 倍。另外,对每个进程的设置:
ulimit -n 4096 将每个进程可以打开的文件数目加大到 4096 ,缺省为 1024
ulimit -m 4096 限制每个进程使用的内存数。
  原文地址:
  Apache2weblogic7实现虚拟主机
选择 apache2, 是因为目前 wls7 只支持 apache2 的结合 .
 1. 首先,正确安装 apache2, 这里我们假设安装在 C:/apache group, 安装完毕,需要测试 apache2 是否支持动态加载模块功能,这样测试,到命令
  提示符下运行 :
c:/>apache group/apache2/bin/apache -l
如果列出:
mod_so.c
则表示支持,然后将本篇文章附件中的 mod_wl_20.so 拷贝到 apache group/apache2/modules 下面,运行:
c:/>apache group/apache2/bin/apache -t
如果输出:
Syntax Ok
表示 WebLogic Server plug-in 安装成功。
 2. 正确安装 weblogic7.0 。这里我们假设 wls7 的安装路径是: c:/bea 。然后用域配置向导配置一个域,我们假设域
的名称为 amjn, 路径是 c:/bea/user_projects/amjn, 然后在 amjn 下面分别建立两个站点 web1,web2 ,修改
 c:/bea/user_projects/amjn/config.xml 文件,在
<Application Deployed="true" Name="DefaultWebApp"
Path="./applications" StagedTargets="" TwoPhase="false">
<WebAppComponent Name="DefaultWebApp" Targets="myserver" URI="DefaultWebApp"/>
</Application>
下面添加:
<Application Deployed="true" Name="web1" Path="./applications/web1"
StagedTargets="" TwoPhase="false">
<WebAppComponent Name="web1" URI="web1" VirtualHosts="web1_vh"/>
</Application>
<Application Deployed="true" Name="web2" Path="./applications/web2"
StagedTargets="" TwoPhase="false">
<WebAppComponent Name="web2" Targets="myserver" URI="web2" VirtualHosts="web2_vh"/>
</Application>
在文件最下面的
</Domain>
的上面添加
<VirtualHost DefaultWebApp="web1" Name="web1_vh" Targets="myserver" VirtualHostNames="www.web1.com"/>
<VirtualHost DefaultWebApp="web2" Name="web2_vh" Targets="myserver" VirtualHostNames="www.web2.com"/>
, 然后重新启动运行 /amjn/startWebLogic.cmd, 一定要运行正常。到这里, weblogic 算是配置完成了。
 3. 现在开始配置 apache 多个虚拟主机,首先我们先打开 c:/winnt/system32/drivers/etc/hosts 文件,在其中添加:
10.1.3 .30 www.web1.com
10.1.3 .30 www.web2.com
这里面的 10.1.3 .30 是你的 weblogic 服务器绑定的 ip, 然后打开 apache2/conf/httpd.conf 文件,在 174 行,注意是 174 行加入如下语句:
#WebLogic Server Proxy Settings------- 该行是 174
LoadModule weblogic_module modules/mod_wl_20.so
<IfModule mod_weblogic.c>
WebLogicHost www.synnex-china.com
WebLogicPort 7001
MatchExpression *.jsp
MatchExpression *.do
</IfModule>
然后修改 httpd.conf 文件中的 Listen:80 Listen:10.1.3.30:80, 在文件 section 3 部分添加 :
NameVirtualHost 10.1.3.30
<VirtualHost 10.1.3.30>
ServerName www.web1.com
DocumentRoot "c:/bea/user_projects/amjn/applications/web1"
ErrorLog logs/web1.com.log
</VirtualHost>
 <VirtualHost 10.1.3.30>
ServerName www.web2.com
DocumentRoot "c:/bea/user_projects/amjn/applications/web2"
ErrorLog logs/web2.com.log
</VirtualHost>
启动 apache, 如果没有问题(可以通过 logs/error.log 查看),那就一切 ok
 4. 现在你可以分别敲入 www.web1.com/index.jsp ,访问的将是 web1/index.jsp, 敲入 www.web2.com/index.jsp 访问的将是 web2/index.jsp
  原文地址:
如何限制公网用户访问WebLogic的控制台呢?
我们的 weblogic (版本 6.1 )应用部署在内部网上,通过防火墙映射到公网上,但公网用户通过键入域名: www.xxx.com/console ,就可进入 weblogic 的登陆页面,用户可猜测管理员的密码,如何屏蔽公网用户对 weblogic 控制台的访问呢?
 
方法 1
在控制台上点击左边的你那个 domain ,将 Console Enabled 这个选项去掉,这样就完全不能使用 console
方法 2
“console” 改名,改 “Console Context Path” “console” 为一个希奇古怪的名字就可以了
方法 3
不要给 WebLogic 公网 ip ,通过一个有公网 ip apache proxy 来访问 WebLogic
方法 4
启动 Administration Port
方法 5
应用不发布在 Admin Server 上, Admin Serve 在外网不可见
  原文地址:
  开机自动启动oracleweblogic
我的机器是 5L oracle9i weblogic6.1 HTTPServer
由于给别人装的机器,对方水平有限,为了省心,还是让系统起来自动运行各项应用比较好:)
首先自动启动 oracle9i 9i 装在 oracle 文件系统下,在 /oracle 下建立文件 startdb
文件内容
echo "begin to start oracle"
lsnrctl start
sqlplus /nolog <<EOF
connect /as sysdba
startup
exit
exit
echo "oracle have started"
startdb 执行权限
自动关闭 oracle9i ,在 /oracle 下建立文件 stopdb
sqlplus /nolog <<EOF
connect /as sysdba
shutdown immediate
好了启动和关闭 oracle 脚本完成还要加到系统的启动和关闭文件里,另外还要在启动 oracle 后启动 weblogic
/etc 下建立文件 rc.startdb ,脚本如下
su - oracle "-c /oracle/startdb"   
#启动 oracle
cd /weblogic/wlserver6.1/config/mydomain 
#转到 weblogic 启动目录,必须
./startWebLogic.sh 
#启动 weblogic
给文件执行权限
注意由于 weblogic 在启动后如果用户退出 telnet 就自动关闭,所以要把 weblogic 放在后台执行,所以在 startWebLogic.sh 文件中启动 weblogic 的命令行改为可以在后台运行,用 nohup (启动命令行) >/home/weblogic.log &
weblogic 的运行信息存到 /home/weblogic.log 文件中
下面要把启动信息放到 inittab 中,加入一行
startdb:2345678:wait:/etc/rc.startdb
这样系统启动后会自动启动 oracle9i
系统关机自动关闭 oracle9i
/etc 下建立脚本文件 rc.stopdb
su - oracle "-c /oracle/stopdb"
给执行权限
由于 5L 中安装完成后没有 /etc/rc.shutdown 文件,需要手工创建一个
内容如下
#!/bin/ksh 
rc.stopdb
给执行权限
这样当系统关机时会自动寻找 rc.shutdown 并执行,系统可以自动关闭 oracle9i
当然可以把一些命令行直接写入 inittab rc.shutdown 中,看自己的喜好了:)
  原文地址:
 
如何测试虚拟主机
在本机配置了虚拟主机,没有 DNS Server ,如何进行测试呢?
C:/WINNT/system32/drivers/etc/hosts 加入一行: 127.0.0.1 test.project.com.cn
  原文地址:
  WebLogicStartup Class应该放在那个目录里
WebLogic 在启动的时候可以指定 Startup Class ,它在任何一个应用的类被加载之前调用,所以应该加到启动时的系统类路径下,可以修改 startWebLogic.cmd commEnv.cmd 文件相应的 CLASSPATH 部分,加入 Startup Class 的类路径。
  原文地址:
  如何停止WebLogic服务?
直接杀死进程不是标准的做法,应该使用如下 Java 命令:
java -classpath weblogic.jar;%CLASSPATH% weblogic.Admin -url <host_name>:<port_number> SHUTDOWN -username <system_user_name> -password <system_user_password>
例如:
java -classpath weblogic.jar;%CLASSPATH% weblogic.Admin -url 192.168.0.1:7001
SHUTDOWN -username system -password password
其中如果 SHUTDOWN 管不掉,可以使用 FORCESHUTDOWN 代替 SHUTDOWN 来强制关掉服务器。
  另外也可以直接使用 stopWebLogic.cmd
  原文地址:
  应用管理JNDI里面加和不加java:comp/env/前缀有什么区别?
java:comp/env 是标准的 J2EE 环境查找规则,使用这种方式必须做一次环境名到 JNDI 名的映射,这种隔离使得在写程序时不必关注真正的 JNDI 名字,其实说白了跟把 JNDI 名放到配置文件里是一样的,用法如下:
如把 java:comp/env/my/datasource 映射到 my.ora.dataource
web.xml
<resource-ref>
<res-ref-name>my/datasource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>CONTAINER<res-auth>
</resource-ref>
weblogic.xml
<reference-descriptor>
<resource-description>
<res-ref-name>my/datasource</res-ref-name>
<jndi-name>my.ora.dataource</jndi-name>
………………….
而不使用这个前缀的,其实就是直接的 JNDI
原文地址:
  如何更改默认打开主页?如何设置虚拟目录?
设置默认打开主页:
web.xml 增加
<welcome-file-list>
<welcome-file>yourfile</welcome-file>
</welcome-file-list>
  虚拟目录的配置方法:
weblogic.xml 中添加如下的类似配置
   <virtual-directory-mapping>
     <local-path>c:/usr/common_jsps.jar</local-path>
     <url-pattern>*.jsp</url-pattern>
   </virtual-directory-mapping>
原文地址:
 
WebLogic Builder使用简介
DEV2DEV 论坛上有网友会问类似于这样的问题 如何为 EJB 写那些部署描述文件如 ejb-jar.xml 以及 WebLogic-ejb- jar.xml 呢? ,对初学 EJB 的朋友来说,是一个比较困难的问题,如果不想手写的话,可以采用 BEA 提供的 WebLogic Builder 工具或是 JBuilder 等工具来自动生成。本文就 WebLogic Builder 的使用进行一个简单的介绍,权且当一个入门的指引,同时欢迎各位朋友就你的经验对这篇文章进行补充完善。使用步骤如下:
  一、准备。
例子就用 WebLogic 安装完后的 example statelessSession EJB 的例子,给个路径参考
C: /bea/weblogic700/samples/server/src/examples/ejb20/basic/statelessSession
 将这个目录下的 .java 文件全部拷贝出来放到一个临时目录中比如 C:/temp/WebLogic_Builder_Test 来做这个实验,拷贝的文件有 Client.java Trader.java TraderBean.java TradeResult.java TraderHome.java
  二、对 java 原文件进行编译
命令行中进入 C:/temp/WebLogic_Builder_Test ,键入  javac -d . *.java
  三、打 jar
命令行中, C:/temp/WebLogic_Builder_Test 目录下,键入 jar -cvf test.jar *.* ,生成 test.jar 包。
  四、打开 WebLogic Builder 工具,选择并打开我们在步骤三中创建的 test.jar 包,这时 WebLogic Builder 给出一个提示 “Unable to locate deployment descriptors. C:/temp/WebLogic_Builder_Test/test.jar. Would you like new descriptors created for you?” ,这意思明白了吧, WebLogic Builder 要为你创建基本的部署描述符文件了,当然点击是咯,然后选择保存,这样你的 C:/temp/WebLogic_Builder_Test 目录下的 test.jar 文件就有那两个部署描述文件了,可以通过 WebLogic Builder 工具中的 View-->XML Source 进行查看。
  恭喜你,对 WebLogic Builder 这个工具的使用入门了,至于该工具的其它的一些使用功能比如 BEAN 属性配置、 server 部署什么的,就请大家自己研究吧! ^Q^
  原文地址:
  WebLogic部署应用的方式简明列表
1 WebLogic 中应用可分三种,分别对应不同的描述文件及扩展名或目录结构:
1 *.JAR: EJB 的压缩包 ( 3 个描述文件 ejb-jar.xml WEBLOGIC*.0-ejb-jar.xml WEBLOGIC*.0-cmp-rdbms-jar.xml)
2 *.WAR: 是只包含 JSP SERVLET WEB APPLICATION 压缩包 ( 2 个描述文件 web.xml weblogic.xml)
3 *.EAR: 是包含 EJB WEB APPLICATION J2EE Enterprise Application 压缩包 ( 1 个描述文件, application.xml)
注意:它们不能混用,如 WEB APPLICATOIN 不能打包成 .EAR 文件。
 2 WebLogic 的应用用两种发布方式 :
1 )以目录形式存放在 WEBLOGIC APPLICATIONS 目录下,适用于开发阶段
2 )以一个压缩包形式存放在 WEBLOGIC APPLICATIONS 目录下,适用于运行阶段,可用 JAR 打包,如 D:/test >jar cf testwar.war *
TEST 目录下的所有文件打包成一个 testwar.war 文件。
 3 WebLogic 应用的布置方式有 2
1 )静态布置 : 即把应用在 CONFIG.XML 中登记,可通过 WEBLOGIC 的控制台进行添加, WEBLOGIC 会自动把该应用对应的压缩包拷到 APPLICAITONS 目录下,如果对该应用修改,需要重新布置才行。
2 )动态布置 : 没有在 config.xml 中登记,可直接把压缩包或目录拷到 APPLICATIONS 目录下, WebLogic 会自动检测到 . WebLogic 每次启动时会自动对 APPLICATIONS 目录下没有进行静态布置的应用,进行动态布置。
 4 、一个例子 :
如果一个应用中有 EJB JSP SERVLET ,其布置步骤如下 :
1 )生成 EJB JAR 文件,最好一个 JAR 文件对应一个 EJB
2 )生成 WEB APPLICATION WAR 文件,在 web.xml weblogic.xml 中登记,配置 SERVLET JSP 等。
3 )创建一个 application.xml 文件,设置该应用的属性 . application.xml *.JAR *.WAR ,打包成一个 *.EAR
4 WebLogic 的控制台中登记该应用或把该 EAR 文件拷到 application 目录下。到此处就完成了部署。
原文地址:
  WebLogic如何设置session超时时间
1 web.xml
设置 WEB 应用程序描述符 web.xml 里的 <session-timeout> 元素。这个值以分钟为
单位,并覆盖 weblogic.xml 中的 TimeoutSecs 属性
  <session-config>
    <session-timeout>54</session-timeout>
  </session-config>
此例表示 Session 将在 54 分钟后过期
<session-timeout> 设置为- 2 ,表示将使用在 weblogic.xml 中设置的
TimeoutSecs
这个属性值。
<session-timeout> 设置为- 1 ,表示 Session 将永不过期,而忽略在
weblogic.xml
中设置的 TimeoutSecs 属性值。
该属性值可以通过 console 控制台来设置
2 weblogic.xml
设置 WebLogic 特有部署描述符 weblogic.xml <session-descriptor> 元素的
TimeoutSecs
属性。这个值以秒为单位
<session-descriptor>
   <session-param>
      <param-name>TimeoutSecs</param-name>
      <param-value>3600</param-value>
   </session-param>
</session-descriptor>
默认值是 3600
原文地址:
监控调优理解JVM的垃圾收集机制
简述
GC 即垃圾收集机制是指 JVM 用于释放那些不再使用的对象所占用的内存。 java 语言并不要求 JVM GC ,也没有规定 GC 如何工作。不过常用的 JVM 都有 GC ,而且大多数 GC 都使用类似的算法管理内存和执行收集操作。
  在充分理解了垃圾收集算法和执行过程后,才能有效的优化它的性能。有些垃圾收集专用于特殊的应用程序。比如,实时应用程序主要是为了避免垃圾收集中断,而大多数 OLTP 应用程序则注重整体效率。理解了应用程序的工作负荷和 JVM 支持的垃圾收集算法,便可以进行优化配置垃圾收集器。
  垃圾收集的目的在于清除不再使用的对象。 GC 通过确定对象是否被活动对象引用来确定是否收集该对象。 GC 首先要判断该对象时候可以收集。两种常用的方法是引用计数和对象引用遍历。引用计数存储对特定对象的所有引用数,也就是说,当应用程序创建引用以及引用超出范围时, JVM 必须适当增减引用数。当某对象的引用数为 0 时,便可以进行垃圾收集。
  早期的 JVM 使用引用计数,现在大多数 JVM 采用对象引用遍历。对象引用遍历从一组对象开始,沿着整个对象图上的每条链接,递归确定可到达( reachable )的对象。如果某对象不能从这些根对象的一个(至少一个)到达,则将它作为垃圾收集。在对象遍历阶段, GC 必须记住哪些对象可以到达,以便删除不可到达的对象,这称为标记( marking )对象。
  下一步, GC 要删除不可到达的对象。删除时,有些 GC 只是简单的扫描堆栈,删除未标记的对象,并释放它们的内存以生成新的对象,这叫做清除( sweeping )。这种方法的问题在于内存会分成好多小段,而它们不足以用于新的对象,但是组合起来却很大。因此,许多 GC 可以重新组织内存中的对象,并进行压缩( compact ),形成可利用的空间。
  为此, GC 需要停止其他的活动活动。这种方法意味着所有与应用程序相关的工作停止,只有 GC 运行。结果,在响应期间增减了许多混杂请求。另外,更复杂的 GC 不断增加或同时运行以减少或者清除应用程序的中断。有的 GC 使用单线程完成这项工作,有的则采用多线程以增加效率。
  下面列举一些JVM使用的GC
标记-清除收集器:这种收集器首先遍历对象图并标记可到达的对象,然后扫描堆栈以寻找未标记对象并释放它们的内存。这种收集器一般使用单线程工作并停止其他操作。
标记-压缩收集器:有时也叫标记-清除-压缩收集器,与标记-清除收集器有相同的标记阶段。在第二阶段,则把标记对象复制到堆栈的新域中以便压缩堆栈。这种收集器也停止其他操作。
复制收集器这种收集器将堆栈分为两个域,常称为半空间。每次仅使用一半的空间, JVM 生成的新对象则放在另一半空间中。 GC 运行时,它把可到达对象复制到另一半空间,从而压缩了堆栈。这种方法适用于短生存期的对象,持续复制长生存期的对象则导致效率降低。
增量收集器增量收集器把堆栈分为多个域,每次仅从一个域收集垃圾。这会造成较小的应用程序中断。有多种方法可以定义实际的 GC
分代收集器  这种收集器把堆栈分为两个或多个域,用以存放不同寿命的对象。 JVM 生成的新对象一般放在其中的某个域中。过一段时间,继续存在的对象将获得使用期并转入更长寿命的域中。分代收集器对不同的域使用不同的算法以优化性能。
并发收集器  并发收集器与应用程序同时运行。这些收集器在某点上一般都不得不停止其他操作以完成特定的任务,但是因为其他应用程序可进行其他的后台操作,所以中断其他处理的实际时间大大降低。
并行收集器  并行收集器使用某种传统的算法并使用多线程并行的执行它们的工作。在多 cpu 机器上使用多线程技术可以显著的提高 java 应用程序的可扩展性。
Sun Hotspot 1.4.1 JVM堆大小的调整
Sun Hotspot 1.4.1 使用分代收集器,它把堆分为三个主要的域:新域、旧域以及永久域。 JVM 生成的所有新对象放在新域中。一旦对象经历了一定数量的垃圾收集循环后,便获得使用期并进入旧域。在永久域中 JVM 则存储 class method 对象。就配置而言,永久域是一个独立域并且不认为是堆的一部分。下面介绍如何控制这些域的大小。
可使用 -Xms -Xmx 控制整个堆的原始大小或最大值。比如,下面的命令是把初始大小设置为 128M
 java –Xms128m –Xmx256m
为控制新域的大小,可使用 -XX:NewRatio 设置新域在堆中所占的比例。比如下面的命令把整个堆设置成 128m ,新域比率设置成 3 ,即新域与旧域比例为 1 3 ,新域为堆的 1/4 32M
java –Xms128m –Xmx128m –XX:NewRatio =3
可使用 -XX:NewSize -XX:MaxNewsize 设置新域的初始值和最大值。比如,下面的命令把新域的初始值和最大值设置成 64m :
 java –Xms256m –Xmx256m –Xmn64m
一般不把永久域当作堆的一部分。永久域默认大小为 4m 。运行程序时, JVM 会调整永久域的大小以满足需要。每次调整时, JVM 会对堆进行一次完全的垃圾收集。使用 -XX:MaxPerSize 标志来增加永久域搭大小。在 WebLogic Server 应用程序加载较多类时,经常需要增加永久域的最大值。当 JVM 加载类时,永久域中的对象急剧增加,从而使 JVM 不断调整永久域大小。为了避免调整,可使用 -XX:PerSize 标志设置初始值。比如,下面把永久域初始值设置成 32m ,最大值设置成 64m
java –Xms512m –Xmx512m –Xmn128m –XX:PermSize=32m –XX:MaxPermSize=64m
默认状态下, HotSpot 在新域中使用复制收集器。该域一般分为三个部分。第一部分为 Eden ,用于生成新的对象。另两部分称为救助空间,当 Eden 充满时,收集器停止应用程序,把所有可到达对象复制到当前的 from 救助空间,一旦当前的 from 救助空间充满,收集器则把可到达对象复制到当前的 to 救助空间。 From to 救助空间互换角色。维持活动的对象将在救助空间不断复制,直到它们获得使用期并转入旧域。
使用 -XX:SurvivorRatio 可控制新域子空间的大小。同 NewRation 一样, SurvivorRation 规定某救助域与 Eden 空间的比值。比如,以下命令把新域设置成 64m Eden 32m ,每个救助域各占 16m
java –Xms256m –Xmx256m –Xmn64m –XX:SurvivorRation=2
如前所述,默认状态下 HotSpot 对新域使用复制收集器,对旧域使用标记-清除-压缩收集器。在新域中使用复制收集器有很多意义,因为应用程序生成的大部分对象是短寿命的。理想状态下,所有过渡对象在移出 Eden 空间时将被收集。如果能够这样的话,并且移出 Eden 空间的对象是长寿命的,那么理论上可以立即把它们移进旧域,避免在救助空间反复复制。
但是,应用程序不能适合这种理想状态,因为它们有一小部分中长寿命的对象。最好是保持这些中长寿命的对象并放在新域中,因为复制小部分的对象总比压缩旧域廉价。
为控制新域中对象的复制,可用 -XX:TargetSurvivorRatio 控制救助空间的比例。该值是一个百分比,默认值是 50 。当较大的堆栈使用较低的 sruvivorratio 时,应增加该值到 80 90 ,以更好利用救助空间。
-XX:maxtenuring threshold 可控制上限。为放置所有的复制全部发生以及希望对象从 eden 扩展到旧域,可以把 MaxTenuring Threshold 设置成 0 。设置完成后,实际上就不再使用救助空间了,因此应把 SurvivorRatio 设成最大值以最大化 Eden 空间,设置如下:
java … -XX:MaxTenuringThreshold=0 –XX:SurvivorRatio 5000
  JVM中获取信息以助于调整方案
-verbose.gc 开关可显示 GC 的操作内容。打开它,可以显示最忙和最空闲收集行为发生的时间、收集前后的内存大小、收集需要的时间等。
打开 -xx:+ printgcdetails 开关,可以详细了解 GC 中的变化。
打开 -XX: + PrintGCTimeStamps 开关,可以了解这些垃圾收集发生的时间,自 JVM 启动以后以秒计量。
最后,通过 -xx: + PrintHeapAtGC 开关了解堆的更详细的信息。
为了了解新域的情况,可以通过 -XX:=PrintTenuringDistribution 开关了解获得使用期的对象权。
BEA JRockit JVM的使用
Bea WebLogic 8.1 使用的新的 JVM 用于 Intel 平台。在 Bea 安装完毕的目录下可以看到有一个类似于 jrockit81sp1_141_03 的文件夹。这就是 Bea JVM 所在目录。
不同于 HotSpot Java 字节码编译成本地码,它预先编译成类。 JRockit 还提供了更细致的功能用以观察 JVM 的运行状态,主要是独立的 GUI 控制台或者 WebLogic Server 控制台。 Bea JRockit JVM 支持 4 种垃圾收集器:
分代复制收集器:它与默认的分代收集器工作策略类似。对象在新域中分配,即 JRockit 文档中的 nursery 。这种收集器最适合单 CPU 机上小型堆操作。
单空间并发收集器:该收集器使用完整堆,并与背景线程共同工作。尽管这种收集器可以消除中断,但是收集器需花费较长的时间寻找死对象,而且处理应用程序时收集器经常运行。如果处理器不能应付应用程序产生的垃圾,它会中断应用程序并关闭收集。
分代并发收集器:这种收集器在护理域使用排它复制收集器,在旧域中则使用并发收集器。由于它比单空间共同发生收集器中断频繁,因此它需要较少的内存,应用程序的运行效率也较高,注意,过小的护理域可以导致大量的临时对象被扩展到旧域中。这会造成收集器超负荷运作,甚至采用排它性工作方式完成收集。
并行收集器:该收集器也停止其他进程的工作,但使用多线程以加速收集进程。尽管它比其他的收集器易于引起长时间的中断,但一般能更好的利用内存,程序效率也较高。
默认状态下, JRockit 使用分代并发收集器。要改变收集器,可使用 -Xgc:<gc_name> ,对应四个收集器分别为 gencopy singlecon gencon 以及 parallel 。可使用 -Xms -Xmx 设置堆的初始大小和最大值。要设置护理域,则使用 -Xns:
java –jrockit –Xms512m –Xmx512m –Xgc:gencon –Xns128m…
尽管 JRockit 支持 -verbose:gc 开关,但它输出的信息会因收集器的不同而异。 JRockit 还支持 memory load codegen 的输出。
  原文地址:
  WebLogic Server Hang产生的一般原因
系统内存不足
·           系统 CPU 忙,系统文件描述符数目不足,线程死锁, JVM GC 方面的 bug ,对于一些特定的情况可以使用 truss 命令跟踪系统调用来进行分析。可以打开 JVM gc log, java 命令行上加上 -verbose:gc,GC log 输出在 java 进程的标准输出里 , hp JVM 上,可以通过在 java 命令行上加 -Xverbosegc:file=gcfilename 来将 gc log 写到指定的文件其输出类似: [GC 15639K->13700K(65280K), 0.0068439 secs] 。解决办法是调整 JVM 的内存设置和 gc 算法 , 升级 jvm 或是 os patch
·           出现 OutOfMemoryError 或是观察到内存吃紧,操作系统本身的剩余内存,通过 top 或是 vmstat 观察,操作系统的 swap 区, Swap 区太小可能导致编译 jsp 时报 “Not enough space” 的错,操作系统 kernel 参数中 maxsize 的大小,如果观测到数据库连接池里的连接泄漏,极可能是内存泄漏的先兆
·           JVM heap 区大小,通过 java 命令行中的 -Xms,-Xmx 指定,建议最小值和最大值设成一样,可以通过 WebLogic console server/monitor/performance 来观察其使用情况,建议生产系统最 256M ,一般情况下可以设置为系统剩余物理内存的 80 %, Heap size 太大在一些 JVM 上会有问题,对于 sun hp JVM permanent size 太小也会出 OutOfMemoryError ,在 java 命令行上加 -XX:MaxPermSize=128m
·           尽量减少内存消耗, Session 中不要放大的数据,并尽量在不再需要的时候 remove 掉,如果可以调整 session timeout 到较小的值,避免在 J2EE server 端应用里边调用 AWT/swing 作图,调整 ejb cache/pool 设置
·           内存泄漏,可以通过 WebLogic console 来观察 JVM heap memory 使用情况来获知是否有内存泄漏情况,采用第三方辅助工具来获取更详细信息,如 Jprobe/OptimizeIt ;有可能是 weblogic bug ,但绝大部分情况是由用户的应用引起的,最常见的代码问题是数据库连接没正常关闭。
  系统CPU
·           如果用户访问量很大, CPU 占用很高( user 态)并不是异常
·           如果是 kernel 态很多,需要 OS 厂商调整操作系统
·           采用 top 找到占用 CPU 很多的进程,如果是非 weblogic 进程,应该考虑将其移到另外的 server 上运行,如果是运行 weblogic java 进程,通过做 thread dump (详细信息后边会介绍到)来确认是那段代码导致了这么高的 CPU 使用(也有可能是 os/jvm 本身不正常)
系统文件描述符数目不足
Log 中有 “too many open files” 的错误,表示达到了系统对一个进程能同时打开的文件数的限制:
·           ulimit –a –H 可以查看当前限制
·           ulimit –n number 可以来更改当前环境的设置,建议至少设到 4096
·           Solaris 上可以通过 /usr/proc/bin/pfiles pid 来查看指定进程的限制和当前使用的 file descriptor 数目
·           Solaris root 用户可以通过 /usr/proc/bin/plimit -n soft,hard pid 来动态更改进程的文件描述符的限制
线程死锁
对于原因不明的 hang 或是响应慢,最根本的方法就是获取 thread dump 信息,对于 windows 系统,在运行 java 的窗口按 Ctrl Break ,对于 UNIX 系统,首先用 ps 找到运行 weblogic java 进程的 pid ,然后执行 kill –3 pid JVM 将负责将所有 java 进程的状态、执行堆栈 dump 到其标准输出,为了方便获取 thread dump 信息,在 weblogic 启动的时候,最好将其标准输出重定向到一个文件,为了反映线程状态的动态变化,需要接连多次做 thread dump ,每次间隔 10-20s
  对于 thread dump 信息,主要关注的是线程的状态和其执行堆栈,线程的状态一般为三类
·           Runnable R ):当前可以运行的线程
·           Waiting on monitor CW ):线程主动 wait
·           Waiting for monitor entry MW ):线程等锁
一般关注的都是第一和第三种状态的线程
CPU
很忙则关注 runnable 的线程
CPU
闲则关注 waiting for monitor entry 的线程
一种典型的死锁是由于在 server 端应用(比如 servlet )中请求由同一 weblogic 实例 serve 的资源,解决办法就是将该 servlet 放到另外的执行队列里去执行。
原文地址:
  "指定的网络名不再可用"错误
wl6.1 wl7.0 部署应用后都在后台抛出 “java.net.SocketException: ReadFile failed: 指定的网络名不再可用 ”, 这不是一个致命的错误,只会在中文 Window 上。如 Hilaser linstone 提出了办法:
  如果你是自己随便玩玩,将你的 JDK 升级到 jdk1.3.1_06
·           运行 cmd ,打开窗口菜单(点击左上角窗口图标),选择默认值,将默认代码页改为 437
  原文地址:
  集群配置 集群简明配置过程
wls7 中,集群的受管服务器无需使用相同的端口,这使在一个主机上实现集群成为可能。下面的例子是在一个主机( 172.30.94.60 )上的 wls7 里创建一个集群( mycluster DEMO ,包括管理服务器( myserver:7001 )、集群(两个受管服务器 serverA: 8001 serverB:8003 )、代理服务器( ProxyServer:80 )。应用 WebApp 是部署在集群上的 web 应用,而 DefaultWebApp 是部署在代理服务器上用来代理集群应用 WebApp 的。具体步骤如下:
 
1 .创建集群域 clusterdomainnew ,管理服务器 myserver 7001:7003 );
2 .创建 Machine admin myserver,ProxyServer ), cluster(serverA,serverB)
3 .创建受管服务器 serverA(8001) serverB(8003)
4 .创建集群 mycluster
Choose Servers for this Cluster: serverA serverB
config.xml:
<Cluster ClusterAddress="172.30.94.60:8001,172.30.94.60:8003"
MulticastAddress="237.0.0.1" MulticastPort="7777" Name="mycluster"/>
 5 .部署 WebApp 应用, targets mucluster
6 .创建代理服务器 ProxyServer 80 ),将 DefaultWebApptargets ProxyServer
7 .编辑 DefaultWebApp 应用,注册 HttpClusterServlet
<servlet>
<servlet-name>HttpClusterServlet</servlet-name>
<servlet-class>weblogic.servlet.proxy.HttpClusterServlet</servlet-class>
<init-param>
<param-name>WebLogicCluster</param-name>
<param-value>172.30.94.60:8001:8002|172.30.94.60:8003:8004</param-value>
</init-param>
<init-param>
<param-name>DebugConfigInfo</param-name>
<param-value>ON</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>/</url-pattern></servlet-mapping>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>*.jsp</url-pattern> </servlet-mapping>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>*.htm</url-pattern> </servlet-mapping>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
8 .重启 myserver
9 .启动 serverA startManagedWeblogicserverAhttp://172.30.94.60:7001;
启动成功后,访问 http://172.30.94.60:8001/WebApp/ 验证一下!
10. 启动 serverB startManagedWeblogicserverBhttp://172.30.94.60:7001;
启动成功后,访问 http://172.30.94.60:8003/WebApp/ 验证一下!
11. 启动 ProxyServer startManagedWeblogic ProxyServerhttp://172.30.94.60:7001
访问 http://172.30.94.60/WebApp ,是不是大功告成了:)
  原文地址:
  WebLogic应用在集群环境下的一些基本知识
基本概念
1 .硬件的 cluster WebLogic cluster 不是一回事,硬件做的是冷备份,对用户的 session ,用户请求的负载均衡等的处理是做不到的,而且一般硬件的双机热备也不是时时的备份,而是间隔一段时间再将主机上的数据 copy 过来,而 WebLogic Server cluster 就不是这样,其 session 的数据是时时的复制的,对不经常更改的 jndi 等的复制虽然也是定期完成的,但 update 的时间间隔很短
2 WebLogic Server cluster 配置非常方便,请参考 dev2dev 学堂
如果你要对集群做扩展,操作也非常方便,你只需要启动一个指向这个集群的 Admin Server managed server 就可以了,由这个集群中的唯一的 Admin Server 往这个 managed server 上部署应用
3
http 状态会话复制就是 session 的复制,例如你登陆了系统,如果一个服务器坏了, cluster 会将你的请求转发集群中的另外一个 server ,由其继续处理你的这个请求,而不要重新登陆。
4
EJB 集群中有状态,无状态 EJB 的意义和区别请看 J2EE EJB 的相关知识
5
.对 EJB 的集群,也是非常简单的,直接把 EJB 应用 target cluster server 上!
6
.对 WebLogic Server 来说,它的 cluster session in memory 的时时复制,这适用于 web application stateful session BEA session 内容的复制
7
.对非 stateful EJB WebLogic Server cluster 做其负载均衡及 failover 的工作( failover 只针对 EJB stateless BEAN
集群规划
在规划集群配置时,应该牢记以下关于网络环境与集群配置的限制。
 1 .首先,集群中的 WebLogic 主机必须使用永久的静态 IP 地址。动态 IP 地址分配不能用于集群环境。如果服务器位于防火墙后面,而客户机位于防火墙外面,那么服务器必须有公共的静态 IP 地址,只有这样,客户端才能访问服务器。
2 .集群中的所有 WebLogic 服务器必须位于同一个局域网,并且必须是 IP 广播可到达的。
3 .集群中的所有 WebLogic 服务器必须使用相同的版本。配置集群中的服务器,使它们支持所提供的服务。对于使用了 JDBC 连接的 EJB ,所有部署了某 EJB 的服务器必须具有相同的部署与持久化配置。也就是说所有服务器都应该有相同的 JDBC 配置。所有部署了 servlet 的主机必须维护一组具有相同 ACL servlet
如果客户端应用直接使用 JDBC 连接池,那么你必须为每个 WebLogic 服务器创建相同的连接池(并具有相同的 ACL )。这意味着集群所使用的连接池应该可以在所有的机器上创建。例如,一台运行 WebLogic NT 服务器配置了连接 Microsoft SQL Server 数据库的连接池,那么一个包含非 Windows 机器(即不支持 Microsoft SQL Server 连接的机器)的集群不能使用这个连接池。
其它配置细节可能会因不同的集群成员而不同。例如,一台 Solaris 服务器可以比一台小的 NT 工作站处理更多的登录请求。这种差异是可以接受的。因此,正如这里所给出的例子,对于那些与性能相关的属性,你可以根据每个集群成员的特点来配置不同的值,只要所有成员的服务配置相同即可。因此,集群中的 WebLogic 服务器在所有与 WebLogic 服务、类文件以及外部资源(例如数据库)相关的方面具有相同的配置。
  服务器配置任务列表
可以通过管理控制台进行以下服务器配置:
·           Server 节点配置单独的服务器可以配置的属性包括名字:监听端口与 IP 地址。
·           Server 节点克隆一个服务器:克隆的服务器保存了原来服务器的属性值,你可以使用 Server 节点中的 Configuration 配置新服务器的名字。
·           使用管理控制台的 Server 节点来删除一个服务器:点击要删除的服务器的图标,将弹出一个删除服务器的确认对话框,点击对话框中的 Yes 按钮将删除服务器。
·           使用管理控制台的 Server 节点查看一个服务器的日志:点击要查看的服务器,点击 Monitoring 标签页,点击 View Server Log 连结,便可以在管理控制台的右窗格查看服务器日志。
·           使用管理控制台的 Server 节点查看一个服务器的 JNDI 树:点击所要查看的服务器,然后点击 Monitoring 标签页,点击该页面上 View JNDI Tree 连接,该服务器 JNDI 树的信息便显示在管理控制台的右窗格中。
·           使用管理控制台的 Server 节点查看服务器的执行队列:点击所要查看的服务器,然后点击 Execute Queue 链接,然后查看管理控制台右边窗格里的表格中的内容。
·           使用管理控制台的 Server 节点查看服务器的执行线程:点击所要查看的服务器,然后点击 Execute Queue 链接,然后查看管理控制台右边窗格里的表格中的内容:
·           使用管理控制台的 Server 节点查看 server sockets :点击所要查看的服务器 , 点击 View Sockets 连接,然后查看管理控制台右边窗格里的表格中的内容。
·           使用管理控制台的 Server 节点查看服务器连接:点击所要查看的服务器,点击 View Connections 连接,然后查看管理控制台右边窗格里的表格中的内容。
·           使用管理控制台的 Server 节点进行强制垃圾收集,点击要监控的服务器,点击 JVM 标签页,点击页面上的 Force Garbage Collection 连接,将弹出是否要进行垃圾收集的确认对话框。
·           Server 节点监视服务器的安全:点击要监控的服务器,点击 Monitoring 标签页,点击 Security 标签页,将显示安全信息。
·           Server 节点查看服务器的版本:点击要查看的服务器,点击 Version 标签页,将显示服务器的版本信息。
·           Server 节点监控服务器集群:点击要监控的服务器,点击 Cluster 标签页,将显示该服务器的集群数据。
·           Server 节点来部署 EJB :点击需要部署 EJB 的服务器,点击需要分发的 EJB 并使用移动控件将它移到被选列中,点击 Apply 来保存你的选择。
·           Server 节点来监视部署在某一服务器上的所有 EJB :点击需要监视的服务器,点击 Monitor All EJB Deployments 连接来显示 EJB 的部署列表。
·           Server 节点将 web 应用组件部署在某一服务器上:选择要部署 web 应用的服务器:选择需要部署的 web 应用,然后通过移动控件将它移到被选列中,点击 Apply 来保存你的选择。
·           Server 节点来监控某一服务器上的所有 web 应用组件:点击 web 应用所在的服务器,然后点击 Monitor All Web Applications 连接来显示 Web Application 的部署列表。
·           Server 节点在服务器上部署启动与终止类:点击需要部署启动类的服务器,然后点击需要部署的启动类并将它移到被选列中,点击 Apply 来保存你的选择,使用终止类控件来部署终止类的过程与此相同。
·           Server 节点为服务器分配 JDBC 连接池:点击 web server 分配表中的一个服务器,在 Available 列中点击一到多个 JDBC 连接池,并通过移动控件将所选择的 JDBC 连接池移到 Chosen 列,点击 Apply 来保存你所做的分配。
·           Server 节点为一个服务器分配 WLEC 连接池:点击需要分配 WLEC 连接池的服务器:在 Available 列中选择一个或多个要分配的 WLEC 连接池,使用移动控件将所选择的 WLEC 连接池移动到 Chosen 列。
·           通过管理控制台的 Server 节点监视某一服务器上的所有 WLEC 连接池:选择一个需要监视连接池的服务器,点 Monitor All WLEC Connection Pools on This Server 链接,所有分配给这台服务器的连接池会显示在右窗格中的 WLEC Connection Pools 列表中。
·           Server 节点为一台服务器分配 XML 注册表,选择要分配 XML 注册表的服务器,从 XML 注册表的下拉列表中选择一个注册表,点 Apply 保存设置。
·           Server 节点分配邮件会话:选择一个要分配邮件会话的服务器,从 Available 列中选择要分配给服务器的邮件会话,使用移动控件把所选择的移动会话移动到 Chosen 列中,点 Apply 按钮保存设置。
·           通过管理控制台为服务器分配文件 T3s :选择一个要分配文件 T3 的服务器,从 Available 列中选择要分配给服务器的文件 T3s ,使用移动控件把所选择的文件 T3s 移动到 Chosen 列,点 Apply 按钮保存设置。
·           Connection 连接,然后查看管理控制台右边窗格里的表格中的内容。
·           使用管理控制台的 Server 节点进行强制垃圾收集:点击要监控的服务器,点击 JVM 标签页,点击页面上的 Force Garbage Collection 连接,将弹出是否要进行垃圾收集的确认对话框。
  原文地址:
  安全管理WebLogic AD ldap 配置方法
Weblogic AD ldap 配置方法
  一创建并配置 windows AD.
1 AD 中加入新的 OU,myOrg.
2 myOrg 中加入两个 ou ,groups people 。在 groups 中加入两个组 group1,group2, people 中加入两个用户 user1,user2.
3 配置 user1 用户属于组 group1 user2 用户属于组 group2
windows Active Directory 端配置完毕。
  二得到配置参数
1 下载 ldap brSofterra LDAP Browser 2.5 ( 可用 google 搜索 )
2 配置 ldap browser
打开 ldap browser 应用程序。创建新的 profile
  填入参数:
单击 fetch DNs (only ldap v.3) 得到自动配置的 ldap 基础配置
DC=www 前面加入 AD 中配置的 OU=myOrg
完成后如下图。表示连接 AD 成功
得到 base DN 参数为 OU=myOrg,DC=www,DC=test,DC=com, (DC=www,DC=test,DC=com 视您的 windows 域而定,本例域为 www.test.com)
  三配置 weblogic server
启动域,打开控制器 http://localhost:7001/console
配置新的 authentication
点击 authentication 。在右边选择 configure a new active directory authenticator
 1 General 中的配置
2 Active Directory 栏配置
3 user 栏配置
user 栏只需要修改 User Base DN 为自己的 user base DN, 这里填入 ldap browser 中得到的数据 OU=myOrg,DC=www,DC=test,DC=com, 不过我们要得到的是用户所以在前面在加入我们创建的 OU=people
4 group 栏配置。
group 栏只需要修改 group Base DN 为自己的 group base DN, 这里填入 ldap browser 中得到的数据 OU=myOrg,DC=www,DC=test,DC=com, 不过我们要得到的是组所以在前面在加入我们创建的 OU=groups
  保存后其余的都不用在修改了。
我们再次点击 user 时, ldap 中的用户和组就加入到 weblogic server 的用户中了
  原文地址:
 
口令的保护
保护用来访问 WebLogic 服务器资源的口令是很重要的。在过去,用户名与口令以明文的形式存储在 WebLogic 服务器的安全域中。现在 WebLogic 服务器对所有口令进行散列化。当 WebLogic 服务器获得一个客户端请求时,客户端所输入的口令也被散列化,然后把散列化结果与所保存的散列化口令进行比较,看它们是否相互匹配。
  每个 filerealm.properties 文件都有一个与它关联的 SerializedSystemIni.dat 文件,这个文件被用来散列化口令。在安装时, SerializedSystemIni.dat 文件保存在 /wlserver6.1/config/mydomain 目录下,如果该文件被破坏,那么就需要重新配置 WebLogic 服务器。
我们建议你采用以下预防措施:
备份 SerializedSystemIni.dat 文件,并将其与 filerealm.properties 文件的备份存放于同一目录下。设置 SerializedSystemIni.dat 文件的访问权限,例如只允许 WebLogic 服务器的管理员有读写这个文件的权限,其它用户没有这个文件的任何权限。
  如果你使用的是 weblogic.properties 文件,并且想散列化这个文件中的口令,你可以用管理控制台主窗口的 Convert weblogic.properties 选项将 weblogic.properties 文件转换为 config.xml 文件。一旦文件被转换,则所有现存的口令就已经被保护了。
 Config.xml 文件中的不在含有明文的口令,若在其中保存明文的口令, config.xml 会对其进行加密并被散列化该口令。被加密的口令不能从一个域复制到另一个域,而是应该使用明文口令替换 config.xml 中被加密的散列化口令,然后再将文件复制到另外一个域中。管理控制台在下一次写文件时会加密并散列化口令。
  要保护 WebLogic 服务器的口令,执行以下操作:
1. 打开管理控制台
2. 点击 Security 节点
3. 在管理控制台右侧窗格中选择 Passwords 标签页。
4. 定义该标签页中需要配置的属性,按照相应的提示输入值,并选中必须选择的复选框(详细信息,参见下表)。
5. Apply 按钮保存所做的设置
6. 重启 WebLogic 服务器。
  如下详细描述了 Security Configuration 窗口的 Password 标签页上的各个属性。
·           Minimum Password Length: 口令所需的长度,至少为 8 个字符。缺省为 8 个字符
·           Lockout Enabled: 在超过 Lockout Threshold 次尝试后,是否需要锁住某个登录无效的帐号。缺省情况下,该属性被启用。
·           Lockout Threshold :当一个用户试图登录到一个用户帐户,因口令不对而失败,那么多少次这样的失败登录后将锁住这个帐号。以后对该帐号的访问(即使是 username/password 是正确)也将引发 Security 异常;在管理员对该帐号进行解锁前,或在锁住期限内,该帐号一直处于锁住的状态。注意非法登录必须在 Lockout Reset Duration 属性所定义范围内。默认为 5
·           Lockout Duration :该属性定义了当某一帐户因为在 Lockout Reset Duration 期限内发生非法登录而被锁住后,多长时间范围内该用户帐号不能被使用。要解开一个被锁住的用户帐号,你必须拥有 weblogic.passwordpolicy 中的 unlockuser 权限。默认为 30 分钟。
·           Lockout Reset Duration :该属性定义了在多长时间里,非法登录某一帐号将导致该帐号被锁住。在本属性定义的时间范围内,当非法登录的次数超过了 Lockout Threshold 属性所定义的值,那么该帐号将被锁住,例如,该属性被设置为 5 分钟,当帐号在 6 分钟内被非法登录了 3 次,那么该帐号不会被锁住,但是,如果在 5 分钟内,发生了 5 次非法登录,那么该帐号将被锁住。缺省为 5 分钟。
·           Lockout Cache Size :指定无效的或非法的登录意图的缓存大小。缺省为 5
  注:本文针对 weblogic6 ,其他版本请参考
  原文地址
  其它资源
本文前面部分删除了许多重复的文章,也没有包括一些比较复杂的文章,大家可以到 Dev2dev WebLogic 管理板块
和本版精华
下查看。
本文随同本论坛其它板块的资料,也保留在社会书签 http://del.icio.us/dev2dev.cn 处,大家可以也尝试使用这种书签,来共同维护我们的资源,人多力量大。以下我说说其他有用资料。
dev2dev 学堂
这里的资料十分的丰富。
·           实战集锦非常实用,里面主要包括了一些 WebLogic 出现的问题以及解决方案,其中你不仅可以学到 WebLogic 的许多知识,也可以知道许多 Java 与操作系统的基础知识,也可以发现许多排错和调优的好工具以及使用方法。
·           WebLogic Server 里面包括了大量的基础教程,既有图文并茂的教程,也有许多动画教程。你可以学到 WebLogic 的在 Windows Linux/UNIX 下的安装,可以学到如何配置 SSL 和集群,如何发布简单应用程序,如何使用 JMS ,如何调用你的第一个 JSP 文件。
·           WebLogic 常见问题包括经常遇到了简单问题以及快捷的回答。
WebLogic 代码库和 CodeShare
代码库是以前 WebLogic 为大家提供的一些代码实例, CodeShare 是最近发起的一个项目,代码库的许多代码会转移到 CodeShare 下,但是现在还没有完全做到,许多代码还只能在代码库里找到。如果想学习某些比较复杂的技术,看实例代码是最好的方式,而且这些代码通常会附有非常详细的文档来帮助使用。
代码库 Weblogic 部分: http://dev2dev.bea.com/code/wls.jsp
  在线论坛 Dev2dev
有一些文章没有收录到这里,主要是因为篇幅太长,或者内容与网站的其他地方有些重复,可是还是很精彩的文章。
·           BLOGIC 8.1 下集群配置实例
http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=81&threadID=19302
·           一个 Domain 里的机器可以是不同的平台吗?
http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=81&threadID=1692
·           Weblogic access.log 详细说明
http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=81&threadID=8669
·           OutOfMemoryError 错误的调节, JVM 的一个参数
http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=81&threadID=9779
·           FreeBSD 下安装 Linux 版本的 WebLogic
http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=81&threadID=9554
·           axman zghr JDBC Connection 的讨论
http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=121&threadID=9121
·           WebLogic Server 管理指南
http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=81&threadID=8387
  学习 WebLogic起步过程
经常有人问 WebLogic 如何起步,这里列下大体的过程,具体可以参考 dev2dev 学堂和论坛精华。
·           下载
http://dev2dev.bea.com.cn/doccenter/soft.html 下载相应的版本
·           安装
只以 windows 为例,直接运行下载的安装程序就然后根据步骤一路默认就好。
·           配置最基本的 domain
WebLogic
安装好后应该在运行 开始 - 所有程序 -Bea WebLogic Platform-Configuration Wizard” 或者是 "C:/bea/weblogic81/common/bin/config.cmd" ,就可以配置一个 Domain ,也就是一组服务器单元。
·           使用 console
配置好了一个 domain ,就可以启动 Admin Server ,可以使用 开始 - 所有程序 - Bea WebLogic Platform - Configuration Wizard - User Projects – mydomain – Start Server”, 或者是到了 mydomain 目录调用 startWebLogic.cmd, 就可以启动 Server ,然后在浏览器中进入 http://localhot:7001/conole 就进入了管理界面,通常的管理都在这里进行。
·           发布应用
可以到 console Deployment 部分发布
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值