www.ironjacamar.orgCommunity Documentation
Table of Contents
The metadata for the IronJacamar project is split up into the following areas
Java Connector Architecture metadata
IronJacamar metadata
Resource adapter deployment metadata
DataSource deployment metadata
All metadata parsing is done using the StAX model (javax.xml.stream
) for
optimal performance.
The implementation of these areas is done within the common module of the project.
The Java Connector Architecture (JCA) metadata implement the metadata defined in the JCA specifications. We have metadata representing the following standards:
Java Connector Architecture 1.0
Java Connector Architecture 1.5
Java Connector Architecture 1.6
Java Connector Architecture 1.7
An instance of the metadata is bundle with the resource adapter archive as
META-INF/ra.xml
The implementation is split into two package hierarchies - the API in
org.jboss.jca.common.api.metadata.spec
and the implementation in
org.jboss.jca.common.metadata.spec
.
The parser will transform the metadata into a Java Connector Architecture 1.7 based model which is used internally in IronJacamar.
The IronJacamar metadata can provide overrides for the values specified in the standard Java Connector Architecture metdata. It is also possible to specify deployment metadata, which will active an instance of the resource adapter without any other deployment plans.
Supported versions of the metadata:
IronJacamar 1.0
IronJacamar 1.1
IronJacamar 1.2
An instance of the metadata is bundle with the resource adapter archive as
META-INF/ironjacamar.xml
The implementation is split into two package hierarchies - the API in
org.jboss.jca.common.api.metadata.resourceadapter
and the implementation in
org.jboss.jca.common.metadata.ironjacamar org.jboss.jca.common.metadata.resourceadapter
.
The parser will produce one Activation
instance, which
defines the activation model of the resource adapter.
The resource adapter deployment metadata provides a deployment plan for the specified resource adapter archive. It is possible to override metadata specified as part of the Java Connector Architecture metadata or the IronJacamar metadata.
Supported versions of the metadata:
Resource adapter deployment 1.0
Resource adapter deployment 1.1
Resource adapter deployment 1.2
The implementation is split into two package hierarchies - the API in
org.jboss.jca.common.api.metadata.resourceadapter
and the implementation in
org.jboss.jca.common.metadata.resourceadapter
.
The parser will produce a list of Activation
instances, which
defines the activation model of the resource adapter.
The datasource deployment metadata provides a deployment plan for datasources. The metadata allows the developer to setup connection parameters, pooling settings and security.
Supported versions of the metadata:
Datasource deployment 1.0
Datasource deployment 1.1
Datasource deployment 1.2
Datasource deployment 1.3
The implementation is split into two package hierarchies - the API in
org.jboss.jca.common.api.metadata.ds
and the implementation in
org.jboss.jca.common.metadata.ds
.
The table below specifies how each attribute/element map to the resource adapter or the container.
Table 6.1. Datasource mapping
Tag | Resource Adapter | Container |
---|---|---|
min-pool-size | Pool | |
max-pool-size | Pool | |
prefill | Pool | |
user-name | X | |
password | X | |
connection-url | X | |
driver-class | X | |
transaction-isolation | X | |
connection-property | X | |
url-delimiter | X | |
url-selector-strategy-class-name | X | |
new-connection-sql | X | |
xa-datasource-property | X | |
xa-datasource-class | X | |
is-same-rm-override | TxConnectionManager | |
interleaving | TxConnectionManager | |
prepared-statement-cache-size | X | |
share-prepared-statements | X | |
pad-xid | TxConnectionManager | |
wrap-xa-resource | TxConnectionManager | |
no-tx-separate-pools | Pool | |
jndi-name | ConnectionManager | |
pool-name | X | |
enabled | X | |
use-java-context | X | |
valid-connection-checker-class-name | X | |
check-valid-connection-sql | X | |
validate-on-match | X | |
background-validation | Pool | |
background-validation-minutes | Pool | |
use-fast-fail | Pool | |
stale-connection-checker-class-name | X | |
exception-sorter-class-name | X | |
blocking-timeout-millis | Pool | |
idle-timeout-minutes | Pool | |
set-tx-query-timeout | ||
query-timeout | X | |
use-try-lock | X | |
allocation-retry | ConnectionManager | |
allocation-retry-wait-millis | ConnectionManager | |
xa-resource-timeout | TxConnectionManager | |
track-statements | X | |
prepared-statement-cache-size | X | |
share-prepared-statements | X |
The metadata repository serves as a central point for all the metadata in the systems.
The interface of the metadata repository is located in:
org.jboss.jca.core.spi.MetaDataRepository
providing methods to query and update the repository.
The implementation of the metadata repository can be defined as:
<bean name="MetaDataRepository"
interface="org.jboss.jca.core.spi.MetaDataRepository"
class="org.jboss.jca.core.mdr.SimpleMetaDataRepository">
</bean>
which is a simple implementation of the metadata repository service provider interface (SPI).