במדריך הזה מוסבר איך לכתוב שירות אינטרנט ב-Java כדי להפעיל אותו בסביבה הרגילה של App Engine. מידע נוסף על זמן הריצה של Java ועל אופן הפעולה שלו מופיע במאמר סביבת זמן ריצה של Java.
לפני שמתחילים
אם עדיין לא עשיתם זאת:
- מתקינים את הגרסה האחרונה של Java Development Kit (JDK) לגרסת זמן הריצה של App Engine שבה אתם מתכננים להשתמש.
- מורידים ומתקינים את Apache Maven כדי ליצור, להפעיל ולפרוס את האפליקציה לדוגמה.
נקודות עיקריות
- App Engine מפעיל את האפליקציה על ידי העלאה של קובץ JAR שניתן להפעלה.
- באפליקציה שלכם צריך להיות מחלקה ראשית שמפעילה שרת אינטרנט שמגיב לבקשות HTTP ביציאה שצוינה על ידי משתנה הסביבה PORT, בדרך כלל 8080.
- כדי לפרוס את השירות ב-App Engine, צריך קובץ
app.yaml. - כדי להשתמש בתלות, צריך לפרט אותן בקובץ
pom.xml. מידע נוסף זמין במאמר שימוש בספריות Java.
יצירת כיתה ראשית
הליבה של שירות האינטרנט היא שרת ה-HTTP. קוד הדוגמה במדריך הזה משתמש ב-framework Spring Boot כדי לטפל בבקשות HTTP, אבל אתם יכולים להשתמש ב-framework אינטרנטי לפי בחירתכם.
תצור פרויקט Spring Boot ל-Java שמשתמש במערכת build Maven ומכיל את התלות Spring Web. כדי להתחיל, לוחצים על הקישור הבא:
ב-Spring Initializer, לוחצים על הלחצן Generate כדי ליצור ולהוריד את הפרויקט.
בפרויקט שהורדתם, עורכים את הקובץ
springboot/src/main/java/com/example/appengine/springboot/DemoApplication.javaכדי להוסיף כמה ייבוא של Java ומטפל REST hello:package com.example.appengine.springboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @SpringBootApplication @RestController public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } @GetMapping("/") public String hello() { return "Hello world!"; } }המחלקות ששונו הן בקר שמתחיל את שרת Tomcat המוטמע של Spring Boot ומגיב לבקשות
GETבנתיב הבסיס ('/') עם הטקסט Hello world!.
הפעלת השרת באופן מקומי
כדי להריץ את השרת באופן מקומי:
מפעילים שרת אינטרנט מקומי באמצעות התוסף Spring Boot Maven.
mvn spring-boot:runבדפדפן האינטרנט, מזינים את הכתובת הבאה:
http://localhost:8080
ההודעה Hello World מאפליקציית הדוגמה מוצגת בדף. בחלון הטרמינל, מקישים על Ctrl+C כדי לצאת משרת האינטרנט.
יצירת קובץ app.yaml
כדי לציין הגדרות לאפליקציה בסביבת זמן הריצה של App Engine:
יוצרים קובץ בשם
app.yamlבספרייה הבאה:
springboot/src/main/appengine/מוסיפים את התוכן הבא לקובץ:
Java 21
runtime: java21בקובץ
app.yamlאפשר גם לציין הגדרות רשת, הגדרות שינוי גודל ועוד. מידע נוסף זמין במקור המידעapp.yaml.
אם השתמשתם בקישור Spring Initializr שלמעלה, אמורה להיות לכם עכשיו מבנה קבצים כמו זה:
springboot/pom.xmlsrc/main/appengine/app.yaml
java/com/example/appengine/springboot/DemoApplication.java
אפשר גם להוסיף לקובץ pom.xml של הפרויקט את פלאגין Maven שמאפשר פריסה של האפליקציה:
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>2.8.1</version>
<configuration>
<projectId>YOUR_PROJECT_NAME</projectId>
<version>YOUR_VERSION</version>
<promote>false</promote>
</configuration>
</plugin>
השלבים הבאים
אחרי שיצרתם שרת אינטרנט פשוט ב-Java שמקשיב ליציאה הנכונה וציינתם את סביבת זמן הריצה בקובץ app.yaml, אתם מוכנים לפרוס את השירות ב-App Engine.