分类:
Java
开发运维环境
标签:
Weblogic
jndi
数据源
一般来说我们都是在应用程序里面配置jdbc数据源,因为这样可以脱离web服务器的设置,比较容易移植,但是也有情况使我们必须使用web容器配置数据源,例如如果要用的多个数据库时,在中间件中配置数据源就比较方便。
先讲下如何在weblogic中配置数据源,以weblogic9.3.2为例。启动weblogic,进入console页面, 在左侧Domain Structure面板选择Services,然后选择jdbc—-Data Sources,在这里将会显示现有的所有数据源,点击页面左上角的Lock&Edit,然后点New来新建一个数据源,Name跟JNDI Name由用户命名,一般用相同的,如test,Database Type则是选择你要连接的数据库类型,驱动会自己帮你选择,一般不用做修改。接下来的,用户都应该很熟悉,无非是ip地址,sid,用户名密码等。完成后将在DataSource列表里看到刚新建的数据源,jndi name就是我们待会再Spring中要用到的。在数据源configuration–connection poo
......
分类:
开发运维环境
标签:
Weblogic
包冲突
ModuleException
weblogic.application.ModuleException: at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:891) at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:333) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60) Truncated. see log file for complete stack
......
分类:
Java
开发运维环境
标签:
Weblogic
antlr
ClassicQueryTranslatorFactory
factory里面可以配置hibernate.query.factory_classs
hibernate3
HqlToken
包冲突
weblogic10以上的版本跟hibernate3中的antlr.jar冲突,冲突的原因网上已经有很多解释,方案也有很多,我测试了多种,只有一种成功了,不知道他们怎么成功的,现将我成功的方法分享给大家。
修改hibernate配置文件。因为我是使用的jpa,在我的applicationContext.xml里面以前配了这么一个entityManagerFactory
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="jpaVendorAdapter"&
......
分类:
开发运维环境
标签:
Weblogic
linux
最近因为服务器很多人并发访问,压力剧增,天天报警,领导决定更换web应用服务器,由以前的32位的2003换成64位的linux。初步决定系统用red hat5.6,weblogic10.3.3,让我先测试应用是否兼容。大家都知道java是跨平台的,理论上从windows换linux是没问题的,为了稳妥起见,还是做下测试部署好。于是我在我自己机上搭了一个虚拟环境进行测试,以下则是遇到的一些问题,以及解决方案。
首先我在电驴下面下了个red hat5.6服务器版,上面版本比较多,比较杂,下的是32位,因为我的机不支持64位,文件名是[红帽企业Linux.5.6].rhel-server-5.6-i386-dvd.ISO,大家有兴趣的话,可以去电驴里面下ed2k://|file|%5B%E7%BA%A2%E5%B8%BD%E4%BC%81%E4%B8%9ALinux.5.6%5D.rhel-server-5.6-i386-dvd.iso|3188559872|adcbbf2a2bfa49b4fcd73d9445352b0e|h=fw2m46jbxoykhxopsiq
......
分类:
开发运维环境
标签:
Weblogic
JBoss
内存占用
JBoss:打开JBoss安装目录下的bin目录,找到run.bat或run.sh,找到下面一行:
set JAVA_OPTS=%JAVA_OPTS% -Xms512m -Xmx1536m -XX:MaxNewSize=256m -XX:MaxPermSize=128m
按照自己需求修改就行了。
Weblogic:1、修改某个单独域的内存占用大小,以base_domain为例,打开C:\bea\user_projects\domains\base_domain\bin目录下的setDomainEnv.cmd或setDomainEnv.sh,找到下面几行,按需修改:
set MEM_ARGS=-Xms256m -Xmx512m
if “%JAVA_VENDOR%”==”Sun” (
if “%PRODUCTION_MODE%”==”” (
set MEM_DEV_ARGS=-XX
......
分类:
开发运维环境
标签:
Weblogic
控制台慢
Weblogic进入控制台特别慢实际上是JVM在Linux下的bug,他想调用一个随机函数但取不到
暂时的解决办法是
1)较好的解决办法: 在Weblogic启动参数里添加
“-Djava.security.egd=file:/dev/./urandom” (/dev/urandom 无法启动)
2)最差的解决办法: 执行命令 mv /dev/random /dev/random.ORIG ; ln /dev/urandom /dev/random
将/dev/random 指向/dev/urandom
3)最好的解决办法: 修改Linux上Weblogic使用的jdk $JAVA_HOME/jre/lib/security/java.security 文件
将securerandom.source=file:/dev/urandom 修改为
securerandom.source=fi
......
分类:
开发运维环境
标签:
Weblogic
threadpool
线程数
一、背景
最近负责做一个平台的poc测试,性能测试要求测试1000并发下平台的表现,web服务器采用的是weblogic,版本是11g,10.3.6,所有操作都是基于这个版本(因为以前修改线程数的操作有些基于这个版本不能生效)。在LoadRunner压1000并发下,发现应用表现并不好,响应时间明显增加。
二、分析
监控服务器资源,发现集群平台服务器负载并不高,而web应用服务器负载同样也不高,服务器性能并没达到瓶颈。进入weblogic控制台,查看线程池,发现在压1000并发的时候,请求积压队列明显较多,而线程数只有50左右。说明一下,weblogic产品模式下,默认初始线程数为25,开发模式下好像是15,weblogic11g采用的是自调整线程池,看名字就可以猜出,他会根据应用情况自动增加减少线程数,而实际情况下,在压力增大的情况下,weblogic也确实增加了线程数,但是增加的线程数不足以应付该需求,于是自然而然地想到了增加线程数。
三、解决
weblogic11g已经不支持在控制台修改线程数
......
分类:
开发运维环境
标签:
Weblogic
-Xnoopt
dump
Illegal memory access
jrockit
optimized
代码优化
服务器挂起
前天生产环境又挂了,幸好是下班时间,用的人不多,现场实施马上重启了。最近不忙,于是仔细分析了下日志文件,以前都没认真处理过,都是重启完事。生产环境用的redhat5.6,weblogic10.3,现在认真回查以前的日志文件,发现原来生产环境长的时候100多天,短的时候30多天就会挂一次,汗,原来这个问题这么严重,更加要重视。
开始网上查找资料,翻阅书籍。在《Weblogic 企业级运维实战》一书中找到了相关有用的信息。在常规的服务器挂起中有一项是“代码优化中服务器挂起”,见P164原文“ 这个模式比较简单,顾名思义,当JVM在进行代码优化时,比如JIT编译时,会占用大量的cpu资源,有时对外表现为暂时没有响应。一般情况下,优化做完了服务器即能自动恢复正常,所以这种情况顺其自然就可以,没有特别刻意地去处理。”而实际上,每次我们的代码优化都导致了JVM崩溃,无法自动恢复服务。既然这样,那么能不能禁用代码优化呢。答案是肯定的,书上也给出了答案。p216本地内存OOM解决方法:JVM如果使用本地内存,可能会发生运行时类加
......
分类:
Flex
标签:
crossdomain.xml
Weblogic
跨域
Flex跨域问题很常见,网上有很多解决办法,最常见的就是配置crossdomain.xml文件,要求这个文件在服务器根目录能访问到(其实并不是一定要根目录,如果不是根目录,flex应用程序访问时得手动配置加载跨域安全文件,网上也有方法,但是我未能测试成功,所以这里就不说了)。如果是tomcat,很简单,只需要把这个文件放到webapps根目录下即可。但生产环境很少会是用tomcat的,我们基本上都是用weblogic,个别系统使用绑定的jboss。怎么把crossdomain.xml文件放到weblogic根目录,网上也有,我整理了一下,测试通过,现在把工程放上来,您可以直接下载使用。