かなり前に作成された、かなりの数のEJB2ステートレスセッションBeanを含むプロジェクトがあります。これらは、RMIを介してクライアントからアクセスされる最初の行のBeanではなく、特定の機能を実行するためにそのコードによって使用されます。しかし、セッションBeanとして使用しても何も得られないと思うようになりました。
- RMIを介してアクセスする必要はありません。
- それらは状態を保持しません。それらは、複雑さを軽減するために最初のBeanセットから除外されたコードにすぎません。
- それらには、私たちが交換している複数の異なる実装がありません。それぞれが何年もの間そうであったようです(バグ修正と機能追加を除いて)。
- それらのいずれも、それらを呼び出すBeanから入ってくるトランザクションを変更しません(つまり、新しいトランザクションを必要としない、既存のトランザクションに参加しない、またはその他の方法で変更する必要はありません)。
なぜこれらすべてが、いくつかの静的関数を持ち、EJBトラップがまったくないクラスである必要がないのですか?