Azureの小ネタ (改)

~Azureネタを中心に、色々とその他の技術的なことなどを~

Windows Azure for Java を試すよ その2

前回からの「Windows Azure for Javaを試すよ その1」の続きです。前回はWindows Azure プロジェクトの作成まで行いました。

WARの配置

HelloWorldプロジェクトのコンテキストメニューから、[エクスポート]-[WARファイル]を選択。AzureプロジェクトのWorkerRole1\approotに配置します。既存のWARファイルがありますが上書きします。既存のWARファイルを使って実行できるのかは試していないので不明です。


image

ちゃんと上書れたか確認したい場合は、WARファイルを選択して、プロパティから確認できます。

JDK/Tomcatの配置

ZIP化したJDKやapace-tomcat-7.0.22をapprootフォルダに配置します。プロのAzurerなら、SDK1.5で追加されたContent属性を使った方が方が楽なんじゃないかと思いつつ用意します。Java、Tomocatともに32/64bit版が用意されていたりしますが、ここは32bitで進めてみます。

 

JDKを、JDK.zipというファイル名で、ZIP化してapproot直下に格納しますが、ルートフォルダは「JDK」にする必要があります。
Tomcatは、apace-tomcat-7.0.22 をTomcat7.zipとしておけばOK。

image

上記プロジェクトのSamplesフォルダをよく見ると、各Webサーバ毎のスタートアップスクリプト群が用意されています。今回は、Tomcat用ファイルを開き、内容をStartup.cmdへ上書きします。

今回手元に「apace-tomcat-7.0.21」があったのでそれを使いましたが、そのような場合やWARを変えたい場合はスクリプトを直接修正する必要がありそうです。

:: 4) Update SERVER_DIR_NAME below as appropriate:
::    (IMPORTANT: There must be no trailing nor leading whitespace around the setting)

SET SERVER_DIR_NAME=apache-tomcat-7.0.21

:: 5) To deploy your own WAR file, place it in approot and update WAR_NAME below:
::   (IMPORTANT: There must be no trailing nor leading whitespace around the setting)

SET WAR_NAME=HelloWorld.war

次に[プロジェクト]-[プロジェクトのビルド]を実行します。コンソールに以下のような感じで表示されるとOKっぽいでしょう(この時点で検証しながら書いているんで正しいか不明ですw)

image

 

エミュレーターの起動

いよいよローカルで実行してみます。
Eclispseから通常の実行ができるわけではなく、emulatorToolsフォルダにある、「RunInEmulator.cmd」 をダブルクリックして実行します。エミュレータの起動画面が表示されます。

image

そしてスタートアップスクリプトの実行の様子が表示されますが、、、、JDKTomcatのUnzipがめちゃくちゃ遅い。体感で5分以上かかった感じが。

image

うまく行けば、Tomcatが起動します。

image

 

HelloWorldにアクセスすればごらんの通り。

image

ローカルホストにアクセスするとTomcatが動作していることが分かります。

image

おまけ

実行時には、ルート直下にリンクが作成、展開されます。そのため、そこを参照するとどうなっているか分かると思います。

image

 

面倒なのでAzure環境にはデプローーーーイしておりませんので、あしからず。Tomcatを動作させるくらいなら、ProgramEntryPoint使った方が楽ちんかも。