IT忍者神龟之weblogic问题集

weblogic 专栏收录该内容
0 篇文章 0 订阅

myeclipse集成weblogic如何实现热部署

用jrebel实现热部署说明
本方法适用环境:
windows,weblogic10.x.x
使用原因:
因为系统引入spring等框架,导致启动很慢,每次重启都会浪费大量的时间。引入之后,修改类和配置文件等都不需要重启,这样会大大减少启动次数,提高开发效率。
使用步骤:
1.用正常的方式部署好weblogic应用,使应用能正常运行。
2.把jrebel.jar放到一英文路径下,如:C:\jrebel。
3.设置环境变量。win7:右击计算机-属性-高级系统设置-高级-环境变量-系统变量-新建,变量名输入REBEL_HOME,变量值输入2的路径(如C:\jrebel),确定-确定-确定。XP系统:右击我的电脑-属性...后面参考win7设置。
4.把文件startWeblogic-jrebel.cmd复制到weblogic部署的domain下面,和startWebLogic.cmd位于同一目录(如:D:\bea\user_projects\domains\newzfba)。
5.当需要使用热部署时候,双击startWeblogic-jrebel.cmd启动就可以了。
可能出现的问题:
1.虚拟机内存不够用。解决方法:到\bin\setDomainEnv.cmd文件中增加MaxPermSize的大小。
2.对某些框架不支持。解决方法:在startWeblogic-jrebel.cmd文件中加入相关框架支持,参考官网 http://zeroturnaround.com/jrebel/features/frameworks/

startWeblogic-jrebel.cmd文件内容:
@echo off
set JAVA_OPTIONS=-javaagent:%REBEL_HOME%\jrebel.jar -Drebel.aspectj_plugin=true -Drebel.spring_plugin=true -Drebel.hibernate_plugin=true -Drebel.struts2-plugin=true -Drebel.struts1-plugin=true %JAVA_OPTIONS%
call "%~dp0\startWebLogic.cmd" %*
----------------


上传附件commonsnet1.4.1.jar与webligic中的Jar冲突问题


j2ee应用是在tomcat环境下开发和测试的,没问题,移植到WebLogic Server( 版本: 10.3.5.0)之下,大部分功能都正常,就是附件同步有问题 
,报找不到 org.apache.commons.net.XXX.yyy(),但是此文件明明在 WEB-INF/lib 下面,以为是部署缓存问题,删除了部署,部署了又删除,还是搞不定,郁闷的一米。 

后来一想,可能是jar包冲突问题,于是单独把jar包拷贝到weblogic的domain下/app/weblogic/Oracle/Middleware/user_projects/domains/jjjc_domain/lib下,重启weblogic后,他会自动把jar加载到classpath里, 

<2011-10-27 下午08时15分29秒 GMT+08:00> <Notice> <WebLogicServer> <BEA-000395> <Following extensions directory contents added to the end of the classpath: 
/app/weblogic/Oracle/Middleware/user_projects/domains/jjjc_domain/lib/commons-net-3.0.1.jar> 

再试,还是不管用。再想,可能不是和domain的包冲突,可能就是和weblogic的全局包冲突,于是find 

[weblogic@jjjc1 ~]$ cd Oracle/Middleware/ 
[weblogic@jjjc1 Middleware]$ find . -name *net*.jar 

在众多的结果里挑选了一下,确定目标就是 
./modules/com.bea.core.apache.commons.net_1.0.0.0_1-4-1.jar 

调包前备份老jar,以免宕机 
[weblogic@jjjc1 Middleware]$ mv ./modules/com.bea.core.apache.commons.net_1.0.0.0_1-4-1.jar  . 
[weblogic@jjjc1 Middleware]$ mv ./user_projects/domains/jjjc_domain/lib/commons-net-3.0.1.jar ./modules/ 

重启weblogic,重新部署app,一切如想象中的OK。 


1. weblogic自带了很多jar包   当工程中的jar和weblogic自带jar版本不一致时 往往会出现错误。

解决方案:

方案一:通过weblogic的配置,优先加载应用的jar包

