我知道这不是通常的方式。我们正在使用具有许多存储过程的现有Oracle DB。程序在很多方面使用变量USER。此外,许可不允许使用“功能”用户登录,每个用户必须使用自己的帐户。
问题出现了:是否可以将JBoss / Wildfly数据库连接池配置为保持/创建具有不同凭据的连接,这些凭据是在登录时提供的?
感谢任何提示
答案 0 :(得分:3)
一个选项可能是使用CLI的Model 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());
}
希望有所帮助