Linux+db2+was部署问题总结
前段日子在住建部进行了Linux环境下,db2+rbp+was的部署,由于是集群,切涉及到了很多was的东西,搞了很长时间,在此做一个问题总结,供后续查询:
环境:红旗linux
db29.7
was6.1
所遇到问题总结:
1. RBP系统中不能输入中文的修改:
在sh文件中修改如下:./startServer.sh server1 -Dfile.encoding=GB2312
在reportConfig.xml中datasource修改:mis2datasource,db2,0,UTF-8,GBK,0
具体可以查看文件夹中的startServer.sh和reportConfig.xml文件
2. 有时候部署RBP的时候,可能会出现404错误(一般是从填报到系统管理的内容,点击后都报404错误,而且数据库中内容也没有问题)
这种情况下是由于was的Acegi过滤不兼容问题,具体修改方法如下:
在websphere里设置com.ibm.ws.webcontainer.invokefilterscompatibility的参数为true,就可以了,具体的方法是:
1)启动websphere管理控制台
2)进:服务器–应用服务器–选您使用的应用服务器(默认是server1)–web容器设置–web容器–定制属性
3)新建一个属性: *名称:com.ibm.ws.webcontainer.invokefilterscompatibility *值:true 描述:兼容Acegi过滤器
4)保存并从启服务器
3. 3、在was+db2的环境中部署JDBC提供者和数据源的时候具体的步骤:
1) 部署JDBC提供者
弹出页面后,数据库类型选择”用户定义的”
实现类名中输入:com.ibm.db2.jcc.DB2ConnectionPoolDataSource
名称中输入:db2
类路径中:
${DB2UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc.jar
${UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc_license_cu.jar
${DB2UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc_license_cisuz.jar
然后一步步到最后,完成。
然后返回头可以看到JDBC提供者中有了db2这个提供者,然后点击db2,弹出页面,然后依据上图中的内容,将本级库路径进行配置:
${DB2UNIVERSAL_JDBC_DRIVER_NATIVEPATH}
注意,具体的环境变量如下:
DB2UNIVERSAL_JDBC_DRIVER_PATH : /opt/IBM/WebSphere/AppServer/java/lib
UNIVERSAL_JDBC_DRIVER_PATH :${WAS_INSTALL_ROOT}/universalDriver/lib
WAS_INSTALL_ROOT : /opt/IBM/WebSphere/AppServer
DB2UNIVERSAL_JDBC_DRIVER_NATIVEPATH:/opt/IBM/WebSphere/AppServer/java/lib
然后点击”应用”完成JDBC的配置
2) 配置数据源
按照正常步骤完成建立数据源:其中在选择JDBC提供者的时候,选择新建立的DB2提供,其他的按照正常流程部署。
完成后,点击新数据源名称(如mis2datasource),则弹出页面,依据上面的配置:
第一:修改JNDI名称:修改成与数据源名称一致:mis2datasource
第二:是选择数据存储器helper类:这个参考图片
第三:选择组件管理的认证别名:节点名/用户(该步骤可不写)
第四:是修改db2通用数据源属性:
数据库名:按照自己的数据库名进行书写(不是实例名)
驱动器类型:4(这个代表db2)
服务器名称:是数据库服务器的ip地址
端口号:50000(一般是50000,如果自己重新设定了,则写自己设定的端口号)
第五:设置数据库的用户名和密码
这一步有两种设置方式:
一种是:点击右侧的定制属性
在其中新建user 和password属性,在user属性中完成登录数据库的用户名;在password属性中完成登录数据库的密码。
另一种是在右侧点击 JAAS-J2C认证数据(注意该方式是在用户选择了”组件管理的认证别名”(就是第三步)情况下才使用),然后选择具体的认证别名,然后在下面的页面中设置用户名和密码。