EJB 2.0を使用してRADで開発され、Websphere6.1サーバーにデプロイされたシステムがあります。
同様の設定がある場合は、使用した構造を複製できる可能性があります。
次のプラグインを使用して、ビルドツールとしてMavenを使用しました。
- maven-ejb-plugin
- was6-maven-plugin
- xdoclet-maven-plugin
プロファイルを使用して、インターフェースのいずれかが変更されたときにスタブの生成をアクティブにし、xdocletを使用してwebsphere固有のバインディングを含むBeanクラスに注釈を付け、ejb-jar.xmlおよびその他のibmデプロイメントファイルを生成しました。
動作するまでに数週間かかりました。hudson-ciを使用した自動ビルドがあるため、プロジェクトに適応するためにpomとプラグインのセットアップを試してみる必要があるかもしれません。
pom.xmlのサンプル。
<groupId>your.group.id</groupId>
<artifactId>your.artifact.id</artifactId>
<packaging>ejb</packaging>
<build>
<plugins>
<plugin>
<artifactId>maven-ejb-plugin</artifactId>
<configuration>
<ejbVersion>2.0</ejbVersion>
<generateClient>true</generateClient>
<clientIncludes>
<clientInclude>**/interface/**</clientInclude>
</clientIncludes>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>xdoclet</id>
<activation>
<property>
<name>xdoclet</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xdoclet-maven-plugin</artifactId>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>xdoclet</goal>
</goals>
<configuration>
<tasks>
<ejbdoclet
destDir="${project.build.sourceDirectory}"
force="true" ejbSpec="2.0"
verbose="true">
<fileset
dir="${project.build.sourceDirectory}">
<include name="**/*Bean.java" />
</fileset>
<packageSubstitution
packages="service" useFirst="true"
substituteWith="interface" />
<homeinterface />
<remoteinterface />
<deploymentdescriptor
displayname="Service Name"
description=""
destDir="${basedir}/src/main/resources/META-INF"
validateXML="true" useIds="true" />
<websphere
destDir="${basedir}/src/main/resources/META-INF"
validateXML="true" />
</ejbdoclet>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</profile>
<profile>
<id>was-ejb</id>
<activation>
<property>
<name>was-ejb</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>was6-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>ejbdeploy</goal>
</goals>
</execution>
</executions>
<configuration>
<wasHome>C:/Program Files/IBM/WebSphere/AppServer</wasHome>
</configuration>
</plugin>
</plugins>
</profile>
</profiles>