Skip to content
This repository has been archived by the owner on Jul 11, 2022. It is now read-only.

Commit

Permalink
Merge pull request #167 from maximebeck/master
Browse files Browse the repository at this point in the history
Fix BZ 1201269
  • Loading branch information
lzoubek committed Apr 29, 2015
2 parents c3b9a23 + 22f6024 commit 10f72b3
Showing 1 changed file with 11 additions and 6 deletions.
Expand Up @@ -31,9 +31,17 @@
* Discover Application Datasource
*
* @author Jay Shaughnessy
* @author Maxime Beck
*/
public class TomcatDatasourceDiscoveryComponent extends MBeanResourceDiscoveryComponent<TomcatWarComponent> {

// Array of supported data source object names
private final String[] datasourceObjectNames = new String[] {
"Catalina:type=DataSource,context=%path%,host=%host%,class=javax.sql.DataSource,name=%name%",
"Catalina:type=DataSource,path=%path%,host=%host%,class=javax.sql.DataSource,name=%name%",
"Catalina:type=DataSource,class=javax.sql.DataSource,name=%name%"
};

@Override
public Set<DiscoveredResourceDetails> discoverResources(ResourceDiscoveryContext<TomcatWarComponent> discoveryContext) {

Expand All @@ -51,13 +59,14 @@ public Set<DiscoveredResourceDetails> discoverResources(ResourceDiscoveryContext

resources = super.performDiscovery(defaultPluginConfig, discoveryContext.getParentResourceComponent(), discoveryContext.getResourceType());

if (resources.size() == 0) {
objectNameTemplate = getDatasourceObjectName();
for(int i = 0; i < datasourceObjectNames.length && resources.size() == 0; i++) {
objectNameTemplate = datasourceObjectNames[i];
objectNameTemplate = objectNameTemplate.replace("%host%", host);
objectNameTemplate = objectNameTemplate.replace("%path%", path);
defaultPluginConfig.put(new PropertySimple(PROPERTY_OBJECT_NAME, objectNameTemplate));
resources = super.performDiscovery(defaultPluginConfig, discoveryContext.getParentResourceComponent(), discoveryContext.getResourceType());
}

// returns only one resource.
for (DiscoveredResourceDetails detail : resources) {
Configuration pluginConfiguration = detail.getPluginConfiguration();
Expand All @@ -68,8 +77,4 @@ public Set<DiscoveredResourceDetails> discoverResources(ResourceDiscoveryContext
}
return resources;
}

private String getDatasourceObjectName() {
return "Catalina:type=DataSource,context=%path%,host=%host%,class=javax.sql.DataSource,name=%name%";
}
}

0 comments on commit 10f72b3

Please sign in to comment.