山口です。

anttask + xdocletでEJBのソースを自動生成して、こりゃ楽だ、なことを
しています。

が、EJBが増える程にメモリ使用量が増えて、とうとうOut of Memoryで落
ちるようになってしまいました。

そこで採った回避策はというと、

   a. マシンの実メモリを増やし、JavaVMに割り当てるメモリ量を増やす
   b. EJBのソース自動生成処理単位を分割する

なのですが、それぞれ問題がありまして...

   a. マシンの実メモリを増やし、JavaVMに割り当てるメモリ量を増やす

     2GBでも足りないんですよ。ということで、8GB積みました。 
     OSはLinuxで、2GB超えの設定もして、JavaVMに3.5GB割り当てて
     なんとか耐えとります。が、金がかかるんです、レンタルなんで。
     それに、まだまだEJBも増え続けそうだし。これは暫定対策ですね。

   b. EJBのソース自動生成処理単位を分割する
     メモリ増設では金がかかるのと、普通のパソコンでも全buildできる
     ように、という願いから、xdocletの処理単位を分割できないか、
     ということで試しました。

     <target>
           :
        <fileset dir="path/to">
            <include name="**/*Bean.java" />
        </fileset>
           :
     </target>

     というのを

     <target>
           :
        <fileset dir="path/to">
            <include name="foo/*Bean.java" />
        </fileset>
           :
     </target>

     <target>
           :
        <fileset dir="path/to">
            <include name="**/*Bean.java" />
            <exclude name="foo/**/*Bean.java" />
        </fileset>
           :
     </target>

     のようにincludeを分割して、その単位ごとにtarget定義。

     当たり前ですが、xdocletのソース自動生成はソースのJavaDoc tagが
     元となるので、分割しようが全部まとめて自動生成しようが、生成
     されるソースは同じになります。

     が、生成物はソースだけでなく、Deployment Descriptorも必要に
     なります。ejb-jar.xmlですね。weblogicを使っているので、
     weblogic-ejb-jar.xmlなんてのも生成されます。これらのファイルも
     別々に生成されてしまうんです。

そこでご存知であれば教えて欲しいことが2つ。

   1. ejb-jar.xmlで、includeみたいなことができるのか?
   2. 複数のejb-jar.xmlをmergeするツールはあるか?

1はJ2EEの仕様を見れば分かるかな、と思ったんですが、探し方が悪いのか
今のところ見付けられていません。

2は、shell + awkのscriptを自作して解決しようとしています(debug中)。
XMLのツールでありそうな気もしますが、GUIでやるんではなく、コマンド
ラインで、できれば自動的にしたいです。手作業だとどうしてもミスが
発生してしまうので。

というか、そもそもEJBの数が多過ぎる?
-- 
 Tadasuke YAMAGUCHI @ Hyogo