質問: 次期メジャーバージョンアップのApache Camel 3 で、「開発者から見て」目玉となる機能は何でしょうか? Apache Camel 開発者と親しく、現在の取り組みをご存知の方がいれば教えてください。 機能的な面もそうですが、もしも非機能面的なものもありましたらそれもお教えください。
回答: Camel の開発者メーリングリストを購読し、また定期的にプロジェクトリードの Claus を含む Camel 開発者チーム(の一部)とのオンラインミーティングに参加している者です。私自身も、現在40コミットほど Camel へのコントリビュートがあります。 まず、とりあえず現時点で Camel 3 について出されている様々なアイディアは、こちらにまとめられています。 私が見聞きする限り、一番大きなところは、camel-core のアーキテクチャの刷新になると思います。 現在の camel-core はクラシックな再帰構造でエンジンのパイプラインが実装されているため、メソッド呼び出しのスタックが深くなってしまう問題があります。最近では Node.js や Vert.x、Akka など Reactive Programming が注目されているので、camel-core のエンジンもリアクティブな作りに再構築しよう、というのが大きな目標になります。 また、エンジンのリアクティブ化と関連して、camel-core の API を明確化しようというのも目標の1つです。API の明確化によって、280以上あるコンポーネントはそのままで、コアのエンジンだけクラシックな実装とリアクティブな実装とを切り替えて使えるようになる、というメリットがあります。 実際には、camel-core も軽量とはいえ、既に内部実装はかなり複雑化してきているので、リアクティブに完全に書き換えるという試みはなかなか難しいようです。 その他、細かなところでは、現在 2.x 系で鋭意使われなくなったコンポーネントの `@Deprecated` 化が進められていますが、3.0 ではそれらはすべてゴソッと削除されます。コードベースがよりクリーンになるでしょう。