[转帖]weblogic常见问题解决办法及注意事项_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4075 | 回复: 0   主题: [转帖]weblogic常见问题解决办法及注意事项        下一篇 
lxk
注册用户
等级:上尉
经验:547
发帖:109
精华:0
注册:2011-8-18
状态:离线
发送短消息息给lxk 加好友    发送短消息息给lxk 发消息
发表于: IP:您无权察看 2011-11-3 13:38:07 | [全部帖] [楼主帖] 楼主

常见问题解决办法及注意事项   
序号 问题描述 解决办法 提供人
1 Weblogic 启动前设定用户和口令 修改mydomain文件夹中weblogic.cmd中set wls_user和set wls_pw两项 
2 Struts1.1下生成的jsp页面中Taglib引用错误 修改project property,将required Liberary中的Struts全部删除,同时增加Struts1.1 
3 浏览器端如果知道jsp页面的路径,可以直接输入路径访问页面,而避开登陆页面的检查 将除login和index之外的所有页面放在WEN-INF目录中,浏览器不能直接访问该目录下的页面,只能通过链接的方式进行访问 
4 如何使用war文件 "1、tomcat:将.war文件放置到应用服务器的发布路径下即可以直接访问。
2、weblogic:将.war文件解压后放到user_project\mydomain\applications下即可" 
5 在Struts中如何应用资源文件 设置Struts-config.xml中message resource,将指定的资源文件映射为一个key值,在页面中通过Struts Tag就可以访问该资源文件,访问方式如下<bean:message key="jl.checkman" bundle="jl"/>,其中key参数表示资源文件中的键值,bundle参数表示资源文件对应的key值。注意:设置资源文件时应去掉资源文件的后缀。 
6 如何配置log4j "JB中配置:1、在config server 中修改weblogic的启动参数,增加下述语句-Denvironment.defaultroot=""D:\enviroment\defaultroot""
                    2、在config library中将jar文件加载入JB,然后设置project属性,将该library加载入project
                    3、修改log4j-config.properties,添加log4j.appender.R.File=D:/enviroment/defaultroot/WEB-INF/logs/environment
WebLogic中配置:1、修改startweblogic.cmd,设置启动参数,添加set JAVA_OPTIONS=-Denvironment.defaultroot=D:\environment\defaultroot
                                2、修改startWLS.cmd,修改classpath,在set classpath中加入log4j.jar文件的完整路径
                                3、修改server/lib/weblogic.policy,添加permission java.util.PropertyPermission ""org.modern.enviroment.default"",""read"";" 
7 通过实体bean生成会话门面模式之后,实体bean无法删除问题 "首先在实体bean本地组件接口中增加ejbRemove函数,使其和实现类中空的ejbRemove函数对应起来。
然后修改会话门面的实现类,在其remove方法中调用实体bean组件接口的ejbRemove方法。" 
8 Jbuilder和SQL Server2000建立JDBC连结后只能得到table而无法得到column "将$/05.HJ0319(环境信息管理系统)/2.Engineering Area/source_code/library/sql2000forjdbc中的msbase.jar,mssqlserver.jar,msutil.jar三个文件get到本机。
1、config liberary中将上述三个jar文件添加到user home中一个新建的liberary中,如sql
2、将sql添加到project的required liberary中
3、Tools-->Enterprise Setup-->Database Drivers-->Add,加入User Home/sql,然后重新启动JBuilder
4、数据库连结的配置如下:

 driver:com.microsoft.jdbc.sqlserver.SQLServerDriver
url:jdbc:microsoft:sqlserver://exchange:1433;DatabaseName=mo_env
database name:microsoft:sqlserver://exchange:1433;DatabaseName=mo_env"


9 Session Bean引用local接口时,会出现remove不成功 问题主要是由于xxxHome.remove(xxx)引起的,解决办法是用xxx.remove代替,但是要判断xxx != null 
10 EJB数据类型和数据库数据类型的匹配问题:decimal(x.x) 主要取决于数据的精度和范围,数据库整型使用相应整型,浮点数精度7位以内用float,15位以内用double 
11 条件可空的EJBql写法例子 "where ( ?1 = -1 or ci.year =?1)

