是否可以配置 JBoss/Wildfly 数据源以使用不断变化的客户端凭据?
Is it possible to configure JBoss/Wildfly datasources to use changing client credentials?
我知道这不是通常的方式。我们正在使用具有许多存储过程的现有 Oracle 数据库。程序以多种方式使用变量 USER。此外,许可不允许使用 "functional" 用户登录,每个用户必须使用自己的帐户。
出现了问题:是否可以配置 JBoss/Wildfly 数据库连接池以使用登录时提供的不同凭据保存/创建连接?
感谢任何提示
一种选择是使用 CLI 的模型动态创建数据源 API。请参阅以下示例:
public void createDatasource() throws Exception{
ModelNode request = new ModelNode();
request.get(ClientConstants.OP).set(ClientConstants.ADD);
request.get(ClientConstants.OP_ADDR).add("subsystem",
"datasources");
request.get(ClientConstants.OP_ADDR).add("data-source",
"java:jboss/datasources/NewDatasource");
request.get("jndi-name").set("java:jboss/datasources/NewDatasource");
request.get("connection-url").set("jdbc:as400://1.2.3.4/SCHEME");
request.get("driver-class").set("com.ibm.as400.access.AS400JDBCDriver");
request.get("driver-name").set("jt400.jar");
request.get("user-name").set("username");
request.get("password").set("password");
request.get("pool-name").set("pool_NewDatasource");
ModelControllerClient client = ModelControllerClient.Factory.create(
InetAddress.getByName("127.0.0.1"), 9999);
client.execute(new OperationBuilder(request).build());
}
希望对您有所帮助
我知道这不是通常的方式。我们正在使用具有许多存储过程的现有 Oracle 数据库。程序以多种方式使用变量 USER。此外,许可不允许使用 "functional" 用户登录,每个用户必须使用自己的帐户。
出现了问题:是否可以配置 JBoss/Wildfly 数据库连接池以使用登录时提供的不同凭据保存/创建连接?
感谢任何提示
一种选择是使用 CLI 的模型动态创建数据源 API。请参阅以下示例:
public void createDatasource() throws Exception{
ModelNode request = new ModelNode();
request.get(ClientConstants.OP).set(ClientConstants.ADD);
request.get(ClientConstants.OP_ADDR).add("subsystem",
"datasources");
request.get(ClientConstants.OP_ADDR).add("data-source",
"java:jboss/datasources/NewDatasource");
request.get("jndi-name").set("java:jboss/datasources/NewDatasource");
request.get("connection-url").set("jdbc:as400://1.2.3.4/SCHEME");
request.get("driver-class").set("com.ibm.as400.access.AS400JDBCDriver");
request.get("driver-name").set("jt400.jar");
request.get("user-name").set("username");
request.get("password").set("password");
request.get("pool-name").set("pool_NewDatasource");
ModelControllerClient client = ModelControllerClient.Factory.create(
InetAddress.getByName("127.0.0.1"), 9999);
client.execute(new OperationBuilder(request).build());
}
希望对您有所帮助