.2 创建数据源
我们拿WAS来布署一个web应用,那么就需要先创建数据源,请按照下面的步骤。
先创建JDBC Provider(提供程序)。
注意在下拉框中选择具体的“作用域”,即类似于weblogic里的target,然后点[新建]按钮。
我们使用oracle11g来做我们的数据源。
[下一步]
类路径保持默认,我们回头会再给它具体指定。
点击[完成]后,注意要按这个“保存”连接,在WAS里作过任何东西的改动在点[确定]或者是[完成]后都会在adminconsole的右上端有这么一个提示,一定要记得点这个“保存”,要不然前面做的一切操作会被废弃。
点击“保存”后,我们的JDBC提供程序列表里多了一项。
我们点一下这个“Oracle JDBC Driver”,对它进行设置。
在“类路径”里,我们填入完整的该ojdbc6.jar所在的路径,注意要用“/”作路径分隔符,而不是“\”。
设置完后点[确定]返回,并点“保存”。
我们的JDBCProvider有了,我们要设置我们的DataSource,将DataSource绑定JDBC Provider后给它取个JNDI名,这个JNDI名就是我们工程中连接数据库时需要指定的JNDI名了。
填入和我们的工程中一样的JNDI名称,此处“数据源名”与“JNDI名称”不能同名啊,不要把“数据源名”和“JNDI名”搞错了。
[下一步]
为我们的数据源指定前面设置的JDBC Provider。
填入你要连接的数据库的相应的URL。
完成并保存后返回数据源设置列表,我们新设置的数据源已经在列表中了。
点这个我们刚才新建立的数据源。
我们现在有了jdbc driver,有了jdbc url,为了连接数据库我们还需要什么?用户名 & 密码,对吧!
点右边这个“JAAS-J2C认证数据”。
为我们的认证起个名字,然后输入用户标识(数据库连接用户名)与密码(数据库连接密码)。
点[确定]后返回并“保存”。
还是选择我们刚才创建的“数据源”,可以直接在“面包屑”中找到我们刚才创建的数据源。
在数据源属性页面中往下拖,到页面底部看到有一个“安全性设置”,OK,将我们的数据源绑定我们刚才创建的“J2C认证”吧。
[确定]并“保存”后,可以在数据源的属于页里点这个[测试连接]按钮来进行我们的数据库连接测试。
下面是数据源测试成功的消息提示,代表着我们的数据源已经测试成功。
在我们的数据源的属性页面右边有一个“连接池属性”
点“连接池属性”,此处就是用来配置和优化我们的数据库连接池,如何优化这边就不多讲了,因为已经在weblogic相关教程中详细描述过了,大同小异,一通百通。
5.3 在WAS内布署应用
一般我们使用ear格式在WAS内布署我们的web应用,因此此处和weblogic, tomcat稍稍有点不一样。
为此,我们做了一个ant脚本用于打包我们的ear。
一个ear文件的格式应该如下:
myEAR
|__ META-INF
|__application.xml
|__myWAR.war
可以看到,一个ear文件:
包含一个META-INF目录,在该目录下会有一个application.xml文件。
然后和META-INF目录同级的地方会有一个.war文件,这个war文件就是标准的war格式的web应用。
5.3.1 application.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="5"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd">
<display-name>cbbsEAR</display-name>
<module>
<web>
<web-uri>cbbs.war</web-uri>
<context-root>/cbbs</context-root>
</web>
</module>
</application>
5.3.2 使用Ant打包
实际上我们的ant脚本很简单,它作了如下几件事:
- 用IBM WAS自带的JDK即IBM JDK编译我们的工程,确保我们的工程可以被我们的WAS能够解析。
- 将我们的工程打成.war文件
<target name="makeWAR" depends="compile">
<jar destfile="${build.dir}/app/${war.name}" basedir="${build.dir}" />
</target>
- 将.war文件与application.xml文件打成.ear文件
<target name="makeEAR" depends="makeWAR">
<ear destfile="${build.dir}/${ear.name}" appxml="${eardescription.file}">
<fileset dir="${build.dir}/app">
<include name="**/*.war" />
</fileset>
</ear>
</target>
下面给出我们完整的Ant脚本,该脚本还使用到了一个外部的build.properties文件用于设置一些常量。
build.properties
websphere.v7.home=D:/IBM/WebSphere/AppServer
project.home=D:/wspace
webAppName=cbbs
war.name=${webAppName}.war
ear.name=${webAppName}EAR.ear
eardescription.file=D:/wspace/${webAppName}/application.xml
build.xml
<?xml version="1