(1)为了解决在weblogic中jar包冲突的问题  你可以在WEB-INF下创建一个weblogic.xml。

 

Java代码   收藏代码
  1. <?xml version="1.0"?>  
  2. <weblogic-web-app  
  3.  xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app"  
  4.  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5.  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">  
  6. <container-descriptor>  
  7. <!-- 优先加载web工程中的jar包,默认为false-->  
  8. <prefer-web-inf-classes>true</prefer-web-inf-classes>  
  9. </container-descriptor>  
  10. </weblogic-web-app>  

 

(2)重启weblogic。

 

 

方案:通过修改启动脚本来优先加载某些jar包

(1)将冲突的JAR包拷贝到${DOMAIN_HOME}/lib目录下。

(2)${DOMAIN_HOME}/bin下找到startWeblogic.sh文件用文本编辑器将其打开,并在里面加入如下内容:

 

Java代码   收藏代码
  1. export first_classpath=${DOMAIN_HOME}/lib/xxxx.jar  
  2. SAVE_CLASSPATH="${first_classpath}:${CLASSPATH}"  
 

 

 

方案:替换weblogic.jar里面对应的目录

(1)删除C:\bea\weblogic10\server\lib\weblogic.jar中的冲突的文件夹。

(2)copy 冲突的XXX.jar到C:\bea\weblogic10\server\lib。

(3)重启weblogic。

 

 

 

 

2.weblogic解析web.xml时不支持通配符

 

Java代码   收藏代码
  1. <context-param>  
  2.   <param-name>contextConfigLocation</param-name>  
  3.      <param-value>  
  4.           classpath*:/applicationContext*.xml  
  5.         </param-value>  
  6. </context-param>  

 

修改为:

 

Java代码   收藏代码
  1. <context-param>  
  2.   <param-name>contextConfigLocation</param-name>  
  3.      <param-value>    
  4.              classpath*:applicationContext.xml,applicationContext_service.xml,applicationContext-action.xml  
  5.      </param-value>  
  6. </context-param>  
  

 

3.spring配置JNDI数据源

 

如果开发是在Tomcat中进行的,部署是在weblogic上,都配置了JNDI数据源,两个J2EE容器对JNDI的名称要求不一样,怎么统一起来呢?可以通过在spring文件中将数据源修改以下:

 不使用插件在eclipse中集成weblogic

在eclipse中集成weblogic对大部分开发人员来说应该是没有问题的,只要安装一下weblogic的eclipse的对应版本的插件就可以了。但有时候如果使用了最新版本的eclipse,而weblogic的插件的发布却没有跟上,那只能干瞪眼了,只能不使用最新版本的eclipse了。
这里介绍一种适合任意版本的eclipse集成weblogic的方法,这个方法的原理是weblogic本身就是用java类启动的,去考察weblogic启动的cmd文件,其实质也是调用了weblogic.Server这个类(当然有很多参数的),那如果把这个启动的类似“java [jvm参数] weblogic.Server [weblogic参数]”的java运行命令制作成eclipse中的java application,这样在任意版本的eclipse中就都可以启动weblogic了。下面以eclipse3.5(galileo)和weblogic8.1.4为例,来说明一下这个步骤。
1、首先在eclipse中创建一个空的工程项目,这个工程项目只是为了在之后配置java application时设置一个项目(也可以不新建工程项目,而使用其他的任何项目),如果这个项目中能包含weblogic.jar的话,那在之后配置java application的main选项卡的main class时可以通过search来查找weblogic.Server(但因为肯定是weblogic.Server,所以查不查找都无所谓),如下图:

不使用插件在eclipse中集成weblogic

2、新配置一个java application,输入Name,下面一共有Main,Arguments,JRE,Classpath,Source,Environment,Common这些选项卡,下面一一介绍。
2.1、Main选项卡中的project是需要运行的工程(这里因为要运行weblogic,所以我们就选择之前创建的weblogic的工程WeblogicProject),Main class是有main函数的运行类,weblogic.Server类是weblogic的启动类,这里必须填写这个类,可以通过Search按钮来查询,这个类包含在weblogic.jar包中,所以这个包一定要包含在之前项目中。

