Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Co to jest objaśnienie w Javie?
Jeśli dopiero zaczynasz korzystać z objaśnień w języku Java, najlepiej zacznij od przeczytania artykułu o tworzeniu w języku Java: .
Używanie właściwości w objaśnieniu Java
Właściwości umożliwiają określenie par nazwy i wartości w zasadach wywołań Java, do których masz dostęp z kodem Java w czasie działania. Dla każdej właściwości musisz określić wartość ciągu literału. nie możesz .
Przyjrzyjmy się prostemu przykładowi objaśnienia w Javie, które korzysta z właściwości. W tym przykładzie
utwórz serwer proxy zawierający zasadę dotyczącą wywołań języka Java. Zasada używa
<Properties>
– element określający parę nazwa/wartość. W kodzie Java
pobierze wartość i użyj jej do ustawienia nagłówka odpowiedzi.
Pobierz projekt
Dla ułatwienia możesz pobrać ten projekt z repozytorium Apigee api-platform-samples w witrynie GitHub.
- Pobierz lub skopiuj do systemu plik api-platform-samples.
- W wybranym terminalu lub edytorze kodu otwórz
api-platform-samples/doc-samples/java-properties
projekt.
Zasada dotycząca wywołań w Javie
Zasada używa elementu <Properties>
. Ten element pozwala określić
pary nazw i wartości. W czasie działania kod Java może uzyskiwać dostęp do wartości właściwości określonych w
które już wkrótce zobaczymy.
<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>
Przykładowy kod w Javie
W tym przykładzie pokazujemy, jak pobrać właściwość, która została określona w tagu
Zasada dotycząca objaśnień w Javie. W przykładowym projekcie możesz znaleźć kod źródłowy w
java-properties/callout/src/main/java/JavaProperties.java
Omówimy:
dowiesz się, jak skompilować i wdrożyć ten kod w dalszej części tego tematu.
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; } } }
Kompilowanie kodu w narzędziu Maven
Projekt jest skonfigurowany tak, że możesz kompilować je w narzędziu Maven. Jeśli chcesz użyć funkcji
javac
, podamy również przykład.
- Sprawdź, czy masz zainstalowaną aplikację Maven:
mvn -version
- Uruchom skrypt
java-properties/buildsetup.sh
. Skrypt ten instaluje wymagane zależności JAR w lokalnym repozytorium Maven. - cd do katalogu
java-properties/callout
. - Uruchom narzędzie Maven:
mvn clean package
- Jeśli chcesz, sprawdź, czy plik JAR
edge-custom-policy-java-properties.jar
Skopiowano do folderujava-properties/apiproxy/resources/java
. To pole jest wymagane lokalizacja na pliki JAR, które chcesz wdrożyć za pomocą serwera proxy.
Kompilowanie za pomocą biblioteki javac (opcjonalnie)
Jeśli do skompilowania kodu chcesz użyć narzędzia javac
, możesz zrobić coś podobnego
(z katalogu java-properties
). Wymagane pliki JAR są udostępnione
znajdziesz w katalogu java-properties/lib
.
- CD do
api-platform-samples/doc-samples/java-properties
. - Upewnij się, że ścieżka zawiera bibliotekę javac.
javac -version
- Uruchom to polecenie javac:
javac -d . -classpath ./lib/expressions-1.0.0.jar:./lib/message-flow-1.0.0.jar:. callout/src/main/java/JavaProperties.java
- Utwórz plik JAR:
jar -cvf edge-custom-policy-java-properties.jar ./com/apigeesample/JavaProperties.class
- Skopiuj plik JAR do katalogu apiproxy/resources/java. To jest wymagana lokalizacja
w przypadku plików JAR, które chcesz wdrożyć za pomocą serwera proxy.
cp edge-custom-policy-java-properties.jar apiproxy/resources/java
Wdróż i wywołaj serwer proxy
Skrypt wdrażania jest dostępny w katalogu ./java-properties
. Zanim jednak
musisz przeprowadzić szybką konfigurację.
- CD:
api-platform-samples/doc-samples/java-properties
- Otwórz plik
../../setup/setenv.sh
i zmodyfikuj go (jeśli jeszcze nie jest otwarty). – zgodnie z informacjami o koncie Apigee: Twoja nazwa użytkownika (adres e-mail) powiązane z Twoim kontem), nazwę organizacji oraz domenę, której używasz do tworzenia interfejsu API rozmów z menedżerem. Na przykład w przypadku Edge Cloud domena tohttps://api.enterprise.apigee.com
; Twoja domena może być jednak inna, jeśli przy użyciu Edge Private Cloud. - Zapisz plik
setenv.sh
. - Uruchom skrypt wdrażania:
./deploy.sh
- Jeśli wdrożenie się powiedzie, uruchom skrypt wywołujący:
./invoke.sh
Skrypt wywołujący wywołuje polecenie cURL, które wygląda tak:
curl http://$org-$env.$api_domain/java-properties
Serwer proxy zwraca nagłówek:
X-PROPERTY-HELLO: WORLD!
. Pamiętaj, że w sekcji zasady, dodaliśmy parę nazwa/wartość właściwości"prop/WORLD!"
. Objaśnienie Java pobiera wartość"WORLD!"
i ustawia ją w nagłówku o nazwieX-PROPERTY-HELLO
:messageContext.getMessage().setHeader("X-PROPERTY-HELLO", this.properties.get("prop"));