最近公司一个项目小组开发服务器用jboss,第一次用大家都一头雾水,经过大家的努力,终于搭起了一个简单的环境.写下一些配置笔记拿出来共享.
1、 在 jboss 中配置数据源: ( 一个 *-ds.xml 文件配置一个数据源 )
A 、从 D:\jboss- 4.0.0 \docs\examples\jca\ 中拷贝 oracle-ds.xml
到 D:\rone3\jboss- 4.0.0 \server\default\deploy 中,重命名为 XXX-ds.xml ,更改后文件内容如下:(文件名随便取,只要有"-ds.xml"后缀就可以了!)
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>test/jndi</jndi-name>
<connection-url>jdbc:oracle:oci:@rone</connection-url>
<driver-class>oracle.jdbc.driver.Oracle Driver</driver-class>
<user-name>test</user-name>
<password>test</password>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter
</exception-sorter-class-name>
<metadata>
<type-mapping>Oracle9i</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
在应用中配置数据源:把应用部署 到 D:\jboss- 4.0.0 \server\default\deploy 中 ,在jboss中应用一般以.war为后缀,我们假设有一个test应用,该应用应该打包成一个test.war包或者文件夹,在test .war\WEB-INF 中新建一个文件 jboss-web.xml 添加如下内容:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE jboss-web
PUBLIC "-//JBoss//DTD Web Application 2.3V2//EN"
"http://www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd">
<jboss-web>
<context-root>/</context-root> //可以 把 test 应用指向根路径
<resource-ref>
<res-ref-name>test/jndi</res-ref-name>
<jndi-name>java:test/jndi</jndi-name>//对应jboss服务器上设置的jndi
</resource-ref>
</jboss-web>
并确保 web.xml 中有如下代码段:
<resource-ref id="ResourceRef_1">
<res-ref-name>test/jndi</res-ref-name>//对应jboss-web.xml中的res-ref-name
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
备注:
a.要把数据库驱动程序 ojdbc4.jar 放入 default/lib 下.
b.OCI 驱动注意事项:需要 oralce 客户端;在 MyEclipse 中启动 JBOSS ,需要把 C:\oracle\ora92\bin 路径下的 ocijdbc9.dl l 文件拷贝到 jdk 安装目录下的 bin 文件夹下。否则会出现找不到数据源的错误!
2.jboss应用乱码问题,更改D:\jboss-4.0.0\server\default\deploy\jboss文件web-tomcat50.sar\server.xml:
<Connector port="8080" address="${jboss.bind.address}"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK"/>