不使用插件在eclipse中集成weblogic

 2.2、在介绍Arguments选项卡之前,先需要说明一下weblogic的JVM参数,weblogic的JVM参数一般格式如下:
-Dbea.home=bea的安装路径 -Dweblogic.RootDirectory=weblogic的domain的路径 -Dweblogic.Domain=domain名称 -Dweblogic.Name=server名称 -Djava.security.policy=安全策略路径 -Dweblogic.management.discover=是否自动查找配置文件false和true,一般设置为false -Dweblogic.management.server=Admin Server的IP地址和端口 -Dweblogic.management.username=Admin Server的用户名 -Dweblogic.management.password=Admin Server的密码(明文) -Djava.library.path=类库路径 -client -Xms32m -Xmx200m -XX:MaxPermSize=128m -Xverify:none 
根据这个格式,给出两个例子,一个是Admin Server的JVM参数配置:
-Dbea.home=D:/bea -Dweblogic.RootDirectory=D:/bea/user_projects/domains/mydomain -Dweblogic.Domain=mydomain -Dweblogic.Name=myserver -Djava.security.policy=D:/bea/weblogic81/server/lib/weblogic.policy -Dweblogic.management.discover=false -Dweblogic.management.username=weblogic -Dweblogic.management.password=weblogic -Djava.library.path=D:/bea/weblogic81/server/bin -client -Xms32m -Xmx200m -XX:MaxPermSize=128m -Xverify:none
一个是managed Server的JVM参数配置:
-Dbea.home=D:/bea -Dweblogic.RootDirectory=D:/bea/user_projects/domains/mydomain -Dweblogic.Domain=mydomain -Dweblogic.Name=aibpsserver -Djava.security.policy=D:/bea/weblogic81/server/lib/weblogic.policy -Dweblogic.management.server=http://localhost:7000 -Dweblogic.management.username=weblogic -Dweblogic.management.password=weblogic -Djava.library.path=D:/bea/weblogic81/server/bin -client -Xms32m -Xmx400m -XX:MaxPermSize=256m -Xverify:none 
下面接着说weblogic的配置,如果要配置成Admin Server,则weblogic的JVM参数的配置如下,如果配置成managed Server,则根据上面managed Server的JVM参数格式配置:
-Dbea.home=D:/bea -Dweblogic.RootDirectory=D:/bea/user_projects/domains/mydomain -Dweblogic.Domain=mydomain -Dweblogic.Name=myserver -Djava.security.policy=D:/bea/weblogic81/server/lib/weblogic.policy -Dweblogic.management.discover=false -Dweblogic.management.username=weblogic -Dweblogic.management.password=weblogic  -Djava.library.path=D:/bea/weblogic81/server/bin -client -Xms32m -Xmx200m -XX:MaxPermSize=128m -Xverify:none

不使用插件在eclipse中集成weblogic

 2.3、JRE选项卡,这个没有什么好说的,选择一个合适版本的JRE就好了。

不使用插件在eclipse中集成weblogic

 2.4、classPath选项卡,这个选项卡中需要将weblogic.jar/webservices.jar/ojdbc14.jar这三个jar包放入User Entries中,而且这三个的顺序必须是weblogic.jar/webservices.jar/ojdbc14.jar,否则weblogic启动时会报JMS错误等莫名其妙的错误。另外必须注意:这三个jar包的路径必须是weblogic的安装路径下的server\lib目录下的。也就是说比如我weblogic安装在d:\bea\weblogic81下,但我把weblogic.jar拷贝到d盘目录下,然后将d盘下的这个weblogic.jar加入到classpath中,则这种情况下,虽然weblogic.jar是完全一样的,但同样weblogic启动会报错,因为会找不到其他的jar包中的关联类。

不使用插件在eclipse中集成weblogic

 2.5、Source,Environment,Common这三个选项卡都默认就可以了。完成这些,点击apply之后weblogic的java应用就配置好了,下面我们测试一下是否OK。
