public class SpringContextResourceAdapter extends ObjectSE implements ResourceAdapterEE
ApplicationContext をロードする JCA 1.7 ResourceAdapterEE 実装。ResourceAdapter のライフサイクルの一部として Spring 管理 Bean を開始および停止します。HTTP エントリポイントを必要とせず、メッセージエンドポイントとスケジュールされたジョブなどで構成されるアプリケーションコンテキストに最適です。このようなコンテキストの Bean は、JTA トランザクションマネージャー、JNDI にバインドされた JDBC DataSources および JMS ConnectionFactory インスタンスなどのアプリケーションサーバーリソースを使用することができ、プラットフォームの JMX サーバーに登録することもできます。これらはすべて、Spring の標準的なトランザクション管理、JNDI および JMX サポート機能を介して行われます。
非同期作業をスケジュールする必要が生じた場合は、Spring の WorkManagerTaskExecutor を標準の Bean 定義として使用し、依存性注入を通じてアプリケーション Bean に注入することを検討してください。この WorkManagerTaskExecutor は、この ResourceAdapter に提供されている BootstrapContext からの JCA WorkManager を自動的に使用します。
JCA BootstrapContextEE には、BootstrapContextAware インターフェースを実装するアプリケーションコンポーネントを介して直接アクセスすることもできます。この ResourceAdapter を使用してデプロイすると、BootstrapContext がそのようなコンポーネントに渡されることが保証されます。
この ResourceAdapter は、次のように、Java EE ".rar" デプロイユニット内の "META-INF/ra.xml" ファイルで定義されます。
<?xml version="1.0" encoding="UTF-8"?>
<connector xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee https://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
version="1.5">
<vendor-name>Spring Framework</vendor-name>
<eis-type>Spring Connector</eis-type>
<resourceadapter-version>1.0</resourceadapter-version>
<resourceadapter>
<resourceadapter-class>org.springframework.jca.context.SpringContextResourceAdapter</resourceadapter-class>
<config-property>
<config-property-name>ContextConfigLocation</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value>META-INF/applicationContext.xml</config-property-value>
</config-property>
</resourceadapter>
</connector> "META-INF/applicationContext.xml" はデフォルトのコンテキスト設定場所であるため、別の / 追加の設定ファイルを指定するつもりがない限り、指定する必要はありません。デフォルトの場合は、上記の config-property セクション全体を削除できます。単純な デプロイのニーズの場合、必要な操作は次のとおりです。すべてのアプリケーションクラスを RAR ファイル (ファイル拡張子が異なる標準の JAR ファイル) にパッケージ化し、必要なすべてのライブラリ jar を RAR アーカイブのルートに追加し、上記のように "META-INF/ra.xml" デプロイ記述子と対応する Spring XML Bean 定義ファイル (通常は "META-INF/applicationContext.xml" ) を追加し、結果の RAR ファイルをアプリケーションサーバーの デプロイディレクトリにドロップします。
| 修飾子と型 | フィールドと説明 |
|---|---|
static StringSE | CONFIG_LOCATION_DELIMITERS これらの文字は、1 つの文字列値に含まれる複数のコンテキスト設定パス間の区切り文字とみなされます。 |
static StringSE | DEFAULT_CONTEXT_CONFIG_LOCATION デフォルトの applicationContext.xml ロケーション。 |
protected Log | logger |
| コンストラクターと説明 |
|---|
SpringContextResourceAdapter() |
| 修飾子と型 | メソッドと説明 |
|---|---|
protected ConfigurableApplicationContext | createApplicationContext(BootstrapContextEE bootstrapContext) 指定された JCA BootstrapContext の Spring ApplicationContext をビルドします。 |
protected ConfigurableEnvironment | createEnvironment() 新しい StandardEnvironment を返します。 |
void | endpointActivation(MessageEndpointFactoryEE messageEndpointFactory, ActivationSpecEE activationSpec) この実装は常に NotSupportedException をスローします。 |
void | endpointDeactivation(MessageEndpointFactoryEE messageEndpointFactory, ActivationSpecEE activationSpec) この実装は何もしません。 |
boolean | equals(ObjectSE other) |
protected StringSE | getContextConfigLocation() 指定されたコンテキスト構成ファイルを返します。 |
XAResourceSE[] | getXAResources(ActivationSpecEE[] activationSpecs) この実装は、常に null を返します。 |
int | hashCode() |
protected void | loadBeanDefinitions(BeanDefinitionRegistry registry, StringSE[] configLocations) 指定された構成ファイルに基づいて、Bean 定義を所定のレジストリにロードします。 |
void | setContextConfigLocation(StringSE contextConfigLocation) リソースアダプターのデプロイユニット内のコンテキスト構成ファイルの場所を設定します。 |
void | start(BootstrapContextEE bootstrapContext) この実装は、 createApplicationContext(javax.resource.spi.BootstrapContext) テンプレートメソッドを介して Spring ApplicationContext をロードします。 |
void | stop() この実装は Spring ApplicationContext を閉じます。 |
cloneSE, finalizeSE, getClassSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic static final StringSE CONFIG_LOCATION_DELIMITERS
public static final StringSE DEFAULT_CONTEXT_CONFIG_LOCATION
applicationContext.xml ロケーション。protected final Log logger
public void setContextConfigLocation(StringSE contextConfigLocation)
これは、ra.xml デプロイ記述子の "ContextConfigLocation" 構成プロパティとして指定できます。
デフォルトは "classpath:META-INF/applicationContext.xml" です。
protected StringSE getContextConfigLocation()
protected ConfigurableEnvironment createEnvironment()
StandardEnvironment を返します。 サブクラスは、カスタム ConfigurableEnvironment 実装を提供するためにこのメソッドをオーバーライドできます。
public void start(BootstrapContextEE bootstrapContext) throws ResourceAdapterInternalExceptionEE
createApplicationContext(javax.resource.spi.BootstrapContext) テンプレートメソッドを介して Spring ApplicationContext をロードします。ResourceAdapterEE の startEE ResourceAdapterInternalExceptionEEprotected ConfigurableApplicationContext createApplicationContext(BootstrapContextEE bootstrapContext)
デフォルトの実装では、ResourceAdapterApplicationContext を構築し、指定された構成ファイルを実際に解析するために loadBeanDefinitions(org.springframework.beans.factory.support.BeanDefinitionRegistry, java.lang.String[]) に委譲します。
bootstrapContext - この ResourceAdapter の BootstrapContextprotected void loadBeanDefinitions(BeanDefinitionRegistry registry, StringSE[] configLocations)
registry - ロードするレジストリ configLocations - 解析された構成の場所 setContextConfigLocation(java.lang.String)public void stop()
ResourceAdapterEE の stopEE public void endpointActivation(MessageEndpointFactoryEE messageEndpointFactory, ActivationSpecEE activationSpec) throws ResourceExceptionEE
ResourceAdapterEE の endpointActivationEE ResourceExceptionEEpublic void endpointDeactivation(MessageEndpointFactoryEE messageEndpointFactory, ActivationSpecEE activationSpec)
ResourceAdapterEE の endpointDeactivationEE @Nullable public XAResourceSE[] getXAResources(ActivationSpecEE[] activationSpecs) throws ResourceExceptionEE
null を返します。ResourceAdapterEE の getXAResourcesEE ResourceExceptionEEpublic int hashCode()
ObjectSE の hashCodeSE