我们的项目使用Websphere,我们必须使用WSConnection设置“客户信息”。 DB2数据库将这些用于审计。这在Websphere中很好用。但是,我们现在想在Websphere外部运行的控制台应用程序中使用相同的代码库。因此,我想更改以下代码以了解是否与Websphere无关。
还有其他一些标准的方法可以完成以下任务吗?使用直jdbc?还是让我不创建从此代码到Websphere及其库的依赖关系的其他方法?
Properties props = new Properties();
props.setProperty(WSConnection.CLIENT_ID, userid);
props.setProperty(WSConnection.CLIENT_APPLICATION_NAME, bpcode);
if (connection instanceof WSConnection) {
WSConnection wconn = (WSConnection) connection;
wconn.setClientInformation(props);
} else {
log.error("Connection was NOT an instance of WSConnection so client ID and app could not be set");
}
答案 0 :(得分:2)
是的,已在JDBC中添加了用于设置客户端信息的标准接口。
您可以使用connection.setClientInfo(name, value)分别设置每个属性,
或者,您可以通过connection.setClientInfo(properties)
一次全部设置要确定驱动程序支持的确切的客户端信息属性名称集,请使用databaseMetaData.getClientInfoProperties()方法。