3、测试weblogic的java应用配置是否成功。通过了这个测试验证,如果完全正常,则这个配置就完成了。
3.1、准备一个简单的web工程,用来测试weblogic工作是否正常。一般只要包含一个servlet就可以了,在servlet中设置好断点。
3.2、run这个weblogic的java应用,可以看到在eclipse的控制台中会打印一些weblogic启动日志,与通过插件配置的weblogic的启动日志完全相同。并将前面准备的web工程部署到weblogic中。在IE中输入servlet的URL,看servlet运行是否完全如预期。
3.3、debug这个weblogic的java应用,可以看到在eclipse的控制台中会打印一些weblogic启动日志,与通过插件配置的weblogic的启动日志完全相同。在IE中输入servlet的URL,看eclipse是否进入了debug界面,运行暂停在了之前设置好的断点了。

不使用插件在eclipse中集成weblogic

  
顺便记录一下weblogic的eclipse(galileo版本)插件的site:
weblgoic的eclipse(galileo版本)插件(整套插件名称Oracle Enterprise Pack for Eclipse)的site
http://download.oracle.com/otn_software/oepe/galileo

注:大家特别注意上面红色字体的部分。classpath中只需要这三个jar包就行,而且顺序必须是:

weblogic.jar/webservices.jar/ojdbc14.jar,否则weblogic启动时会报JMS错误等莫名其妙的错误。

祝大家好运!



 

Java代码   收藏代码
  1. <jee:jndi-lookup id="dataSource" jndi-name="jdbc/user" />,  


weblogic unable to get file lock问题


非正常结束weblogic进程导致weblogic无法启动

由于先前服务器直接down掉了,所有进程都非正常的进行关闭了,也就导致了下次启动weblogic的时候报了以下错误:

<2012-3-2 下午05时08分34秒 CST> <Info> <Management> <BEA-141281> <unable to get file lock, will retry …> 
<2012-3-2 下午05时08分44秒 CST> <Info> <Management> <BEA-141281> <unable to get file lock, will retry …>

解决办法

一.删掉Domain下的*.lok文件

1. 删除edit.lok

进入到domain_home下:

cd /u01/Oracle/Middleware/user_projects/domains/idm_domain

将edit.lok文件删掉

rm edit.lok

2.删除config.lok

进入到domain_home/config下:

cd /u01/Oracle/Middleware/user_projects/domains/idm_domain/config/

将config.lok文件删掉

rm config.lok

3.删除AdminServer.lok

cd /u01/Oracle/Middleware/user_projects/domains/idm_domain/servers/AdminServer/tmp

rm AdminServer.lok

4.删除EmbeddedLDAP.lok

/u01/Oracle/Middleware/user_projects/domains/idm_domain/servers/AdminServer/data/ldap/ldapfiles

rm EmbeddedLDAP.lok

二.删掉Domain下的*.DAT文件:

进入到domain_home当中

cd /u01/Oracle/Middleware/user_projects/domains/idm_domain

找到文件被删掉

[oracle@idm idm_domain]$ find servers/ -name "*.DAT" 
servers/AdminServer/data/store/diagnostics/WLS_DIAGNOSTICS000000.DAT 
servers/AdminServer/data/store/default/_WLS_ADMINSERVER000000.DAT


weblogic集群备忘-分配应用


1.在weblogic集群服务器的部署中,配置好数据源后,点击左侧的“服务”---->数据源 ,打开页面,在右侧,点击配置的数据源进去,



然后点击“目标”,如上图,在此页中, 您可以选择要部署此 JDBC 数据源的服务器或集群。


2.如何分发当前服务器的应用到本集群中的其他服务器?

点击左侧的“部署”,在右侧会出现部署的应用,点击应用进去,如下图:



点击“目标”,可以选择需要把主控服务器的应用分配到同一集群下的其他服务器中,勾选表示可以选择您要部署此 Web 应用程序的 WebLogic Server 实例和集群, 以及虚拟主机。


3.点击左侧的“环境”,然后点击“服务器”,在右侧可以创建集群下的服务器,如下图:




在上图中,所对应的linux服务器中:

第一台服务器下有3个应用,分别对应7001,7002,7003

/home/weblogic/Oracle/Middleware/user_projects/domains

/base_domain/servers/ManagedServer7001  

