Tomcat移植到webLogic问题及解决方法

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

  Tomcat移植到webLogic问题及解决方法.doc(50校招生网)

问题一:hibernate3与weblogic冲突

报错内容:

org.springframework.orm.hibernate3.HibernateQueryException:ClassNotFoundException:org.hibernate.hql.ast.HqlToken [SELECT ztId,ztCname FROM AzyZtEntity WHERE z
tEflg=0]; nested exception is org.hibernate.QueryException: ClassNotFoundExcepti
on: org.hibernate.hql.ast.HqlToken [SELECT ztId,ztCname FROM AzyZtEntity WHERE z
tEflg=0]

错误原因:

在hibernate3中需要用到antlr,然而这个包在weblogic.jar中已经包含了antrl类库,就会产生一些类加载的错误,无法找到在war或者ear中的hibernate3.jar。

出现这个错误之后,antlr会调用System.exit(),这样weblogic就会中止服务。

解决方法:

第一步:将项目WEB-INF\lib下的antlr-2.7.5H3.jar复制到weblogic安装目录

\bea\wlserver_10.0\server\lib下。

第二步:\bea\user_projects\domains\base_domain\bin下找到startWebLogic.cmd,添加成下面的内容:

set PRE_CLASSPATH=%WL_HOME%\server\lib\antlr-2.7.5H3.jar

set CLASSPATH=%SAVE_CLASSPATH%

set CLASSPATH=%PRE_CLASSPATH%;%CLASSPATH%

注意:第二行为文件原本内容,在它上面加入第一行内容(jar包名要与之前添加的jar包名称一致),下面加入第三行内容。

 

问题二:jomiweblogic冲突

报错内容:

org.objectweb.carol.jndi.spi.MultiOrbInitialContextFactory [Root exception is java.lang.ClassNotFoundException: org.objectweb.carol.jndi.spi.MultiOrbInitialContextFactory]

错误原因:

ow_carol.jar包加载时没有找到其配置文件。

解决方法:

复制carol.properties、jndi.properties、jotm.properties等配置文件到项目src目录下

carol.properties内容如下:
# rmi activation (iiop, irmi, jrmp)
carol.protocols=jrmp

# RMI IRMI URL
carol.irmi.url=rmi://localhost:1099

# RMI JRMP URL
carol.jrmp.url=rmi://localhost:1099

# RMI IIOP URL
carol.iiop.url=iiop://localhost:1196

######################################################################
#             AdvancedConfiguration for JRMP
######################################################################
# If true, local call with jrmp are optimized. If you get"ClassCastException
# with 2 beans in different jars, you should set it at "false".
carol.jvm.rmi.local.call=false

# If true a local Naming context is used (to be used only with a collocatedregistry)
carol.jvm.rmi.local.registry=false

# 不使用CAROL的JNDI封装器

#让JOTM不使用CAROL JNDIwrapper,从而可以避免类装载错误的发生。
carol.start.jndi=false

#不启用命名服务器
carol.start.ns=false

# 命名工厂类
carol.jndi.java.naming.factory.url.pkgs=org.apache.naming

jndi.properties内容如下:

#LDAP JNDI配置
# Sample Application Resource File for use with AppList, GetEnv examples.
#java.naming.factory.object=com.sun.jndi.ldap.AttrsToCorba:com.wiz.from.Person
#java.naming.factory.state=com.sun.jndi.ldap.CorbaToAttrs:com.wiz.from.Person
#java.naming.factory.control=com.sun.jndi.ldap.ResponseControlFactory
#java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory
#java.naming.provider.url=ldap://localhost:389/o=jnditutorial
#com.sun.jndi.ldap.netscape.schemaBugs=true

#WEBLOGIC JNDI配置

#JNDI工厂
java.naming.factory.initial = weblogic.jndi.WLInitialContextFactory

#URL

java.naming.provider.url =t3://localhost:7001

#用户名

java.naming.security.principal = weblogic

#密码
java.naming.security.credentials = weblogic

jotm.properties内容如下:

