JBOSS数据库配置大全
- 格式:docx
- 大小:27.24 KB
- 文档页数:15
将bin文件夹下面的run.bat文件中的set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m改成:set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m -Xss 128k -XX:PermSize=256m -XX:MaxPermSize=256m-Xms128m 初始的java内存堆大小128M-Xmx512m 最大的java内存堆大小512M(最好不要超过物理内存的90%)-Xss 128k 每个线程启动所占内存128kXX:PermSize=256m GC预留的内存,如果你的应用有大量的Class被动态载入或卸载,你应该把这个参数设大些-XX:MaxPermSize=256m 最大的GC预留内存PermGen space的全称是Permanent Generation space,是指内存的永久保存区域。
这一部分用于存放Class和Meta的信息,Class在被Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space 进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。
这种错误常见在web服务器对JSP进行pre compile的时候。
改正方法,在run.bat 中加入:-Xms128m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=256m因为项目中引用了很多的jar 包,而这些jar 包中的class 信息会被JBoss 的class loader 加载到PermGen space 区域,在JVM 默认的情况下,该部分空间的大小只有4M,在jar 包非常多的情况下,显然是不够用的,所以通过-XX:MaxPermSize=256m 指定最大值后即可解决问题。
第六章Jboss数据源的配置以及使用配置数据源的步骤:1.找到JBOSS根目录下(F:\jboss-4.0.5.GA\docs\examples\jca)文件夹,所有数据库数据源配置文件全在这个文件夹下,使用什么数据库就选择什么数据源,我们使用的是MySQL选择的文件是:然后把我们选择的文件放入JBOSS的发布目录(F:\jboss-4.0.5.GA\server\default\deploy)2.把驱动包拷贝到(F:\jboss-4.0.5.GA\server\default\lib)配置mysql-ds.xml文件;打开文件:所需要注意的是:<jndi-name>MySqlDS</jndi-name><connection-url>jdbc:mysql://localhost:3306/EJBDemo</connection-url><driver-class>com.mysql.jdbc.Driver</driver-class><user-name>root</user-name><password>root</password>上面几行代码;特别是数据库名称,红体部分<connection-url>jdbc:mysql://localhost:3306/EJBDemo</connection-url>和JNDI名称,红体部分<jndi-name>MySqlDS</jndi-name>经过上面2步,我们已经成功的把数据源配置起来,下面直接启动JBOSS当控制台打印出:[WrapperDataSourceService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=MySqlDS' to JNDI name 'java:MySqlDS'09:40:12,984 INFO[WrapperDataSourceService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=MySqlDSzyf' to JNDI name 'java:MySqlDSzyf'这些信息的时候我们就可以确定数据源发布成功,它的访问节点是上面红体部分。
Jboss数据源配置总结2 七月, 2009 (23:31) | JBoss, JCA, JTA, Java EE | By: 黎子最近由于需求,JBoss需要同时访问两个数据库,一个主,一个从,主在很远的地方,从在很近的地方,主只写数据,从只读数据,也就是说从只查询,所有数据的更改都要在主上进行。
想想,这只要在JBoss中配置两个数据源,一个read,一个write,持久单元也定义两个,与数据源对应,由于我们代码对EntityManage进行了封装,所以inject两个EntityMnage,一个的持久单元是定义是read,一个是write,在所有数据更新的地方使用write的EntityManage,其它地方使用read就可以了。
但是在配置的过程中还是遇到了不少问题,这些问题都是对 Jboss的数据源的各种配置属性不太了解的原因,所以查查Jboss的资源(Jboss的文档总是写的好简单,大多数情况下只说大概)整理如下。
在 Jboss的docs\examples\jca中有各种数据库的数据源配置模版。
数据源配置文件总是以*-ds.xml文件命名,部署器是jboss- jca.sar中的XSLSubDeployer。
这其中的数据源都使用的是local-tx-datasource定义,平常用的时候也没注意它到底是什么意思,只是简单的修改其中的参数。
*-ds.xml文件中的XML结构如下:mbean定义数据源用到的任何MBean服务,并且这些服务要在jboss-service.xml文件中定义local-tx-datasource这是最常用的(至少我是这样),配置LocalTxConnectionManager服务,该ConnectionManager只支持“本地事务”,确切的说,只支持一个数据源的事务,不支持分布事务,本地不是说数据源指定的数据库在本地,可以在任何地方,但local-tx- datasource不能在一个事务中访问两个数据源,即使这两个数据源配置是一样的。
JBOSS最大连接数配置和jvm内存配置一.调整JBOSS最大连接数.配置deploy/jboss-web.deployer/server.xml文件 .<Connectorport="8080"address="0.0.0.0"maxThreads="1600"minSpareThreads="100"maxSpareThreads="250"emptySessionPath="false"enableLookups="false"redirectPort="8443"acceptCount="800"connectionTimeout="20000"disableUploadTimeout="true"URIEncoding="UTF-8"/>maxThreads:表示最多同时处理的连接数。
应该将线程数(最大线程数)设置比最大预期负载(同时并发的点击)多25%(经验规则)。
acceptCount:当同时连接的人数达到maxThreads时,还可以接收排队的连接。
minSpareThread:指“启动以后,总是保持该数量的线程空闲等待”;设置比预期负载多25%。
maxSpareThread:指“如果超过了minSpareThread,然后总是保持该数量的线程空闲等待”;设置比预期负载多25%。
其中主要修改两个参数maxThreads和acceptCount值。
增加maxThreads,减少acceptCount值有利缩短系统的响应时间。
但是maxThreads和acceptCount的总和最高值不能超过6000,而且maxThreads过大会增加CPU和内存消耗,故低配置用户可通过降低maxThreads并同时增大acceptCount值来保证系统的稳定。
关于JBOSS服务器性能配置说明一、服务器性能配置:1.运行堆扩容设置:找到JBOSS 4.0+安装目录,以<JBOSS>为例;找到<JBOSS>\bin\run.conf文件,搜索并找到这行(一般是在第43行):JA V A_OPTS="-server –Xms128m –Xmx512m …将以上内容修改成:JA V A_OPTS="-server –Xms500m –Xmx1000m -XX:PermSize=200m -XX:MaxPermSize=400m …✓备注:以下四个参数分别含义如下:-Xms:最小运行堆容量;-Xmx:最大运行堆容量;-XX:PermSize:通常运行的垃圾回收(gc)堆容量;-XX:MaxPermSize:垃圾回收(gc)最大堆容量;二、数据库连接池配置:1.找到JBOSS应用程序发布目录,一般为<JBOSS>\server\default\deploy;2.新建一个oracle-ds.xml文件,大致内容如下:<?xml version="1.0" encoding="UTF-8"?><datasources><local-tx-datasource><!—在java环境上下文中可以调用到的资源名称→<jndi-name>PIPM-oracle</jndi-name><!—数据库jdbc连接的URL →<connection-url>jdbc:oracle:thin:@localhost:1521:orcl</connection-url><!—jdbc驱动→<driver-class>jdbc.oracle.driver.oracleDriver</driver-class><!—数据库登录用户名→<user-name>sxpipm_real</user-name><!—数据库登录用户密码→<password>sxpipm_real</password><!—连接池最小连接数→<min-pool-size>5</min-pool-size><!—连接池最大连接数→<max-pool-size>20</max-pool-size><!—闲置连接超时时间分钟数→<idle-timeout-minutes>30</idle-timeout-minutes><!—跟踪数据库操纵记录→<track-statements/><!—预读式数据库操纵缓存容量(kb) →<prepared-statement-cache-size>32</prepared-statement-cache-size></local-tx-datasource></datasources>3.在现有投资计划管理系统中调用以上定义的数据库连接池:在应用程序代码中找到hibernate.properties文件(一般在src目录下或WEB-INF\classes 下);关闭原先的jdbc连接方式配置(条目前面加#符号):# hibernate.connection.url jdbc:oracle:thin:@localhost:1521:orcl# ername sxpipm_real# hibernate.connection.password sxpipm_real启用已配置的数据库连接池(取消条目前的#符号):hibernate.connection.datasource java: PIPM-oraclehibernate.connection.pool_size 20hibernate.statement_cache.size 32hibernate.jdbc.fetch_size 50hibernate.jdbc.batch_size 25至此,数据库连接池已配置完毕;重新启动JBOSS服务器就可以正式启用连接池。
关于jboss的数据库配置花了好长时间,现记录下来,以免以后忘记。
此文件为小组内部传阅。
小强整理。
配置:jboss-4.2.3.GAeclipse-jee-ganymede-SR1-win32数据库:mysql-5.1.28-rc-win32SQL Server 2005SQL Server 2005Oracle10gOracle11g说明:tobeyou**为jboss的安装目录。
1.Jboss连接MySql数据库(1)Tobeyou**\server\default\lib 目录下放置mysql的jdbc驱动。
(2)Tobeyou**\server\default\deploy 目录下修改mysql-ds.xml文件mysql-ds.xml文件可以在\docs\examples\jca文件夹里取得。
里面的文件是相应的一些配置文件模板。
SQL Server ,Oracle的配置模板也在里面取得。
上面说道的<jndi-name>MySqlDS</jndi-name>需要修改其他两个文件的配置Tobeyou**\server\default\conf文件夹下面的login-config.xml和standardjbosscmp-jdbc.xml。
在此2个文件搜索到java:/DefaultDS,修改为java:/ MySqlDS即可。
做持久化时persistence.xml也需要改。
2.SQL Server2000 和SQL Server20051)对于jndi的修改和MySql一样,只是改成相应的名字。
记住3个文件里面的名字要一样。
2)Tobeyou**\server\default\deploy 目录下修改mssql-ds.xml文件3.Oracle10g和Oracle11g1)相应的驱动可以在安装目录下找到11g为**\product\11.1.0\db_1\jdbc\lib10g没装过。
JBOSS JDBC配置1,重要参数说明以下四个参数为必须项:<min-pool-size>10</min-pool-size><max-pool-size>70</max-pool-size><blocking-timeout-millis>5000</blocking-timeout-millis><idle-timeout-minutes>3</idle-timeout-minutes>以下两个选项用于检查DB连接是否可用,会增加数库端的连接数<new-connection-sql>select 1 from dual</new-connection-sql><check-valid-connection-sql>select 1 from dual</check-valid-connection-sql>2,监控数据检查方法检查当前可用连接数、连接使用率:如果连接使用率超过85%,监控系统报警。
3,历史数据检查检查最近一个月的JDBC的使用情况。
在监控中选择“历史数据图”–-> “自动生成历史数据图”-- “最近一个月”。
查看最近一个月的历史数据。
如果出现连续三天连接池使用率超过80%,且该时间段内系统无异常事件发生。
则需要调整数源的连接池大小。
调整的标准:可参考双11.11业务高峰的调整标准:M= N*1.5/0.85调整后的最大值=当前最大值*1.5/0.85查看历史数据:连接使用率:附件数据源配置参考:oracle-ds-example.xml。
Jboss服务器JNDI配置数据源连接数据库一、JboSS端配置JND1数据源Jboss安装目录doc∖examp1es∖jca下有各种如orac1e,db2,Sq1server等数据库JNDI 配置的模板文件,形式为“数据库-ds.xm1",在此我们以配置Orac1e1Og数据库为例:将Jboss_home\docs\examp1es\jca下的orac1e-ds.xm1拷贝到Jboss_home\server\defau1t\dep1oy下,并做相应的修改,主要内容如下:<cocmecιιoa -ur1>jdbc:OreC1e:oci:∙youxox∙c 1β-‰nβ-nane<∕conDectiθQ -ur1>or<coQnectiθA -ur1>]dbC:θs∙c 1∙zoc 1zf<de>crιptico<∙4dr∙4∙-(ho∙t∙yoQrcrtc 1eho>c)(proτ^co 1∙tcp)<porc∙1S21)I (conft∙ct ∂∙c⅛-(SERVicε.SλXE -i∙curwrvχc<M ∣M ∣))<∕coaxιeccιoo -ur1> <!-va1ιd -conoectιon -cħec 1rer-c1a3f1-naHe>org.3bcss.resource,adapter.3dbc.vendor.Orac1eVa1ιdConcectιoaCbecker<∕va 1ιd -coaxιectιoe -cbecker-c1as5-nβBe --><!-Checkstb∙Or∙c 1∙errorco∂∙>∙adOe ”中,fort∙X41∙rrcr∙—><exc€ption -9orter-c1es3-na»e>org.3boes.resource,adapter.3DDC .vendor.Orac1efjiceptionSorte r<∕*xc*pt100-50rter-c1a35-Mxe><!-9q1toca11wheneocaeccιon 1a CZeated<aen8necuce∙g 1xcoe∙rbitr∙ry∙q 1<∕oev -cαmect 1o<j-∙q 1><!-9q1toca11onanexistingpoo1edccnnectιoawħenitisQbMiDedfrακpoo 1-theOraC1eV∙11CICOaDeCtIOnC^CkCrisprefered<cħeck -va11d-cαnnectica -aq1>sceearb1ttttry>qI<∕cħeck -va1id-conDecrιoa ->q1>—><!-CorKtpoQdiDgtyp∙-napp1D9:nth∙>t∙Mardjbo>ιcπ^-}dbc.»1<0pt10A∙1>—><net«data><type-napping<∕oteSaa<∕1ocA1--tx-datβMurce> 1 .JNDI 名的修改<da1asources><1oca1-tx-datasource><jndi-name>Orac1cDS<∕jndi -name><use-java-context>fa1se<∕use -java-context> ............ *(加上这句)*默认的是true,需要添加该行来屏蔽该项,如果不加这个,则JNDI 名格式为java :OracIeDS,屏蔽之后的JND1名即为OraC1eDSO<connec1ion-ur1>jdbc:orac1c:thin:@192.168.100.169:1521:orc11Og<∕connection -ur1>2 .驱动及用户名,密码<driver-c1ass>orac1e.jdbc.driver.Orac1eDriver<∕driver -c1ass><user-name>scott<∕user -name><password>t iger<∕pass word>3 .数据库版本<metadata><type-mapping>Orac1e 1Og<∕type -mapping><∕metadata>二、拷贝数据库驱动程序配置好JND1数据源后还不够,还需要将相应数据库的驱动程序拷贝至Jboss_home\server\defau1t\1ib,在此将orac1e 数据库驱动OjdbC14.jar 拷贝至JboSS_home\server\defau1t\1ib 目录下。
JBOSS数据库配置大全Jboss 4.0的开发人员版本是一个开源的应用服务器,他把HypersonicDB作为他的缺省数据库。
然而,开发人员也许还要使用除了Hyp ersonicDB以外其他种类的数据库,在这篇文章中我们将看到如何在Jboss上配置使用其他的数据库。
简介Jboss4.0使用了JDBC配置文件来配置数据库连接,它为EJB和其它J2EE应用提供了数据源(data source)进行访问。
如果你要使用Hyp ersonicDB以外的数据库你就要修改这雠渲梦募U馄恼陆胖亟步庀旅娴募父霾糠郑?BR> Jboss的EJB部署描述符Oralce数据库的配置MySQL数据库的配置Sysbase数据库的配置DB2数据库的配置Infomix数据库的配置Jboss的EJB部署描述符standardjaws.xml (位于X:\jboss4\server\default\conf )是一个映射CMP实体EJB的标准部署描述文件。
它用于配置CMP实体EJB,你也可以使用jaws.xml代替。
你可以把这个文件copy 到ejb .jar 文件中的META-INF 目录下。
这个文件用于描述下面的信息:描述一个数据源和映射类型。
描述EJB 映射的表描述EJB 的finder 方法描述类型映射这里的数据源描述的是一个JNDI 名称,可以通过这个JNDI 来获得一个数据源连接池。
Jboss4 缺省的数据源使用的是HypersonicDB 。
如果使用其他的数据源你需要修改jaws.xml 文件。
standardjbosscmp-jdbc.xml (位于X:\jboss4\server\default\conf )是配置Jboss CMP 容器的标准部署描述文件,你也可以使用一个自定义的配置文件--jbosscmp-jdbc.xml 来代替它。
这个文件也放在EJB.jar 文件的META-INF 目录中。
缺省使用的还是HypersonicDB 作为数据库,这里也需要修改。
Oracle 数据库的配置Oracle 以它的运行稳定和可靠成为了一个非常受欢迎的企业级数据库。
要在Jboss 上配置使用Oracle 的话我们要做的第一件事就是把Oracle 的JDBC 驱动程序复制到ClassPath 下。
我们把这个JDBC 驱动程序复制到server/default/lib 目录下。
为了使用Oracle 的事务处理数据源我们还要把 /docs/examples/jca/oracle-xa-ds.xml /server/default/deploy 目录下。
如果使用的事非事务处理的 数据源,就把 /docs/examples/jca/oracle-ds.xml /server/default/deploy 目录下。
步,我们需要修改 oracle-de.xml 配置文件。
其中的v driver-class/ >标签和v connection-url/ >标签的设置如下: Oracle OCI Type 2 DriverClass: oracle.jdbc.driver.OracleDriverURL: jdbc:oracle:oci8:@ v database >Oracle OCI Thin Type 4 DriverClass: oracle.jdbc.driver.OracleDriverURL: jdbc:oracle:thin:@ v host > :v port > :v database > Oracle OCI XA Type 2 DriverClass: oracle.jdbc.xa.client.OracleXADataSourceURL: jdbc:oracle:thin:@ v host > :v port > :v database > Oracle OCI Type 2 DriverClass: oracle.jdbc.driver.OracleDriverURL: jdbc:oracle:oci8:@ v database >主机名,v port >是oracle 数据库的端口,v database >是 jaws.xml 配置文件,并把v datasource > 和 v复制到 文件复制到 在 Connection URL 中v host >是安装 Oracle 的计算机数据库名称。
下一步,我们将修改standardjaws.xml 或type-mapping >元素这只为下面这样:< jaws >V datasource >java:/OracleDS v /datasource > < type-mapping > Oracle8 v /type-mapping >V /jaws >一步,再修改standardjbosscmp-jdbc.xml 或jbosscmp-jdbc.xml 配置文件,设置< datasource > 和 <datasource-mapping >元素使用Oracle 。
< jbosscmp-jdbc > < defaults > <datasource >java:/OracleDS < /datasource > < datasource-mapping > Oracle8 < /datasource-mapping< /defaults > < /jbosscmp-jdbc >最后我们需要修改login-config.xml 文件来使用Oracle ,面是login-config.xml 文件的< application-policy >元素:< application-policy name = "OracleDbRealm" > < authentication >V login-module code="org.jboss.resource.security.ConfiguredIdentityLog inModule"flag ="required" >V module-option name = "principal" > sa V /module-optionV module-option name = "userName" > sa V/module-option >V module-option name = "password" >V /module-option >V module-optionname="managedConnectionFactoryName"jboss.jca:service=LocalTxCM,name=OracleDSV /module-option >V /login-module >V/authentication >V /application-policy >修改了oracle-ds.xml,standardjaws.xml,standardjbosscmp-jdbc.xml, 和login-config.xml 文件之后就可以再Jboss4 中使用Oracle 了。
MySQL 数据库配置MySQL 是一个开放源代码的数据库,有很多开源项目和小型的社团都在使用它。
要在Jboss4 中使用MySQL的话首先要把MySQL 的JDBC 驱动放到CLASSPATH 中样,把。
同它复制到/server/default/lib 目录下,再把/docs/examples/jca/mysql-ds.xml 复制到/server/default/deploy 目录下。
修改mysql-ds.xml 文件,置V driver-class/ >为 com.mysql.jdbc.Driver 再把v connection-url/ >设置为jdbc:mysql:// V mysqlhost > /V database >,其mysqlhost >是数据库主机名v database >是数据库名。
然后需要设置standardjaws.xml 或jaws.xml文件的v datasource >和< type-mapping >元素:v jaws > v datasource > java:/MySqlDS v /datasource > v type-mapping > mySql v /type-mapping > v /jaws > 同样也需要把standardjbosscmp-jdbc.xml 或jbosscmp-jdbc.xml 文件的v datasource > 和v datasource-mapping >元素设置为下面这样:v jbosscmp-jdbc > v defaults >V datasource >java:/MySqlDS v /datasource >V datasource-mapping > mySql V /datasource-mapping ></defaults >V /jbosscmp-jdbc >最后再修改login-config.xml 文件来使用MySQL :V application-policy name = "MySqlDbRealm" >Vauthentication >V login-module code="org.jboss.resource.security.ConfiguredIdentityLog inModule"flag ="required" >V module-option name ="principal" > sa V /module-optionV module-option name ="userName" > sa V /module-optionV module-option name ="password" >V /module-option >V module-optionname ="managedConnectionFactoryName"jboss.jca:service=LocalTxCM,name=MySqlD SV /module-option >V /login-module >< /authentication > < /app lication-policy >修改了 mysql-ds.xml, standardjaws.xml,standardjbosscmp-jdbc.xml, 和 login-config.xml 文件就可 以在 Jboss 上使用 MySQL 了。