מוצג המסמך של Apigee Edge.
עוברים אל
מסמכי תיעוד של Apigee X. מידע
מהו יתרונות מרכזיים של Java?
אם זו הפעם הראשונה שאתם משתמשים בתוספי יתרונות מרכזיים ב-Java, מומלץ להתחיל עם המאמר איך יוצרים נכסי Java יתרונות מרכזיים.
שימוש במאפיינים בנכס יתרונות מרכזיים ב-Java
מאפיינים מאפשרים לציין צמדים של שם/ערך במדיניות יתרונות מרכזיים של Java, שניתן לגשת אליהם מ: בקוד Java בזמן הריצה. צריך לציין מחרוזת מילולית לכל מאפיין. אי אפשר משתני זרימה של הפניות ברכיב הזה.
נבחן דוגמה פשוטה יתרונות מרכזיים ב-Java שמשתמשת במאפיינים. בדוגמה הזאת,
ליצור שרת proxy שכולל מדיניות יתרונות מרכזיים של Java. המדיניות משתמשת
רכיב <Properties>
לציון צמד של שם/ערך. בקוד Java,
מאחזרים את הערך ומשתמשים בו כדי להגדיר כותרת תגובה.
הורדת הפרויקט
כדי לפשט את התהליך, אפשר להוריד את הפרויקט ממאגר api-platform-samples ב-Apigee GitHub.
- מורידים או משכפלים api-platform-samples למערכת שלכם.
- בטרמינל או בעורך קוד שבחרתם, עוברים אל
פרויקט אחד (
api-platform-samples/doc-samples/java-properties
).
המדיניות בנושא יתרונות מרכזיים של Java
המדיניות משתמשת ברכיב <Properties>
. הרכיב הזה מאפשר לכם לציין
צמדים של שם/ערך. בזמן הריצה, קוד Java יכול לגשת לערכים של המאפיינים שצוינו
את המדיניות, כפי שנראה בקרוב.
<JavaCallout name="java-callout"> <ClassName>com.apigeesample.JavaProperties</ClassName> <ResourceURL>java://edge-custom-policy-java-properties.jar</ResourceURL> <Properties> <Property name="prop">WORLD!</Property> </Properties> </JavaCallout>
קוד Java לדוגמה
קוד Java בדוגמה הזו מראה איך מאחזרים מאפיין שצוין
מדיניות יתרונות מרכזיים של Java. בפרויקט לדוגמה, תוכלו למצוא את קוד המקור
java-properties/callout/src/main/java/JavaProperties.java
בסרטון הבא נעבור
להידור ולפריסה של הקוד בהמשך הנושא.
package com.apigeesample; import com.apigee.flow.execution.ExecutionContext; import com.apigee.flow.execution.ExecutionResult; import com.apigee.flow.execution.spi.Execution; import com.apigee.flow.message.MessageContext; import java.util.Map; public class JavaProperties implements Execution { private Map <String,String> properties; // read-only public JavaProperties(Map <String,String> properties) { this.properties = properties; } public ExecutionResult execute(MessageContext messageContext, ExecutionContext executionContext) { try { messageContext.getMessage().setHeader("X-PROPERTY-HELLO", this.properties.get("prop")); return ExecutionResult.SUCCESS; } catch (Exception e) { return ExecutionResult.ABORT; } } }
הידור הקוד באמצעות Maven
הפרויקט הוגדר כך שתוכלו להדר באמצעות Maven. אם רוצים להשתמש
javac
, נכלול גם דוגמה.
- עליכם לוודא ש-Maven מותקן במחשב שלכם:
mvn -version
- מריצים את הסקריפט
java-properties/buildsetup.sh
. הסקריפט מתקין את יחסי התלות הנדרשים של JAR במאגר Maven. - cd לספרייה
java-properties/callout
. - מפעילים את Maven:
mvn clean package
- אם רוצים, צריך לאמת את קובץ ה-JAR
edge-custom-policy-java-properties.jar
הועתק אלjava-properties/apiproxy/resources/java
. זו הדרישה המיקום של קובצי ה-JAR שרוצים לפרוס באמצעות שרת proxy.
הידור באמצעות Javac (אופציונלי)
אם רוצים להשתמש ב-javac
כדי להדר את הקוד, אפשר לבצע פעולה דומה לזו
הבא (מהספרייה java-properties
). קובצי ה-JAR הנדרשים סופקו
בשבילך בספרייה java-properties/lib
.
- c ל
api-platform-samples/doc-samples/java-properties
. - חשוב לוודא שהנתיב Javac (Javac).
javac -version
- מריצים את פקודת Javac הבאה:
javac -d . -classpath ./lib/expressions-1.0.0.jar:./lib/message-flow-1.0.0.jar:. callout/src/main/java/JavaProperties.java
- יצירת קובץ JAR:
jar -cvf edge-custom-policy-java-properties.jar ./com/apigeesample/JavaProperties.class
- מעתיקים את קובץ ה-JAR לספריית apiproxy/resources/Java. זה המיקום הנדרש
של קובצי JAR שרוצים לפרוס באמצעות שרת proxy.
cp edge-custom-policy-java-properties.jar apiproxy/resources/java
פריסה וקריאה לשרת ה-proxy
סקריפט לפריסה מסופק בספרייה ./java-properties
. אבל לפני שמתחילים
להריץ אותו, תצטרכו לבצע הגדרה מהירה.
- cd ל-
api-platform-samples/doc-samples/java-properties
- אם עדיין לא עשית זאת, עליך לפתוח את הקובץ
../../setup/setenv.sh
ולערוך אותו כפי שמצוין בפרטי חשבון Apigee שלך: שם המשתמש שלך (כתובת האימייל) שמשויך לחשבון שלך), שם הארגון והדומיין שמשמש אותך ליצירת API שיחות ניהול. לדוגמה, בענן של Edge, הדומיין הואhttps://api.enterprise.apigee.com
; אבל הדומיין שלכם עשוי להיות שונה באמצעות ענן פרטי של Edge. - שומרים את קובץ ה-
setenv.sh
. - מריצים את סקריפט הפריסה:
./deploy.sh
- אם הפריסה מצליחה, מריצים את סקריפט ההפעלה:
./invoke.sh
סקריפט ההפעלה קורא לפקודת cURL שנראית כך:
curl http://$org-$env.$api_domain/java-properties
שרת ה-proxy מחזיר את הכותרת:
X-PROPERTY-HELLO: WORLD!
. זכרו שבשדה הוספנו צמד של שם/ערך לנכס"prop/WORLD!"
. ההסבר ב-Java מאחזר את הערך"WORLD!"
ומגדיר אותו בכותרת שנקראתX-PROPERTY-HELLO
:messageContext.getMessage().setHeader("X-PROPERTY-HELLO", this.properties.get("prop"));