Windows Azure, приложение на Java "Hello World" с использованием JDK 1.6 и Glassfish 3. (ru-RU)
——- ** Цикл "Windows Azure & Java": Windows Azure, приложение на Java "Hello World" с использованием JDK 1.6 и Tomcat 7. Windows Azure, приложение на Java "Hello World" с использованием JDK 1.6 и Glassfish 3 Windows Azure, приложение на Java. Service Runtime Library Вопросы отладки Java-приложений. Дополнительные возможности. Remote Desktop, Session Affinity. Windows Azure & Java. Основы хранилища. Блобы. Доступ из локального приложения. Windows Azure & Java. Основы хранилища. Очереди. Доступ из локального приложения. Windows Azure & Java. Что такое Service Bus и как её использовать из Java-приложения. Часть 1. Windows Azure & Java. Что такое Service Bus и как её использовать из Java-приложения. Часть 2. Топики. ——-**
Двигаемся дальше в необходимости разрабатывать приложения на Java для Windows Azure с использованием Java-related технологий и серверов. Поскольку основной алгоритм настройки очень похож на описываемый в предыдущей статье, ограничусь только отличиями в некоторых моментах.Так, из предыдущей статьи необходимо выполнить все настройки вплоть до создания облачного проекта.
После этого необходимо открыть файл ServiceDefinition.cscfg и добавить информацию по точкам входа и импортированию модуля диагностики.
http://hpcru.files.wordpress.com/2012/03/image_thumb45.png?w=244&h=126
Ваш файл ServiceDefinition.cscfg после редактирования должен выглядеть как код ниже.
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<ServiceDefinition xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" name="WindowsAzureProject">
<WorkerRole name="WorkerRole1" vmsize="Small">
<Startup>
<!-- Sample startup task calling startup.cmd from the role's approot folder -->
<Task commandLine="util/.start.cmd startup.cmd" executionContext="elevated" taskType="simple"/>
</Startup>
<Runtime executionContext="elevated">
<EntryPoint>
<!-- Sample entry point calling run.cmd from the role's approot folder -->
<ProgramEntryPoint commandLine="run.cmd" setReadyOnProcessStart="true"/>
</EntryPoint>
</Runtime>
<Imports>
<Import moduleName="Diagnostics" />
</Imports>
<Endpoints>
<InputEndpoint localPort="8080" name="HttpListener1" port="8080" protocol="tcp"/>
<InputEndpoint localPort="8181" name="HttpListener2" port="8181" protocol="tcp"/>
<InputEndpoint localPort="4848" name="HttpListener3" port="4848" protocol="tcp"/>
<InputEndpoint localPort="8686" name="JMXConnectorPort" port="8686" protocol="tcp"/>
<InputEndpoint localPort="9009" name="RemoteDebuggingPort" port="9009" protocol="tcp"/>
</Endpoints>
</WorkerRole>
</ServiceDefinition>
Далее нам можно воспользоваться уже проверенным способом и скопировать из папки samples в корне содержимое файла startupGlassFishOSE3.txt в файл startup.cmd и заменить соответствующие “болванки” на необходимые значения. Ваш startup.cmd должен выглядеть как код ниже.
:: *** Sample startup script containing the steps for starting GlassFish Server OSE 3 and deploying a WAR file.
:: *** (Last tested with GlassFish Server OSE 3.1.1)
:: To use the sample, follow these steps:
:: 1) Copy all this content into approot/startup.cmd in the role folder, close this file, and edit the copy
:: 2) Place a JDK distribution as jdk.zip under approot
:: 3) Place a GlassFish Server OSE 3.x distribution as glassfish3.zip under approot in your project
:: 3.1) If you want to download the server into Azure directly from a URL instead, then
:: uncomment the next line and modify the URL as appropriate:
:: cscript /NoLogo "util\download.vbs" "http://download.java.net/glassfish/3.1.1/release/glassfish-3.1.1.zip" "glassfish3.zip"
:: 4) Update SERVER_DIR_NAME below as appropriate:
:: (IMPORTANT: There must be no trailing nor leading whitespace around the setting)
SET SERVER_DIR_NAME=glassfish3
:: 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
:: **************************************************************
:: *** Do not make changes below unless you know what you're doing.
rd "\%ROLENAME%"
mklink /D "\%ROLENAME%" "%ROLEROOT%\approot"
cd /d "\%ROLENAME%"
cscript /NoLogo util\unzip.vbs jdk.zip "%CD%"
cscript /NoLogo util\unzip.vbs glassfish3.zip "%CD%"
set JAVA_HOME=\%ROLENAME%\jdk
set PATH=%PATH%;%JAVA_HOME%\bin
cd "%SERVER_DIR_NAME%"
cmd /c bin\asadmin.bat start-domain
cmd /c bin\asadmin.bat deploy "\%ROLENAME%\%WAR_NAME%"
@ECHO OFF
if %ERRORLEVEL%==0 exit %ERRORLEVEL%
choice /d y /t 5 /c Y /N /M "*** Windows Azure startup failed - exiting..."
exit %ERRORLEVEL%
Обратите внимание на н��которые новые директивы, в том числе cmd /c bin\asadmin.bat start-domain и deploy. Это стандартные директивы для запуска сервера GlassFish и они должны вам быть хорошо знакомы, если вы уже использовали ранее GlassFish.
На этом конфигурация под GlassFish закончена и вы можете воспользоваться дальнейшими инструкциями по развертыванию из предыдущей статьи.