JBoss 7 management API - Delete Datasource
api, datasource, jboss7.x
Solution
It's actually quite simple. You need to know the full address of the object, then simply invoke the remove operation.
ModelNode request = new ModelNode();
request.get(ClientConstants.OP).set("remove");
request.get(ClientConstants.OP_ADDR).add("subsystem",
"datasources");
request.get(ClientConstants.OP_ADDR).add("data-source",
dataSourceName);
ModelControllerClient client = ModelControllerClient.Factory.create(
InetAddress.getByName(LOCALHOST), 9999);
client.execute(new OperationBuilder(request).build());
client.close();
Problem
I'm trying to delete programmatically a datasource that I've created in JBoss 7. Create it was easy... ``` 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", dataSourceName); request.get("jndi-name").set(dataSourceName); request.get("pool-name").set(poolName); request.get("use-java-context").set(Boolean.TRUE); request.get("connection-url").set(url); request.get("driver-name").set(driver-name)); request.get("min-pool-size").set(.minPoolSize); request.get("max-pool-size").set(maxPoolSize); request.get("user-name").set(username); request.get("password").set("password"); ModelControllerClient client = ModelControllerClient.Factory.create( InetAddress.getByName(LOCALHOST), 9999); client.execute(new OperationBuilder(request).build()); client.close(); ``` My standalone.xml created and enabled ``` ... <subsystem xmlns="urn:jboss:domain:datasources:1.1"> <datasources> <datasource jndi-name="name" pool-name="poolName" enabled="true" use-java-context="true"> <connection-url>*url*</connection-url> <driver>driver</driver> ... </datasource> <drivers> <driver...> ... </driver> </drivers> </datasources> </subsystem> ... ``` But...I can't find how to delete it programmatically. Can anybody help me? Thanks :)