Springサービス・コンポーネントによるGroovyおよびAspectjクラスの構成

Spring構成ファイルでGroovyまたはAspectjクラスを構成する場合は、次の規則に従う必要があります。

  • classpathプロトコルを使用します。

    script-source="classpath:"
    

    SCAパッケージはクラス・ローダーの通常のJARファイルとして処理されないため、相対ファイル・パスは使用できません。たとえば、次のclasspathプロトコルはクラス・パスからGroovyファイルを検索することを示します。

    script-source="classpath:service/GroovyGreeter.groovy"
    
  • classpathプロトコルを使用する場合は、GroovyファイルとAspectjファイルを次のいずれかのディレクトリに追加します。他のディレクトリは使用できません。

    • SCA-INF/classes

    • SCA-INF/lib

    • 共有SOA lib

    ビルド・スクリプトがclassesディレクトリを削除するように構成されている場合は、GroovyファイルをSCA-INF/libディレクトリに格納するか、またはビルド・スクリプトを削除が行われないように設計します。

  • GroovyまたはAspectjのSpring拡張JARファイル・ライブラリを管理対象サーバーのsetDomainENV.shまたはsetDomainENV.batファイルのクラス・パスに追加し、サーバーを再起動します。これにより、デプロイメントが正常に実行されることが保証されます。SpringではJavaリフレクションを使用してアスペクト指向プログラミング(AOP)がインスタンス化されるため、再起動が必要です。リフレクションの使用により、クラスの検索がシステム・クラス・ローダーに限定されます。システム・クラス・ローダーに変更を加えた場合は、サーバーの再起動が必要になります。