מוצג המסמך של 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"));