#------------------------------------------
# Jotm properties
#
# see: org.objectweb.howl for description of
# howl properties.
# ------------------------------------------
jotm.recovery.Enabled           false
jotm.appserver.Enabled          false
howl.log.ListConfiguation        false
howl.log.BufferSize             4
howl.log.MinimumBuffers         16
howl.log.MaximumBuffers         16
howl.log.MaximumBlocksPerFile    200
howl.log.FileDirectory          c:/logs
howl.log.FileName               howl
howl.log.MaximumFiles           2

问题三:如何修改WebLogic10.3端口号

第一种方法:

<listen-port>7007</listen-port>

<listen-address></listen-address>

在工作空间路径\user_projects\domains\base_domain\config下的config.xml中找到上面第二行<listen-address></listen-address>,在上面加入第一行蓝色标签,端口号设置为你想要的就可以。

第二种方法:

http://localhost:7001/console下进入

Home >WebRoot >Roles >WebRoot >base_domain >Summaryof Deployments >

WebRoot >Roles >WebRoot >base_domain >AdminServer

修改Listen Port项的值,保存即可。

问题四:如果使用WebLogic10.3配置数据源

手动配置

(1)进入http://localhost:7001/console/

(2)点击Data Sources 。

(3)点击 New。

(4)填写名称等信息。注意数据库驱动的选择。

(5)默认下一步即可。


50校招生网 http://www.50xiao.com 

(6)填写数据库信息。

(7)验证数据库连接。点击Test Configuration 后上面会有提示是否连接成功的信息。

(8)选择 AdminServer 后点击Finsih 完成即建立一个名称为JDBC/MyDataSources的连接。

设置连接属性:

(1)点击Data Sources 。

(2)点击需要设置的连接名称 JDBC/MyDataSources

(3)点击Connection Pool 选项卡。

(4)连接属性参数说明:

  • Initial Capacity:创建连接池时所创建的数据库连接的数目。
  • Maximum Capacity: 连接池中连接的最大数目。
  • Capacity Increment: 连接池容量在最大容量限制范围内的增量。

(5)其他属性参数说明:

  • LoginDelay: 在创建每个物理数据库连接之前要延迟的秒数。
  • Allow Shrinking: 将该项设置为true时,如果没有使用额外的连接,则允许连接池把容量减小到InitialCapacity。
  • Shrink Frequency: 在减小连接池容量之前要等待的秒数。如果将Shrink Frequency设置为true,那么也必须将Allow Shrinking设置为true。
  • Test Frequency: 数据库连接测试之间间隔的秒数。在每个Refresh Period时间间隔之后,如果设置了TestTableName,就会使用TestTableName测试未使用的数据库连接。
  • Test Reserved Connections: 如果选择了这个选项,服务器会在把连接提供给客户端之前对其进行测试。
  • Test Created Connections: 如果选择了这个选项,就会在创建一个JDBC连接之后和在把它添加到JDBC连接池中的可用连接列表之前,对该JDBC连接进行测试。
  • Test Released Connections: 如果选择了这个选项,服务器就会在把连接返回给连接池之前对其进行测试。
  • Test Table Name: 用于JDBC连接测试的数据库表名。如果指定了Test Frequency,并且选择了Test Reserved Connections、Test Created Connections或Test Released Connections,则Table Name是必需的。

(6)根据需要设置即可。

Spring配置Weblogic数据源

(1)一个数据源配置

<beanid="dataSource"class="org.springframework.jndi.JndiObjectFactoryBean">

        <property name="jndiName">

            <value>jdbc/dataSourceName</value>

        </property>

</bean>

value值即为weblogic中配置的数据源名称。

(2)两个数据源配置

<beanid="dataSource"class="org.springframework.jndi.JndiObjectFactoryBean">

        <property name="jndiName">

            <value>jdbc/dataSourceName</value>

        </property>

</bean>

   

<beanid="dataSource2"class="org.springframework.jndi.JndiObjectFactoryBean">

        <property name="jndiName">

            <value>jdbc/oa</value>

        </property>

</bean>

value值即为weblogic中配置的数据源名称。

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

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值