JBoss.orgCommunity Documentation

Chapter 4. Configuration

4.1. Logging service
4.2. Transaction service
4.3. JCA
4.3.1. Deployer
4.3.2. Security
4.4. Datasources
4.5. Web server

The configuration for the IronJacamar container is located in the config/ directory.

The IronJacamar container uses JBoss Logging framework as the implementation.

The configuration is done in the

config/logging.properties
      

file.

Consult the JBoss Logging documentation on how the service can be configured.

The IronJacamar container uses the JBoss Transaction Manager as its transaction implementation.

The configuration is done in the

config/transaction.xml
      

file.

Consult the JBoss Transaction documentation on how the service can be configured.

The IronJacamar deployer is configured in the

config/bootstrap/jca.xml
        

file.

The configuration of the resource adapter deployer chain is handled by a org.jboss.jca.deployers.fungal.RAConfiguration bean.




<bean name="RAConfiguration"
      class="org.jboss.jca.deployers.fungal.RAConfiguration">
  <property name="ArchiveValidation">true</property>
  <property name="ArchiveValidationFailOnWarn">false</property>
  <property name="ArchiveValidationFailOnError">true</property>
  <property name="BeanValidation">true</property>
  <property name="PrintStream">
    <inject bean="JBossStdioContext" property="Out"/>
  </property>
  <property name="DefaultBootstrapContext">
    <inject bean="DefaultBootstrapContext"/>
  </property>
  <property name="JndiStrategy"><inject bean="JndiStrategy"/></property>
  <property name="TransactionManager">
    <inject bean="RealTransactionManager"/>
  </property>
  <property name="MetadataRepository"><inject bean="MDR"/></property>
</bean>
 
          

Table 4.1. Resource adapter deployer configuration

PropertyTypeDescription
ArchiveValidationboolean Toggle archive validation for the deployment units.

Default: true

ArchiveValidation​FailOnWarnboolean Should an archive validation warning report fail the deployment.

Default: false

ArchiveValidation​FailOnErrorboolean Should an archive validation error report fail the deployment.

Default: true

BeanValidationboolean Toggle bean validation (JSR-303) for the deployment units.

Default: true

DefaultBootstrap​Contextorg.jboss.jca.​core.api.bootstrap.​CloneableBootstrap​Context Specifies the default bootstrap context for resource adapters
BootstrapContextsMap<String, ​org.jboss.jca.​core.api.bootstrap.​CloneableBootstrap​Context> Bootstrap context map (unique name to a cloneable bootstrap context) which allows developers to bind (through ironjacamar.xml) their resource adapter to a specific bootstrap context instance.
PrintStreamjava.io.PrintStream Specifies which print stream that should be used to handle the LogWriters
MetadataRepositoryorg.jboss.jca.​core.spi.mdr.​MetadataRepository The metadata repository
ResourceAdapterRepositoryorg.jboss.jca.​core.spi.rar.​ResourceAdapterRepository The resource adapter repository
ScopeDeploymentboolean Should each deployment be scoped (isolated) from the container. This feature allows deployment of libraries of a different version than used in the container environment.

Default: false

JndiStrategyorg.jboss.jca.​core.spi.naming.​JndiStrategy Specifies the JNDI strategy policy for binding the connection factories into the naming environment

The JNDI strategies are located in the org.jboss.jca.core.naming package

  • NoopJndiStrategy: A no operation JNDI strategy which doesn't bind/unbind any objects
  • SimpleJndiStrategy: A simple JNDI strategy which can bind/unbind a single connection factory
  • ExplicitJndiStrategy: A JNDI strategy which can requires explicit JNDI names to bind/unbind a connection factory

The Java EE Connector Architecture 1.6 specification allows units of javax.resource.spi.Work to be executed in a specific security context.

This is done through the use of Java Authentication Service Provider Interface for Containers (JSR-196) call backs using the javax.security.auth.callback.Callback interface.

The support is activated by letting the work instance implement the

javax.resource.spi.work.WorkContextProvider
        

interface and returning an instance of javax.resource.spi.work.SecurityContext.

There is currently support for injecting a callback setup based on the file

config/callback.properties
        

The format of the callback.properties file is described in the file.

The callback setup can be configured through the Callback bean in the config/bootstrap/jca.xml file.



          
<!-- Callback -->
<bean name="Callback"
      interface="org.jboss.jca.core.spi.security.Callback"
      class="org.jboss.jca.core.security.DefaultCallback">
  <property name="File">${iron.jacamar.home}/config/callback.properties</property>
</bean>
           
        

There is support for creating a basic security domain which can provide a javax.security.auth.Subject instance to deployments that are using <security-domain> or <security-domain-and-application> in their setup.

A security domain can be configured through



          
<!-- SubjectFactory -->
<bean name="DefaultSecurityDomain"
      interface="org.jboss.security.SubjectFactory"
      class="org.jboss.jca.core.security.DefaultSubjectFactory">
  <property name="SecurityDomain">DefaultSecurityDomain</property>
  <property name="UserName">user</property>
  <property name="Password">password</property>
</bean>
           
        

beans.

The IronJacamar project can deploy datasources using the datasources-1_0.xsd or datasources-1_1.xsd schemas.

The configuration is done in the

config/bootstrap/ds.xml
      

file.


The datasource deployer can be removed from the environment by removing the ds.xml file in

config/bootstrap/
      

as well as the reference in config/bootstrap/bootstrap.xml to the file.

Furthermore all jdbc-*.rar files in the system/ directory should be removed too.

The IronJacamar project features a web server which is used to serve web archive deployments. More information about Jetty can be found at the homepage.

The configuration is done in the

system/web.xml
      

file.




<bean name="WebServer" class="org.jboss.jca.web.WebServer">
  <property name="Host">${iron.jacamar.bindaddress:localhost}</property>
  <property name="Port">8080</property>
  <property name="ExecutorService"><inject bean="Kernel" property="ExecutorService"/></property>
</bean>

      

The web server can be removed from the environment by removing the web.xml file in

system/
      

Furthermore all .war files in the same directory should be removed too.

All the Jetty libraries can be removed by deleting the

lib/jetty
      

directory.