この記事の著者は、
Jelasticプラットフォームの友人でありユーザーであるAnton Arkhipovです。 アントンは現在、
ZeroTurnaroundで
JRebelプロダクト
マネージャーの地位にあり、
devclub.euと
JUG.ee開発者コミュニティの共同設立者でもあります。
英語版の記事は
こちらで読むことができ
ます 。

JRebelのような製品を聞いたことがないかもしれません。 したがって、JRebelは、開発中にアプリケーションを再デプロイする問題を排除し、時間を節約するために設計されたツールです。 クラス構造、リソースファイル、およびフレームワーク構成ファイルに変更を加えた直後にアプリケーションを更新します。 このツールはJava開発者の間で非常に人気があることに注意してください。 無駄ではありません。JRebelを使用すると、開発者はアプリケーションを再構築してデプロイする必要がなくなります。 同時に、JavaEEの生産性に関する最新のレポートによると、1時間あたり平均10.5分のコーディングが節約されます。 これは毎年5週間以上の仕事です。つまり、チームの各開発者の月給が1か月以上になります。
最近、
JRebel 5.0のリリースがリリースされました。 このリリースの主な機能は、アプリケーションがクラウドで実行されている場合にJRebelを使用できる
JRebel Remoting機能です。
この機能を使用すると、クラウドでJavaアプリケーションを開発およびテストするのが非常に簡単になります。 JelasticクラウドプラットフォームにJRebelをインストールして設定する方法を見てみましょう。
JelasticにJRebelをインストールする
まず、アプリケーションをホストするために使用する環境を作成する必要があります。
開発者生産性レポート2012によると、最も広く使用されているサーバーであるTomcatをアプリケーションサーバーとしてみましょう。

環境を作成したら、JRebelエージェントのインストールに進むことができます。 これを行うには、
jrebel.jarをダウンロードします。 また、
{user.home} /。Jrebel folderにあるライセンスファイルを忘れないで
ください 。

Jelasticは数ヶ月前にJVMカスタムプロパティのサポートを導入しました。この機能を使用してJRebelを設定します。 これを行うには、
variables.confファイルにいくつかの変更を加える必要があります。
-javaagentパラメーターに加えて、
JRebel Remotingを機能させるには、
JRebel Remotingプラグインが必要です。 特別なJVM引数を使用して接続します。
-Drebel.remoting_plugin = trueこれで、JRebelログを表示して、このツールのインストールが成功したことを確認できます。 すべての変更を保存し、Tomcatを再起動して新しい構成設定を適用することを忘れないでください。
注意してください! JettyとTomcatのJRebelのインストール手順は実質的に同じです。 ただし、GlassFishは
variables.confの代わりに
domain.xmlまたは管理パネルを使用し
ます 。
アプリケーション構成
JRebel Remotingを機能さ
せるには 、
rebel.xmlと
rebel-remote.xmlの 2つの構成ファイルが必要
です 。 クラスローダーがプロジェクトファイルに加えられた変更を直接確認できる
ように 、JRebelにはrebel.xml構成ファイルが必要です。
Rebel-remote.xmlはリモート作業に必要です。 これは、モジュールIDとアプリケーションが利用可能なURLの2つのパラメーターを含む非常に単純な構成ファイルです。
両方の構成ファイルは、
Eclipse Marketplaceで入手可能なEclipse用のJRebelプラグインを使用して生成できます。

JRebel Remotingの動作
両方のファイルが生成されると、プロジェクトをwarアーカイブに収集してJelastic環境にデプロイできます。

プロジェクトを変更して、JRebelの動作をテストしましょう。

たとえば、最初のページ(welcome.jsp)を変更します。 「Welcome」ではなく「Welcome to Jelastic!」と記述し、JRebel IDEプラグインが提供する「Sync Now」メソッドを呼び出してアプリケーションを更新します。

その後、IDEコンソールに次のメッセージが表示されます。
Manually triggered JRebel remoting synchronization.
Scheduling JRebel Remoting synchronization for projects: petclinic
Starting manual synchronization for project: petclinic
Parsing configuration for /Users/anton/work-src/petclinic
Directory target/classes/ will be used for uploading
Directory src/main/webapp/ will be used for uploading
…
JRebel-Remoting uploaded changes successfully, have fun!
原則として、サーバーに変更をアップロードするのに約1秒かかりますが、これはもちろん接続に依存します。 同期が完了したら、ページを更新します-そして出来上がりです!

JRebel Remotingは現在、Eclipseで利用可能なIDEプラグインによってサポートされています。IntelliJおよびNetBeansのプラグインは間もなく利用可能になります。
JRebel 5.0と
Jelasticを使用すると 、再デプロイメントに余分な時間を費やすことなく、ローカルとリモートの両方で作業できるようになりました。 この投稿のコメントであなたの意見を試してみてください。 とても感謝しています。