spring-tx

org.springframework.jca.support
Class ResourceAdapterFactoryBean

java.lang.Object
  extended by org.springframework.jca.support.ResourceAdapterFactoryBean
All Implemented Interfaces:
org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.FactoryBean<javax.resource.spi.ResourceAdapter>, org.springframework.beans.factory.InitializingBean

public class ResourceAdapterFactoryBean
extends java.lang.Object
implements org.springframework.beans.factory.FactoryBean<javax.resource.spi.ResourceAdapter>, org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.DisposableBean

FactoryBean that bootstraps the specified JCA 1.5 ResourceAdapter, starting it with a local BootstrapContext and exposing it for bean references. It will also stop the ResourceAdapter on context shutdown. This corresponds to 'non-managed' bootstrap in a local environment, according to the JCA 1.5 specification.

This is essentially an adapter for bean-style bootstrapping of a JCA ResourceAdapter, allowing the BootstrapContext or its elements (such as the JCA WorkManager) to be specified through bean properties.

Since:
2.0.3
Author:
Juergen Hoeller
See Also:
setResourceAdapter(javax.resource.spi.ResourceAdapter), setBootstrapContext(javax.resource.spi.BootstrapContext), setWorkManager(javax.resource.spi.work.WorkManager), ResourceAdapter.start(javax.resource.spi.BootstrapContext), ResourceAdapter.stop()

Constructor Summary
ResourceAdapterFactoryBean()
           
 
Method Summary
 void afterPropertiesSet()
          Builds the BootstrapContext and starts the ResourceAdapter with it.
 void destroy()
          Stops the ResourceAdapter.
 javax.resource.spi.ResourceAdapter getObject()
           
 java.lang.Class<? extends javax.resource.spi.ResourceAdapter> getObjectType()
           
 boolean isSingleton()
           
 void setBootstrapContext(javax.resource.spi.BootstrapContext bootstrapContext)
          Specify the JCA BootstrapContext to use for starting the ResourceAdapter.
 void setResourceAdapter(javax.resource.spi.ResourceAdapter resourceAdapter)
          Specify the target JCA ResourceAdapter, passed in as configured instance which hasn't been started yet.
 void setResourceAdapterClass(java.lang.Class resourceAdapterClass)
          Specify the target JCA ResourceAdapter as class, to be instantiated with its default configuration.
 void setWorkManager(javax.resource.spi.work.WorkManager workManager)
          Specify the JCA WorkManager to use for bootstrapping the ResourceAdapter.
 void setXaTerminator(javax.resource.spi.XATerminator xaTerminator)
          Specify the JCA XATerminator to use for bootstrapping the ResourceAdapter.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ResourceAdapterFactoryBean

public ResourceAdapterFactoryBean()
Method Detail

setResourceAdapterClass

public void setResourceAdapterClass(java.lang.Class resourceAdapterClass)
Specify the target JCA ResourceAdapter as class, to be instantiated with its default configuration.

Alternatively, specify a pre-configured ResourceAdapter instance through the "resourceAdapter" property.

See Also:
setResourceAdapter(javax.resource.spi.ResourceAdapter)

setResourceAdapter

public void setResourceAdapter(javax.resource.spi.ResourceAdapter resourceAdapter)
Specify the target JCA ResourceAdapter, passed in as configured instance which hasn't been started yet. This will typically happen as an inner bean definition, configuring the ResourceAdapter instance through its vendor-specific bean properties.


setBootstrapContext

public void setBootstrapContext(javax.resource.spi.BootstrapContext bootstrapContext)
Specify the JCA BootstrapContext to use for starting the ResourceAdapter.

Alternatively, you can specify the individual parts (such as the JCA WorkManager) as individual references.

See Also:
setWorkManager(javax.resource.spi.work.WorkManager), setXaTerminator(javax.resource.spi.XATerminator)

setWorkManager

public void setWorkManager(javax.resource.spi.work.WorkManager workManager)
Specify the JCA WorkManager to use for bootstrapping the ResourceAdapter.

See Also:
setBootstrapContext(javax.resource.spi.BootstrapContext)

setXaTerminator

public void setXaTerminator(javax.resource.spi.XATerminator xaTerminator)
Specify the JCA XATerminator to use for bootstrapping the ResourceAdapter.

See Also:
setBootstrapContext(javax.resource.spi.BootstrapContext)

afterPropertiesSet

public void afterPropertiesSet()
                        throws javax.resource.ResourceException
Builds the BootstrapContext and starts the ResourceAdapter with it.

Specified by:
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
Throws:
javax.resource.ResourceException
See Also:
ResourceAdapter.start(javax.resource.spi.BootstrapContext)

getObject

public javax.resource.spi.ResourceAdapter getObject()
Specified by:
getObject in interface org.springframework.beans.factory.FactoryBean<javax.resource.spi.ResourceAdapter>

getObjectType

public java.lang.Class<? extends javax.resource.spi.ResourceAdapter> getObjectType()
Specified by:
getObjectType in interface org.springframework.beans.factory.FactoryBean<javax.resource.spi.ResourceAdapter>

isSingleton

public boolean isSingleton()
Specified by:
isSingleton in interface org.springframework.beans.factory.FactoryBean<javax.resource.spi.ResourceAdapter>

destroy

public void destroy()
Stops the ResourceAdapter.

Specified by:
destroy in interface org.springframework.beans.factory.DisposableBean
See Also:
ResourceAdapter.stop()

spring-tx