再配置との戦いが雲に届く

この記事の著者は、 Jelasticプラットフォームの友人でありユーザーであるAnton Arkhipovです。 アントンは現在、 ZeroTurnaroundJRebelプロダクトマネージャーの地位にあり、 devclub.euJUG.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.xmlrebel-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.0Jelasticを使用すると 、再デプロイメントに余分な時間を費やすことなく、ローカルとリモートの両方で作業できるようになりました。 この投稿のコメントであなたの意見を試してみてください。 とても感謝しています。

Source: https://habr.com/ru/post/J146240/


All Articles