Chinaunix首页 | 论坛 | 博客
  • 博客访问: 436979
  • 博文数量: 102
  • 博客积分: 4045
  • 博客等级: 上校
  • 技术积分: 2120
  • 用 户 组: 普通用户
  • 注册时间: 2006-02-16 22:21
文章分类
文章存档

2013年(1)

2009年(24)

2008年(77)

我的朋友

分类: Java

2008-04-02 11:14:16

自BEA WebLogic Server 6.1起,BEA通过稳定的接口和强有力的移植测试为版本兼容性建立了基线。BEA WebLogic Server提供了最高级别的Web服务支持,使我们的工作变得十分容易。Weblogic8.1更具有以下新的特性:

  表示层 基于struts 方案的可视页面流。

  Web 应用 JSP的可视开发。

  业务组件 EJB的简化开发。

  集成和连通性 用于数据库、消息和企业资源集成及连通的、开放的、基于控件的服务器端框架。

  Web 服务 自动发布和消费;同步和异步的、会话的、安全的Web服务。

  任何Java代码 可视和基于代码的开发环境,带有自动的双向修改传播机制。

  所需软件安装包:

  j2sdk-1_4_2_02-linux-i586.bin

  weblogic813_linux32.bin

  一.weblogic的安装

  1. 首先安装JDK,安装完以后,设置环境变量,方法如下:

  将 j2sdk-1_4_2_02-linux-i586.bin并保存到/tmp给文件加上可执行的权限

  引用:

  # chmod 755 j2sdk-1_4_2_02-linux-i586.bin

  执行文件安装JDK

  引用:

  # ./j2sdk-1_4_2_02-linux-i586.bin

  ......(一大堆的license的信息)

  询问是否同意,当然选yes

  引用:

  # mv j2sdk1.4.2_02 /usr/j2sdk

  现在JDK还不能算安装完成了,还要设置一下环境变量:

  引用:

  # vi /etc/profile

  在profile里面添加:

  引用:

  export JAVA_HOME=/usr/local/jdk1.3.1_06/

  export CLASSPATH=.:/usr/local/ jdk1.3.1_06/lib

  PATH=:/bin

  JAVA_HOME=/bea/jdk142_04

  CLASSPATH=.;$JAVA_HOME/lib/dt.jar;$JAVA_HOME/lib/tools.jar;

  PATH=$PATH:$JAVA_HOME/bin;$JAVA_HOME/jre/bin

  export PATH JAVA_HOME CLASSPATH

  2. 首先赋予源文件weblogic813_linux32.bin可执行权限

  引用:

  # chmod a+x /tmp/weblogic813_linux32.bin

  3. 然后执行命令,进入安装窗口:(以窗口模式为例)

  引用:

  # ./tmp/weblogic813_linux32.bin

  如果系统不支持显卡,可以执行命令:

  引用:

  # ./tmp/weblogic813_linux32.bin -mode=console

  ,这样,可以在命令行窗口下执行。

  a.简单介绍。选择next.

  b.文件extract完以后,开始安装,首先,阅读一个license agreement,

  选择1,同意开始安装 2。不同意

  c.选择bea产品目录,选择默认选项,next。

  d.选择安装类型,选择全部安装,next。

  e.选择weblogic的安装目录,选择默认项,next.

  f.开始安装文件。

  4。配置web服务器域以及web服务器

  a. 进入welogic81/common/bin.点击quickstart.sh,或者执行

  引用:

  # ./root/bea/weblogic/common/bin/uickstart.sh

  b.弹出画面,选择create a new domain configuration,。。继续

  c.选择create a new weblogic configuration继续。

  d.选择basic weblogic server domain继续。

  e.选择custom安装类型,继续。

  f.指定服务器名、监听端口等,把监听端口改为80。

  g.是否建立weblogic服务集群,选择no继续

  h.是否建立jdbc数据库接口,yes.

  i.点击add,连接名可以取默认,vendor选择oracle,driver选择一个支持9.2.0的即可,添加数据库名、主机名、数据库用户名、密码等。

  j.是否建立jms组件。no

  k.是否添加其他web services,no

  l.添加用户,一个即可,

  m.选择服务器的启动模式,选择production mode,选择相关的jdk组件,任意一个。

  n.选择域名。

  weblogic上的web 发布

  a.进入/root/bea/user_projects/domains/mydomain目录,并执行setenv.sh和starWebLogic.sh文件,第一次启动时可能提示在/root下找不到config.xml文件,重新输入密码继续即可。最后在/root下生成/myserver目录以及其配置文件。

  引用:

  # cd /root/bea/user_projects/domains/mydomain

  # ./setenv.sh

  # ./startWebLogic.sh

  b.打开浏览器,输入http://localhost:7001/console输入密码进入管理界面。

  c.点击mydomain/deployment/web application modules,选择deploy a new .选择文件路径,应用,即可发布,

  注意每个文件夹中如果是war文件的话,子文件夹WEB-INF中一定要有web.xml文件,此文件是weblogic的描述符文件(如果是一个EJB应用的话,则一定要有weblogic.xml文件),相当于发布服务是的配置文件,必须要有,如果没有的可参照下面的例子新建一个即可。

  引用:

  web.xml eg:

  

  

  

  WebApp

  

  ksgl

  ksgl

  /ksgl\logout.jsp

  


  

  30

  


  


  注:WEB-INF文件夹必须是大写,小写是不能发布的,如果向linux复制这些文件的时候一定要注意,有时候大小写会发生改变。

  二.关于在rac中建连接池的问题

  对于一个需要大量连接后台数据库的应用程序,建立连接池是一个非常有效提高服务器性能的方式,建立连接池时URL的写法一般和采取的那种协议和数据库种类有关,许多地方有介绍,我们下面仅列出了在oracle 9204 rac下,采用oracle thin(xa) 和oracle thin 协议时连接池的配置:

  引用:

  1.
  DriverName="oracle.jdbc.xa.client.OracleXADataSource"

  Name="OrclJdbcConnectionPool"

  Password="{3DES}kLW+GY5TDkiOu1tt45kUvA=="

  Properties="user=examusr01" Targets="myserver"

  TestConnectionsOnRelease="true"

  TestTableName=”SQL SELECT 1 FROM DUAL”URL=”jdbc:oracle:thin@(DESCRIPTION=

  (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=IP1)(PORT=1521))

  (ADDRESS=(PROTOCOL=TCP)(HOST=IP1)(PORT=1521))) (FAILOVER=yes)(LOAD_BALANCE=yes)(CONNECT_DATA=(SERVER=DEDICATED) (SERVICE_NAME=orcl)))"/>

  2.
  DriverName="oracle.jdbc.xa.client.OracleXADataSource"

  Name="OrclJdbcConnectionPool"

  Password="{3DES}kLW+GY5TDkiOu1tt45kUvA=="

  Properties="user=examusr01" Targets="myserver"

  TestConnectionsOnRelease="true"

  TestTableName=”SQL SELECT 1 FROM DUAL”URL=”jdbc:oracle:thin@(DESCRIPTION=

  (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=IP2)(PORT=1521))

  (ADDRESS=(PROTOCOL=TCP)(HOST=IP2)(PORT=1521))) (FAILOVER=yes)(LOAD_BALANCE=yes)(CONNECT_DATA=(SERVER=DEDICATED) (SERVICE_NAME=orcl)))"/>

  如果web服务连接的是两台oracle数据库RAC服务,所以在此要设置两个JDBC连接,如果是一个数据服务,则只需要设置一个JDBC连接既可

  三.weblogic的优化:

  weblogic服务器主要从内存方面着手考虑,weblogic起动时首先启动一个jvm虚拟机,这个jvm虚拟机占用的内存大小也是weblogic占用的内存大小,在没有其他应用程序的情况下,最多可以为jvm虚拟机分配80%的系统内存(2G以下越大越好);另外一个就是垃圾回收的问题,应用程序中所有的active和dead进程都存在于jvm中,如果当萁占用内存大于jvm的内存时,系统这时候会暂时停掉所有java应用,启动一个垃圾回收动作,当然,这段时间越短越好,因此,一般设置垃圾回收所占用的内存为jvm内存大小的1/4,这样,一次垃圾回收最长会在10-20秒的时间内结束。(jvm设的越大,每次垃圾回收(garbage collection)间隔越长,但每次持续时间越长)。

  jvm内存大小在startweblogic.cmd/startweblogic.sh内设置。在其中会发现一段:

  引用:

  %JAVA_HOME%\bin\java%JAVA_VM%%MEM_ARGS%%JAVA_OPTIONS% -Dweblogic.Name=%SERVER_NAME% -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy="%WL_HOME%\server\lib\weblogic.policy" weblogic.Server

  这即为系统启用jvm的命令,其中%MEM_ARGS%就是设置内存的参数变量,在这一行前面加上一句:set MEM_ARGS=-Xms150m -Xmx256m ,Xms和Xmx指定的值就是jvm占用内存的界定,但是一般情况下两者应设为相等。设置垃圾回收gc的内存参数如下(但是经过验证仍有一些问题,,须进一步研究) 官方文档:-XX:NewSize=128m -XX:MaxNe

  
阅读(751) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~