Red Hat Bugzilla – Bug 575849
Add Dynamic Template Inclusion into Plugin
Last modified: 2014-05-27 20:48:54 EDT
Description of problem: Unable to dynamically add a template for use in a plugin. The template needs to added explicitly to the rhq-plugin.xml.
Version-Release number of selected component (if applicable): RHQ 1.3
Steps to Reproduce:
Additional info: The Teiid project allows users to create custom connectors which will have templates that can be used for other versions of the custom connectors. Currently the Teiid Jopr plugin has to be edited to include the connector template. This should be done dynamically somehow either by including an xml file with the new template or some other means. Migration to newer versions of the Teiid plugin are problematic if the custom connector template needs to be explicitly included in the rhq-plugin.xml.
Ted could you attach some exmaples of the sort of templates you are wanting to add so that we can see if they would be suitable for inclusion in the default set that comes with the AS plugin
(In reply to comment #1)
> Ted could you attach some exmaples of the sort of templates you are wanting to
> add so that we can see if they would be suitable for inclusion in the default
> set that comes with the AS plugin
There are two types of connections in Teiid that require templates.
1. Teiid as a source. This is a standard JDBC connection to a Teiid VDB using either xa or non-xa. It would be just like the Oracle xa template except that there would be addition properties for DatabaseName, port, and serverName.
So a non-xa template would look something like this:
<c:simple-property name="driver-class" default="org.teiid.jdbc.TeiidDataSource"/>
<c:simple-property name="type-mapping" default="org.teiid.jdbc.TeiidDataSource"/>
<c:simple-property name="typeMapping" default="Teiid"/>
<c:simple-property name="type-mapping" default="Teiid"/>
<c:simple-property name="database-name" default="MyDatabase"/>
<c:simple-property name="port" default="31000"/>
<c:simple-property name="server-name" default="localhost"/>
2. Underlying Teiid sources (LDAP, File, SalesForce, WebService, Custom). These would be non-standard JDBC connections that should only display on a JBossAS instance where Teiid is deployed. There are two ways we see this be implemented (and there are surely more than that). Both would require adding xml imports of xml fragments to the JBossAS plugin descriptor that can be referenced as doc type entities in the appropriate node of the rhq-plugin.xml.
a.) Allow the xml fragments to be provided in a well-known location and added if they exist.
b.) Dynamically generate the xml fragments based on the deployed templates on the server. Teiid deploys templates for the connection factories it supports to allow for creation of new instances.
This is something we are going to be able to target for JON2.4.1. Move it to consideration for JON3.0