(上面这2行是不是2个路径,是一个路径,太长了CSDN显示不出来,下同


/home/weblogic/Oracle/Middleware/user_projects/domains

/base_domain/servers/ManagedServer7002/stage



/home/weblogic/Oracle/Middleware/user_projects/domains

/base_domain/servers/ManagedServer7003/stage


由于7001是主控,在/home/weblogic/Oracle/Middleware/user_projects/domains

/base_domain/servers/ManagedServer7001

目录下没有stage目录

其他一台服务器有2个应用,分别对应7004,7005,,在

/home/weblogic/Oracle/Middleware/user_projects/domains

/base_domain/servers/ManagedServer7004/stage


/home/weblogic/Oracle/Middleware/user_projects/domains

/base_domain/servers/ManagedServer7005/stage


在上述路径的stage文件夹下,存放的文件就是从主控7001分发过来的应用。

Eclipse中配置Weblogic插件

WebLogic-Eclipse插件设计用于从Eclipse IDE运行 WebLogic Server。借助WebLogic Server插件,可以从Eclipse中启动和停止WebLogic Server,可以通过 Eclipse调试WebLogic Server中部署的应用程序。在Eclipse中安装WebLogic插件,并在Eclipse中设置服务器类路径和JVM选项后,即可通过Eclipse IDE配置和管理WebLogic Server。  概述

  J2EE开发人员经常需要管理WebLogic Server并调试WebLogic Server上部署的应用程序。WebLogic Server管理控制台虽然能够启动和停止WebLogic Server,却不能设置JVM选项和服务器类路径。必须使用startWebLogic脚本来设置JVM选项和服务器类路径。而要调试WebLogic Server上部署的应用程序,则需要带远程调试器的IDE。有了WebLogic插件后,就可以通过Eclipse ID;E管理WebLogic Server

  安装准备

  下载并安装Eclipse 3.3 IDEwww.eclipse.org

  下载并安装Weblogic Server Plugin for Eclipsehttps://eclipse-plugin.projects.dev2dev.bea.com/

  安装WebLogic-Eclipse插件

  现在安装WebLogic-Eclipse IDE,安装此IDE插件有两种方法,第一种:通过Eclipse菜单的Find and Install来进行安装,另一种方法可通过links方法来安装!第一种:通过Find and Install来安装;在Eclipse IDE上,选择Help>Software Updates>Find and Install,将显示Install/Update窗体。选择Search for new features to install,然后单击Next按钮。在显示的Install窗体中,单击New Remote Site按钮指定要从其安装插件的更新Web站点。在New Update Site窗体中,指定名称和安装WebLogic-Eclipse插件的URLWebLogic-Eclipse插件的URL是 https://eclipse-plug-in.projects.dev2dev.bea.com/update。这样便添加好了更新站点配置。在用于EclipseWebLogic的复选框中选择"Sites to include in search",然后单击Next按钮。在Install窗体的功能区选择WebLogic-Eclipse Feature,然后单击Next按钮。

  选择许可条款并单击Next按钮。在Install location窗体中指定将安装WebLogic-Eclipse插件的目录。单击Finish按钮完成WebLogic插件的配置。在显示的JAR Verification窗体中,单击Install按钮安装WebLogic-Eclipse插件。重启Eclipse工作台完成插件安装。现在WebLogic-Eclipse插件便安装在 Eclipse IDE中了。Eclipse中新添了Run>Start WebLogicRun>Stop WebLogic两个功能。

        第二种:通过links方式来进行安装,首先先要将Weblogic Server Plugin for Eclipse插件下载下来,下载地址如上已提供,下载后可进行解压缩,通过links方式进行安装!Eclipse基础--使用links方式安装Eclipse插件 
eclispe想必大家都很熟悉了,一般来说,eclipse插件都是安装在plugins目录下。不过这样一来,当安装了许多插件之后,eclipse变的很大,最主要的是不便于更新和管理众多插件。用links方式安装eclipse插件,可以解决这个问题。 
当前配置eclipse3.0.1 

现在假设我的eclipse安装目录是D:/eclipse,待安装插件目录是D:/plug-in ,我将要安装LanguagePackFeature(语言包)、emf-sdo-xsd-SDKGEF-SDKLomboz这四个插件。 

先把这四个插件程序全部放在D:/plug-in目录里,分别解压。如Lomboz3.0.1.zip解压成Lomboz3.0.1目录,这个目录包含一个plugins目录,要先在Lomboz3.0.1目录中新建一个子目录eclipse,然后把plugins目录移动到刚建立的eclipse目录中,即目录结构要是这样的:D:/plug-in/Lomboz3.0.1/eclipse/plugins 

Eclipse 将会到指定的目录下去查找 eclipse/features 目录和eclipse/plugins 目录,看是否有合法的功能部件和(或)插件。也就是说,目标目录必须包含一个 /eclipse 目录。如果找到,附加的功能部件和插件在运行期配置是将是可用的,如果链接文件是在工作区创建之后添加的,附加的功能部件和插件会作为新的配置变更来处理。 


其它压缩文件解压后若已经包含eclipse/plugins目录,则不需要建立eclipse目录。 

然后在 eclipse安装目录D:/eclipse目录中建立一个子目录links,在links目录中建立一个link文件,比如 LanguagePackFeature.link,改文件内容为 path=D:/plug-in/LanguagePackFeature 即这个link文件要对应一个刚解压后的插件目录。 

说明: 

 1. 插件可以分别安装在多个自定义的目录中。 

 2. 一个自定义目录可以安装多个插件。 

 3. link文件的文件名及扩展名可以取任意名称,比如ddd.txtmyplugin都可以。 

 4. link文件中path=插件目录的path路径分隔要用//或是

 5. links目录也可以有多个link文件,每个link文件中的path参数都将生效。 

 6. 插件目录可以使用相对路径。 

7. 可以在links目录中建立一个子目录,转移暂时不用的插件到此子目录中,加快eclipse启动。 

8. 如果安装后看不到插件,把eclipse 目录下的configuration目录删除,重启即可。 

注意:
如果打开eclipse (301). window->prefences里面,看不到lomboz的选项
那说明可能没有先安装emf-sdo-xsd-SDK-2.0.1.zip这个插件,需要下载这个插件解压后按上述links方式安装,然后再直接把Lomboz解压在Eclipse/plugins目录下,然后把eclipse 目录下的configuration目录删除,重启即可。 

emf-sdo-xsd-SDK-2.0.1.zip,下载地址http://download.eclipse.org/tools/emf/downloads/drops/2.1.0/I200410220709/emf-sdo-xsd-SDK-I200410220709.zip 

注:另外对于link方式安装的插件(比如语言汉化包),想通过启动参数来达到不引用安装的插件时,可以在启动参数中加如下参数即可. -nl en_US(zh_CN表示中文). 

配置WebLogic-Eclipse插件

  安装了WebLogic-Eclipse插件后,我们将在Eclipse IDE中配置该插件。首先,创建一个用于配置WebLogic插件的项目。选择File>New>Project。在New Project窗体中选择Java>Java Project,然后单击Next按钮。在Create a Java project窗体中指定项目名称,然后单击Next按钮。在Java Settings窗体中为项目添加源文件夹。单击Add Folder按钮。在New Source Folder窗体中指定文件夹名称。出现一个消息窗体提示设置bin文件夹作为构建输出文件夹。接下来,添加项目所需的库。示例应用程序需要在类路径中添加J2EE JAR。选择Libraries选项卡,然后单击Add External JARs按钮。

  为项目添加J2EE 1.4 j2ee.jar文件。1.4 j2ee.jar将在项目库中列出。单击Finish按钮完成项目配置。这样便将一个项目添加到Eclipse IDE Package Explorer视图中。

  接下来指定WebLogic Server配置。选择Window>Preferences。在出现的Preferences窗体中,选择WebLogic节点。在WebLogic preference页面,点击Add按钮后,选择要配置的WebLogic Server版本。指定不同的字段值,如下图以及表所示。由于安装服务器和配置域的目录不同,值也有所不同。单击Apply按钮应用指定的值。

1 WebLogic-Eclipse插件

字段 描述 值 BEA Home BEA安装目录 E:BEA WebLogic Home WebLogic Server安装目录 E:BEAweblogic81 Domain Name WebLogic域 mydomain Domain Directory WebLogic域目录 E:BEAuser_projectsdomainsmaydomain Server Name WebLogic Server名称 myserver User 用于登录WebLogic Server的用户 weblogic Password 用于登录WebLogic Server的密码 weblogic Hostname WebLogic Server主机名称 localhost Port WebLogic Server端口 7001

  如果必须向服务器类路径添加JAR文件,请选择WebLogic>Classpath节点。可以在添加WebLogic库之前或之后添加JAR/Zip文件或目录。在本例中只加入WebLogic启动前库文件(weblogic.jarwebservices.jar两个jar文件即可).

       然后选择WebLogic>JavaVM Options节点指定JavaVM选项。例如,修改weblogic.ProductionModeEnabled属性。将属性值设置为false可使用开发模式启动服务器。单击Apply按钮应用JavaVM选项。(本例中参数为:-ms64m -mx64m -Djava.library.path="E:/bea/weblogic81/server/bin" -Dweblogic.management.discover=false -Dweblogic.ProductionModeEnabled=false)

  在此注意,weblogic8.0以上使用的jre必须为jdk版本1.42的版本,此jdk版本可以直接使用weblogic自带的即可。

        接下来,指定要使用WebLogic Server配置进行调试的项目。单击Add按钮,选择要添加到插件配置的项目。若要调试某个项目,该项目必须位于插件配置中。单击OK按钮。

  这样便将选择的项目添加到项目列表中了。单击Apply按钮,然后单击OK按钮,使用项目和WebLogic Server完成WebLogic插件的配置。

然后通过Eclipse菜单中的 Windows -> Show View -> Other 

  在最下面可以看到WebLogic分类下面有WebLogic Servers菜单项,选择并打开它。  这样可以在这里进行启动、停止WebLogic Server等操作。

选中WebLogic 下的 Project节点,并进行如下参数的设置

  Project added to the end of the classpath,通过Add按钮,可以选择你所要加载的项目,这样所选中的项目里所有的类库量也会自动地加进来的,不过它的加载顺序是在Classpath的最后面。启动WebLogic服务器

在打开的视图中,右键,选择Start就可以启动WebLogic Server

  启动成功。  在这里也可以进行增加其它WebLogic Server的配置,

  修改WebLogic Server的配置

  删除WebLogic Server的配置

  也可以查看相应的帮助文档

  打开WebLogic Plugin的帮助文档进行查阅。  停止WebLogic服务器

在打开的视图中,右键,选择Stop就可以停止WebLogic Server

  部署、重新启动、停止应用程序   部署应用:只能通过浏览器去部署新的应用,没有找到这里可以直接进行部署的地方。  重新启动:假如我们通过浏览器或其它控制端部署了一个Web Application上去了。  这时,通过插件停止WebLogic,再启动它后,双击展现Web Appplication Modules,可以在下面看我们部署上去的应用了。不过,而慢进行停止再启动。  可以直接通过插件提供的刷新功能就会把部署上去的模块展现出来,

  这时,要重新启动应用程序的话,只要在应用名称上面右键,在弹出的菜单中选择Redeploy即可重新部署应用了,速度很快的。

  删除应用程序的话,只要在应用名称上面右键,在弹出的菜单中选择Undeploy即可删除应用了,模块名称立马消失,速度很快的,要重新部署又得通过浏览器或其它控制端来完成了。

  总结   此插件的功能给予我们方便地集成EclipseWebLogic的开发使用,提高了效率。

       

  开发和调试WebLogic应用程序

  配置了WebLogic插件后,将开发一个J2EE应用程序在WebLogic Server中进行部署和调试。示例J2EE应用程序由Session EJB和客户端servlet组成。可从资源zip文件中获取该 J2EE应用程序(关于本文的源代码,可在线查看WLDJ归档文件中的文章 http://wldj.sys-con.com/read/issue/archives/Vol. 5iss. 2)。将资源zip文件提取到目录。在上文中配置的Eclipse项目EclipseWebLogic中,选择File>Import导入J2EE应用程序的src目录。在Import窗体中,选择File System节点,然后单击Next按钮。在File system窗体中,选择directories/files添加项目,然后单击Finish按钮。  这样便将示例J2EE应用程序文件添加到项目中。使用Ant build.xml文件构建项目。右键单击build.xml,选择Run>Ant Build即可构建J2EE应用程序并将其部署在WebLogic Server应用程序目录中。接下来,选择Run>Start WebLogicEclipse IDE中启动WebLogic Server。这样便将Session EJB/Servlet应用程序部署在 WebLogic Server中,如应用程序节点所示。

  在浏览器中输入URL http://localhost:7001/weblogic/webLogicPlug-in运行WebLogicServlet。 servlet的输出将在浏览器中显示。接下来向客户端servlet添加一个异常(NullPointerException),以验证WebLogic插件的调试功能。在WebLogicServlet servlet中将:

  out.println(sessionEJB.getEclipsePlug-in());

  替换为:

  String str=null; out.println(str.toString());

  选择Run>Add Java Exception Breakpointservlet添加一个断点。在Add Java Exception Breakpoint窗体中,选择NullPointerException。删除之前构建的目录并使用build.xml构建应用程序。选择Debug perspective。在Debug perspective可以看到WebLogic Server正运行在localhost主机中。

  在浏览器中运行示例servlet(NullPointerException)。因为servlet带有异常,所以服务器被中断,并且Debug perspective显示NullPointerException。使用Run菜单项中的调试功能可以调试应用程序。

  结束语

  综上所述,使用WebLogic插件可以通过Eclipse IDE管理WebLogic Server,还可通过Eclipse IDE调试服务器中部署的应用程序。WebLogic插件的局限性在于不支持JSP调试。该插件的2.0版本将有更多功能。

Weblogic 解析JSP出现This attribute is not recognized.错误



最近碰到一个奇怪的问题,在tomcat中能够正常显示的页面,跑到weblogic中解析的时候出错,提示This attribute is not recognized.

发现weblogic对嵌套标签的使用要求更加严格。对于在标签属性中嵌套jspscriptlet代码时,引号必须单、双引号配对使用。

例如:

<c:out value=”<%=node.findAttribute(“name”) %>”/>代码在tomcat中能够正常解析,但是在weblogic中就会出错。

正确的写法应该是:<c:out value=’<%=node.findAttribute(“name”) %>’/>,在外面使用单引号

出现这样的情况,主要还是开发的时候为了便利,使用tomcat,在服务器上做每日集成的时候也没有使用了tomcat,但是客户部署时使用的是weblogic,由于开发环境和最终环境不一致,但是问题直到部署时才发现。为了避免这样的问题再次出现,至少需要在每日集成时使用最终部署相同的环境,尽早暴露问题。

WEBLOGIC SERVER的关闭和启动

weblogic 关闭和启动

1、 使用 Xmanager Enterprise或ssh 等工具登陆Linux 或unix机器上

找到weblogic安装目录 如:/bea/user_projects/domains/自己建的域名

2、进入目录执行下列命令后台启动weblocgic

nohup ./startWebLogic.sh >out.log 2>&1 &

该命令后台启动weblogic,并且把运行日至放到当前目录out.log文件里,并且返回一个进程号

3、停止后台weblocgic进程

在上述domain目录里执行以下命令停止weblogic

# ./stopWebLogic

用ps -ef|grep java查找进程看是否停掉

一般情况很难关闭,需要杀掉后台进程(经常这样)

查看后台weblogic进程 或者利用上面启动时返回的进程号

ps -ef|grep java 如:

root 123456 2346546

root 1346464 64646464

杀后台进程 :#kill -9 1346464(返回的进程号)

有的操作系统用线程模拟进程,在部分linux操作系统下面,wenlogic进程表现为多线程,这样的话需用脚本杀死weblogic多线程

#ps -ef|grep java |awk '{printf "kill -9 " $2}' >killjava

#sh killjava

即可杀死weblogic的java进程,但是执行时要注意该机器是否还有其他java进程运行,小心错杀,造成其他应用down机。




  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 程序猿惹谁了 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值