and (?2 = -1 or ci.month >= ?2)
and (?3 = -1 or ci.month <= ?3)
and (?4 = """" or ci.districtCode >= ?4)"


12 EJBql where子句的问题 等号需要用空格分开 
13 生成session Bean的测试类后测试出现如下错误:java.lang.NoClassDefFoundError: org/apache/log4j/Logger 原因是在Weblogic中没有配置log4j的jar文件,具体配置方法参见第6行。 
14 数据库中的自动增长列在cmp bean中无法保存 "1.首先根据数据库生成cmp bean,
2.在jbuilder左边的EJBdesigner中双击新建的cmp bean
3.在弹出的界面上选择[weblogic 7.x General]Tab页
4.修改[automatic key generation]部分的内容
5.保存,编译,重新部署EJB" 
16 如何在多个ejb.jar中相互引用ejb? "1. 如果是引用local接口,则需要把相互引用的ejb所在的jar文件打包成一个ear文件,在wjb-jar.xml中的<ejb-link > 填写对应的JNDI 名称,同时在weblogic-ejb-jar.xml中的<ejb-local-reference-description>的<jndi-name>填写同样的JNDI 名称
2. 如果是引用remote接口,则不需要把相互引用的ejb所在的jar文件打包成一个ear文件。"
17 如何jbuilder工程中加入ejbdesinger? "1.拷贝xxx.ejbgrpx文件到工程目录.
2.用jbuilder打开工程文件.
3.右击工程,选择add files/packages/classes.
4.选择该工程文件"
18 如何在多个ejb.jar中相互引用ejb?补充 "1、修改ejb-jar.xml时只需修改实体bean的<ejb-local-ref><\ejb-local-ref>中的内容,其中<ejb-ref-name>指定需要引用的EJB的本地引用名字(a),和代码中的应保持一致,<local-home>指定需要引用的EJB的home接口,<local>指定需要引用的EJB的local接口,<ejb-link>指定需要引用的EJB的JNDI Name.
2、修改weblogic-ejb-jar.xml时修改实体bean的<reference-descriptor>,在<ejb-local-reference-description>中指定<ejb-ref-name>为需要引用的EJB的本地引用名字(步骤一中的a),指定<jndi-name>为需要应用的EJB的JNDI Name(和步骤一中的ejb-link值相同)"
19 ejbql中的in语句问题? "错误的使用:

?6 : kind = ""'0','1','2','3','4'""
where c.kind in ( ?6 )


不能带"",""

正确的使用:

?6:kind0
?7:kind1
?8:kind2
/9:kind3
?10:kind4
where ckind in (?6, ?7, ?8, ?9, ?10)
"


20 在运行时出现提示:“String index out of range: 64”或类似错误提示信息 "产生错误的原因:
在资源文件转换成unicode文件时,同一行出现换行所引起。例如:kf.xmgl.xmys.xmcykxx=\u9879\u76ee\u4ea7\u4e1a\u3001\u4ea7\u54c1\u7ed3\u6784\u53e

f\u884c\u6027


解决方法:
删除折行,比如上例中的代码恢复为kf.xmgl.xmys.xmcykxx=\u9879\u76ee\u4ea7\u4e1a\u3001\u4ea7\u54c1\u7ed3\u6784\u53ef\u884c\u6027"
 运行时出现提示:“weblogic.ejb20.cache.CacheFullException” "产生错误原因:
weblogic中max-beans-in-cache  的默认值是1000,当使用cmp entity bean 检索数据库,数据库中符合条件的数据大于1000时就会出现该异常
解决办法:
修改weblogic-ejb-jar.xml中相应bean的<max-beans-in-cache> ,例子如下

<entity-descriptor>
<entity-cache>
<max-beans-in-cache>2000</max-beans-in-cache>
</entity-cache>
...  ...
</entity-descriptor>


在weblogic的控制台修改方法如下:
1、选中已经部署好的相应的Entity Bean,然后编辑其部署描述选项
2、在相应entity descriptor中config a new entity cache,修改max beans in cache 的值
3、然后在EJB包的configuration中选择persist"
 页面的输入域是readOnly的时候设置为true还是不可编辑状态 页面的输入域是readOnly的时候,如果要使这个输入域可以编辑,那么要把readOnly设置为true.注意readOnly的O要大写




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论