[jboss-cvs] JBossAS SVN: r112584 - in projects/jboss-jca/trunk: as/src/main/java/org/jboss/jca/as/rarinfo and 3 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Jan 19 10:03:51 EST 2012
Author: jesper.pedersen
Date: 2012-01-19 10:03:51 -0500 (Thu, 19 Jan 2012)
New Revision: 112584
Added:
projects/jboss-jca/trunk/common/src/main/resources/schema/resource-adapters_1_1.xsd
Modified:
projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/LegacyConnectionFactoryImp.java
projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/rarinfo/RaImpl.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/resourceadapter/ResourceAdapter.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/resourceadapter/ResourceAdapterImpl.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/resourceadapter/ResourceAdapterParser.java
Log:
[JBJCA-735] Add id attribute to <resource-adapter>
Modified: projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/LegacyConnectionFactoryImp.java
===================================================================
--- projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/LegacyConnectionFactoryImp.java 2012-01-18 14:47:55 UTC (rev 112583)
+++ projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/LegacyConnectionFactoryImp.java 2012-01-19 15:03:51 UTC (rev 112584)
@@ -111,7 +111,7 @@
Defaults.ENABLED, Defaults.USE_JAVA_CONTEXT, Defaults.USE_CCM, pool, timeOut, validation, security, null);
connectionDefinitions = new ArrayList<CommonConnDef>();
connectionDefinitions.add(connDef);
- raImpl = new ResourceAdapterImpl(rarName, transactionSupport, connectionDefinitions, null,
+ raImpl = new ResourceAdapterImpl(null, rarName, transactionSupport, connectionDefinitions, null,
null, null, null);
}
Modified: projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/rarinfo/RaImpl.java
===================================================================
--- projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/rarinfo/RaImpl.java 2012-01-18 14:47:55 UTC (rev 112583)
+++ projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/rarinfo/RaImpl.java 2012-01-19 15:03:51 UTC (rev 112584)
@@ -71,7 +71,7 @@
*/
public void buildResourceAdapterImpl() throws Exception
{
- raImpl = new ResourceAdapterImpl(rarName, transactionSupport, connectionDefinitions, adminObjects,
+ raImpl = new ResourceAdapterImpl(null, rarName, transactionSupport, connectionDefinitions, adminObjects,
raConfigProperties, null, null);
}
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/resourceadapter/ResourceAdapter.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/resourceadapter/ResourceAdapter.java 2012-01-18 14:47:55 UTC (rev 112583)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/resourceadapter/ResourceAdapter.java 2012-01-19 15:03:51 UTC (rev 112584)
@@ -36,7 +36,6 @@
*/
public interface ResourceAdapter extends CommonIronJacamar
{
-
/**
* Get the archive.
*
@@ -45,6 +44,13 @@
public String getArchive();
/**
+ * Get the id
+ *
+ * @return the value.
+ */
+ public String getId();
+
+ /**
*
* A Tag.
*
@@ -165,4 +171,82 @@
}
}
+
+ /**
+ *
+ * A Attribute.
+ *
+ * @author <a href="jesper.pedersen at jboss.org">Jesper Pedersen</a>
+ *
+ */
+ public enum Attribute
+ {
+
+ /** always first
+ *
+ */
+ UNKNOWN(null),
+ /** id attribute
+ *
+ */
+ ID("id");
+
+ private final String name;
+
+ /**
+ *
+ * Create a new Tag.
+ *
+ * @param name a name
+ */
+ Attribute(final String name)
+ {
+ this.name = name;
+ }
+
+ /**
+ * Get the local name of this element.
+ *
+ * @return the local name
+ */
+ public String getLocalName()
+ {
+ return name;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String toString()
+ {
+ return name;
+ }
+
+ private static final Map<String, Attribute> MAP;
+
+ static
+ {
+ final Map<String, Attribute> map = new HashMap<String, Attribute>();
+ for (Attribute element : values())
+ {
+ final String name = element.getLocalName();
+ if (name != null)
+ map.put(name, element);
+ }
+ MAP = map;
+ }
+
+ /**
+ *
+ * Static method to get enum instance given localName XsdString
+ *
+ * @param localName a XsdString used as localname (typically tag name as defined in xsd)
+ * @return the enum instance
+ */
+ public static Attribute forName(String localName)
+ {
+ final Attribute element = MAP.get(localName);
+ return element == null ? UNKNOWN : element;
+ }
+ }
}
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/resourceadapter/ResourceAdapterImpl.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/resourceadapter/ResourceAdapterImpl.java 2012-01-18 14:47:55 UTC (rev 112583)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/resourceadapter/ResourceAdapterImpl.java 2012-01-19 15:03:51 UTC (rev 112584)
@@ -42,11 +42,15 @@
{
/** The serialVersionUID */
private static final long serialVersionUID = 7607776873201143875L;
+
+ private final String id;
private final String archive;
+
/**
*
* Create a new ResourceAdapterImpl.
*
+ * @param id The id
* @param archive archive
* @param transactionSupport transactionSupport
* @param connectionDefinitions connectionDefinitions
@@ -55,16 +59,28 @@
* @param beanValidationGroups beanValidationGroups
* @param bootstrapContext bootstrapContext
*/
- public ResourceAdapterImpl(String archive, TransactionSupportEnum transactionSupport,
+ public ResourceAdapterImpl(String id, String archive, TransactionSupportEnum transactionSupport,
List<CommonConnDef> connectionDefinitions, List<CommonAdminObject> adminObjects,
Map<String, String> configProperties, List<String> beanValidationGroups, String bootstrapContext)
{
super(transactionSupport, configProperties, adminObjects, connectionDefinitions, beanValidationGroups,
bootstrapContext);
+ this.id = id;
this.archive = archive;
}
/**
+ * Get the id.
+ *
+ * @return the value.
+ */
+ @Override
+ public final String getId()
+ {
+ return id;
+ }
+
+ /**
* Get the archive.
*
* @return the archive.
@@ -80,6 +96,7 @@
{
final int prime = 31;
int result = super.hashCode();
+ result = prime * result + ((id == null) ? 0 : id.hashCode());
result = prime * result + ((archive == null) ? 0 : archive.hashCode());
return result;
}
@@ -94,6 +111,13 @@
if (!(obj instanceof ResourceAdapterImpl))
return false;
ResourceAdapterImpl other = (ResourceAdapterImpl) obj;
+ if (id == null)
+ {
+ if (other.id != null)
+ return false;
+ }
+ else if (!id.equals(other.id))
+ return false;
if (archive == null)
{
if (other.archive != null)
@@ -109,8 +133,15 @@
{
StringBuilder sb = new StringBuilder(1024);
- sb.append("<resource-adapter>");
+ sb.append("<resource-adapter");
+ if (id != null)
+ {
+ sb.append(" ").append(ResourceAdapter.Attribute.ID).append("=\"").append(id).append("\"");
+ }
+
+ sb.append(">");
+
sb.append("<").append(ResourceAdapter.Tag.ARCHIVE).append(">");
sb.append(archive);
sb.append("</").append(ResourceAdapter.Tag.ARCHIVE).append(">");
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/resourceadapter/ResourceAdapterParser.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/resourceadapter/ResourceAdapterParser.java 2012-01-18 14:47:55 UTC (rev 112583)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/resourceadapter/ResourceAdapterParser.java 2012-01-19 15:03:51 UTC (rev 112584)
@@ -170,9 +170,26 @@
ArrayList<CommonAdminObject> adminObjects = null;
ArrayList<String> beanValidationGroups = null;
String bootstrapContext = null;
+ String id = null;
String archive = null;
TransactionSupportEnum transactionSupport = null;
HashMap<String, String> configProperties = null;
+
+ int attributeSize = reader.getAttributeCount();
+ for (int i = 0; i < attributeSize; i++)
+ {
+ ResourceAdapter.Attribute attribute = ResourceAdapter.Attribute.forName(reader.getAttributeLocalName(i));
+ switch (attribute)
+ {
+ case ID : {
+ id = attributeAsString(reader, attribute.getLocalName());
+ break;
+ }
+ default :
+ throw new ParserException(bundle.unexpectedAttribute(attribute.getLocalName(), reader.getLocalName()));
+ }
+ }
+
while (reader.hasNext())
{
switch (reader.nextTag())
@@ -180,7 +197,7 @@
case END_ELEMENT : {
if (ResourceAdapters.Tag.forName(reader.getLocalName()) == ResourceAdapters.Tag.RESOURCE_ADAPTER)
{
- return new ResourceAdapterImpl(archive, transactionSupport, connectionDefinitions, adminObjects,
+ return new ResourceAdapterImpl(id, archive, transactionSupport, connectionDefinitions, adminObjects,
configProperties, beanValidationGroups, bootstrapContext);
}
else
Added: projects/jboss-jca/trunk/common/src/main/resources/schema/resource-adapters_1_1.xsd
===================================================================
--- projects/jboss-jca/trunk/common/src/main/resources/schema/resource-adapters_1_1.xsd (rev 0)
+++ projects/jboss-jca/trunk/common/src/main/resources/schema/resource-adapters_1_1.xsd 2012-01-19 15:03:51 UTC (rev 112584)
@@ -0,0 +1,674 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
+ targetNamespace="http://www.jboss.org/ironjacamar/schema" xmlns="http://www.jboss.org/ironjacamar/schema">
+
+ <xs:complexType name="boolean-presenceType"></xs:complexType>
+
+ <xs:complexType name="config-propertyType" mixed="true">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specifies an override for a config-property element in ra.xml or a @ConfigProperty
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ <xs:simpleContent>
+ <xs:extension base="xs:token">
+ <xs:attribute use="required" name="name" type="xs:token">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specifies the name of the config-property
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="resource-adapterType">
+ <xs:sequence>
+ <xs:element name="archive" type="xs:token" minOccurs="1" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specifies the resource adapter archive to be activated
+ E.g. <archive>myra.rar</archive>
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="bean-validation-groups" type="bean-validation-groupsType" minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specifies bean validation group that should be used
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="bootstrap-context" type="xs:token" minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specifies the unique name of the bootstrap context that should be used
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="config-property" type="config-propertyType" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ The config-property specifies resource adapter configuration properties.
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="transaction-support" type="transaction-supportType" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specifies the transaction support level of the resource adapter
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="connection-definitions" type="connection-definitionsType" minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specifies the connection definitions
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="admin-objects" type="admin-objectsType" minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specifies the administration objects
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:token" use="optional">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ An unique identifier for the resource adapter
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
+
+ <xs:simpleType name="transaction-supportType">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Define the type of transaction supported by this resource adapter.
+ Valid values are: NoTransaction, LocalTransaction, XATransaction
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="NoTransaction" />
+ <xs:enumeration value="LocalTransaction" />
+ <xs:enumeration value="XATransaction" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:attributeGroup name="common-attribute">
+ <xs:attribute name="class-name" type="xs:token" use="optional">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specifies the the fully qualified class name of a managed connection factory
+ or admin object
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="jndi-name" type="xs:token" use="required">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specifies the JNDI name
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="enabled" type="xs:boolean" default="true" form="unqualified" use="optional">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Should the object in question be activated
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute default="true" name="use-java-context" type="xs:boolean">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specifies if a java:/ JNDI context should be used
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="pool-name" type="xs:token" use="optional">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specifies the pool name for the object
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:attributeGroup>
+
+ <xs:complexType name="admin-objectType">
+ <xs:sequence>
+ <xs:element name="config-property" type="config-propertyType" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ The config-property specifies administration object configuration properties.
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ <xs:attributeGroup ref="common-attribute"></xs:attributeGroup>
+ </xs:complexType>
+
+ <xs:complexType name="timeoutType">
+ <xs:sequence>
+ <xs:element name="blocking-timeout-millis" type="xs:nonNegativeInteger" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ The blocking-timeout-millis element indicates the maximum time in
+ milliseconds to block while waiting for a connection before throwing an exception.
+ Note that this blocks only while waiting for a permit for a connection, and
+ will never throw an exception if creating a new connection takes an inordinately
+ long time. The default is 30000 (30 seconds).
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="idle-timeout-minutes" type="xs:nonNegativeInteger" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ The idle-timeout-minutes elements indicates the maximum time in minutes
+ a connection may be idle before being closed. The actual maximum time depends
+ also on the IdleRemover scan time, which is 1/2 the smallest idle-timeout-minutes
+ of any pool.
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="allocation-retry" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ The allocation retry element indicates the number of times that allocating
+ a connection should be tried before throwing an exception. The default is
+ 0.
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="allocation-retry-wait-millis" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ The allocation retry wait millis element indicates the time in milliseconds
+ to wait between retrying to allocate a connection. The default is 5000 (5
+ seconds).
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="xa-resource-timeout" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Passed to XAResource.setTransactionTimeout(). Default is zero which does not invoke the setter.
+ Specified in seconds - e.g. 5 minutes
+ <xa-resource-timeout>300</xa-resource-timeout>
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="validationType">
+ <xs:sequence>
+ <xs:element name="background-validation" type="xs:boolean" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ An element to specify that connections should be validated on a background
+ thread versus being validated prior to use
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="background-validation-millis" type="xs:nonNegativeInteger" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ The background-validation-millis element specifies the amount of
+ time, in millis, that background validation will run.
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="use-fast-fail" type="xs:boolean" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Whether fail a connection allocation on the first connection if it
+ is invalid (true) or keep trying until the pool is exhausted of all potential
+ connections (false) default false. e.g. <use-fast-fail>true</use-fast-fail>
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:element name="resource-adapters" type="resource-adaptersType">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specifies activation of resource adapters
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:complexType name="resource-adaptersType">
+ <xs:sequence>
+ <xs:element name="resource-adapter" type="resource-adapterType" minOccurs="1" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specifies activation of a resource adapter
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="connection-definitionsType">
+ <xs:sequence>
+ <xs:element name="connection-definition" type="connection-defintionType" minOccurs="1" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specifies a connection definition
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="connection-defintionType">
+ <xs:sequence>
+ <xs:element name="config-property" type="config-propertyType" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ The config-property specifies managed connection factory configuration properties.
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:choice>
+ <xs:element name="pool" type="poolType" minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specifies pooling settings
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="xa-pool" type="xa-poolType" minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specifies xa-pooling settings
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:element name="security" type="securityType" minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specifies security settings
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="timeout" type="timeoutType" minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specifies timeout settings
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="validation" type="validationType" minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specifies validation settings
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="recovery" type="recoverType" minOccurs="0" maxOccurs="1"></xs:element>
+ </xs:sequence>
+ <xs:attribute name="use-ccm" type="xs:boolean" default="true" use="optional">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Enable cached connection manager
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attributeGroup ref="common-attribute"></xs:attributeGroup>
+ </xs:complexType>
+
+ <xs:complexType name="poolType">
+ <xs:sequence>
+ <xs:element name="min-pool-size" type="xs:nonNegativeInteger" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ The min-pool-size element indicates the minimum number of connections
+ a pool should hold. These are not created until a Subject is known from a
+ request for a connection. This default to 0. Ex: <min-pool-size>1</min-pool-size>
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="max-pool-size" type="xs:nonNegativeInteger" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ The max-pool-size element indicates the maximum number of connections
+ for a pool. No more than max-pool-size connections will be created in each sub-pool.
+ This defaults to 20.
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="prefill" type="xs:boolean" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Whether to attempt to prefill the connection pool. Default is false.
+ e.g. <prefill>false</prefill>.
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="use-strict-min" type="xs:boolean" minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Define if the min-pool-size should be considered strict.
+ Default false
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="flush-strategy" type="xs:token" minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specifies how the pool should be flush in case of an error.
+ Valid values are: FailingConnectionOnly (default), IdleConnections, EntirePool
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="xa-poolType">
+ <xs:complexContent>
+ <xs:extension base="poolType">
+ <xs:sequence>
+ <xs:element name="is-same-rm-override" type="xs:boolean" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ The is-same-rm-override element allows one to unconditionally
+ set whether the javax.transaction.xa.XAResource.isSameRM(XAResource) returns
+ true or false. Ex: <is-same-rm-override>true</is-same-rm-override>
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="interleaving" type="boolean-presenceType" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ An element to enable interleaving for XA connection factories
+ Ex: <interleaving/>
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="no-tx-separate-pools" type="boolean-presenceType" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Oracle does not like XA connections getting used both inside and outside a JTA transaction.
+ To workaround the problem you can create separate sub-pools for the different contexts
+ using <no-tx-separate-pools/>
+ Ex: <no-tx-separate-pools/>
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="pad-xid" type="xs:boolean" default="false" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Should the Xid be padded
+ Ex: <pad-xid>true</pad-xid>
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="wrap-xa-resource" type="xs:boolean" default="false" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Should the XAResource instances be wrapped in a org.jboss.tm.XAResourceWrapper
+ instance
+ Ex: <wrap-xa-resource>true</wrap-xa-resource>
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="securityType">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="application" type="boolean-presenceType" minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Indicates that app supplied parameters (such as from getConnection(user, pw))
+ are used to distinguish connections in the pool.
+ Ex:
+ <application/>
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="security-domain" type="xs:token" minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Indicates Subject (from security domain) are used to distinguish connections in the pool.
+ The content of the security-domain is the name of the JAAS security manager that will handle
+ authentication. This name correlates to the JAAS login-config.xml descriptor
+ application-policy/name attribute.
+ Ex:
+ <security-domain>HsqlDbRealm</security-domain>
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="security-domain-and-application" type="xs:token" minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Indicates that either app supplied parameters (such as from
+ getConnection(user, pw)) or Subject (from security domain) are used to
+ distinguish connections in the pool. The content of the
+ security-domain is the name of the JAAS security manager that will handle
+ authentication. This name correlates to the JAAS login-config.xml descriptor
+ application-policy/name attribute.
+
+ Ex:
+ <security-domain-and-application>HsqlDbRealm</security-domain-and-application>
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="admin-objectsType">
+ <xs:sequence>
+ <xs:element name="admin-object" type="admin-objectType" minOccurs="1" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specifies the setup for an admin object
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="bean-validation-groupsType">
+ <xs:sequence>
+ <xs:element name="bean-validation-group" type="xs:token" minOccurs="1" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specifies the fully qualified class name for a bean validation group that
+ should be used for validation
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="recoverType">
+ <xs:sequence>
+ <xs:element name="recover-credential" type="credentialType" minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specifies the security options used when creating a connection during recovery.
+ Note: if this credential are not specified the security credential are used for recover too
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="recover-plugin" type="extensionType" minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specifies the extension plugin used in spi (core.spi.xa)
+ which can be implemented by various plugins to provide better feedback to the XA recovery system.
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="no-recovery" type="xs:boolean" default="false" use="optional">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specify if the xa-datasource should be excluded from recovery.
+ Default false.
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
+ <xs:complexType name="extensionType">
+ <xs:sequence>
+ <xs:element name="config-property" type="config-propertyType"></xs:element>
+ </xs:sequence>
+ <xs:attribute name="class-name" type="xs:token" use="required"></xs:attribute>
+ </xs:complexType>
+ <xs:complexType name="credentialType">
+ <xs:sequence>
+ <xs:element name="user-name" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specify the username used when creating a new connection.
+ Ex: <user-name>sa</user-name>
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="password" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Specify the password used when creating a new connection.
+ Ex: <password>sa-pass</password>
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="security-domain" type="xs:token" minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Indicates Subject (from security domain) are used to distinguish connections in the pool.
+ The content of the security-domain is the name of the JAAS security manager that will handle
+ authentication. This name correlates to the JAAS login-config.xml descriptor
+ application-policy/name attribute.
+ Ex:
+ <security-domain>HsqlDbRealm</security-domain>
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+</xs:schema>
More information about the jboss-cvs-commits
mailing list