Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
Co to jest objaśnienie Java?
Jeśli nie masz doświadczenia z objaśnieniami w Javie, najpierw przeczytaj artykuł Jak utworzyć objaśnienie w Javie.
Używanie właściwości w objaśnieniu Java
Właściwości umożliwiają określanie par nazwa-wartość w zasadzie objaśnień Java, do których masz dostęp w kodzie Java w czasie działania. W przypadku każdej właściwości musisz określić literałową wartość ciągu znaków. W tym elemencie nie możesz się odwoływać do zmiennych przepływu.
Przyjrzyjmy się prostemu przykładowi objaśnienia w Javie, które korzysta z właściwości. W tym przykładzie tworzymy serwer proxy z zasadą dotyczącą objaśnień Java. Zasada określa parę nazwa/wartość za pomocą elementu <Properties>
. Pobieramy wartość z kodu Java i używamy jej do ustawienia nagłówka odpowiedzi.
Pobierz projekt
Dla uproszczenia możesz pobrać ten projekt z repozytorium Apigee api-platform-samples na GitHubie.
- Pobierz lub skopiuj parametr api-platform-samples do swojego systemu.
- W wybranym terminalu lub edytorze kodu otwórz projekt
api-platform-samples/doc-samples/java-properties
.
Zasada dotycząca objaśnień Java
Zasada używa elementu <Properties>
. Ten element umożliwia określenie par nazwa-wartość. W czasie działania kod Java ma dostęp do wartości właściwości określonych w zasadzie, jak za chwilę 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 Java
Kod Java w tym przykładzie pokazuje, jak pobrać właściwość określoną w zasadzie objaśnień Java. W przykładowym projekcie kod źródłowy znajduje się w sekcji java-properties/callout/src/main/java/JavaProperties.java
. Kroki kompilowania i wdrażania tego kodu omówimy 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 za pomocą narzędzia Maven
Projekt jest skonfigurowany tak, aby można było skompilować projekt w narzędziu Maven. Jeśli chcesz użyć właściwości javac
, pokażemy Ci też przykład.
- Sprawdź, czy masz zainstalowane narzędzie Maven:
mvn -version
- Uruchom skrypt
java-properties/buildsetup.sh
. Ten skrypt instaluje wymagane zależności JAR w lokalnym repozytorium Maven. - cd do katalogu
java-properties/callout
. - Wykonaj Maven:
mvn clean package
- Jeśli chcesz, sprawdź, czy plik JAR
edge-custom-policy-java-properties.jar
został skopiowany do usługijava-properties/apiproxy/resources/java
. To jest wymagana lokalizacja plików JAR, które chcesz wdrożyć za pomocą serwera proxy.
Kompilacja za pomocą języka javac (opcjonalnie)
Jeśli chcesz skompilować kod za pomocą polecenia javac
, możesz zrobić to w podobny sposób (z katalogu java-properties
). Wymagane pliki JAR znajdziesz w katalogu java-properties/lib
.
- CD na
api-platform-samples/doc-samples/java-properties
. - Upewnij się, że w ścieżce jest plik javac.
javac -version
- Wykonaj 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 plików JAR, które chcesz wdrożyć za pomocą serwera proxy.
cp edge-custom-policy-java-properties.jar apiproxy/resources/java
Wdrażanie i wywoływanie serwera proxy
Skrypt wdrażania znajduje się w katalogu ./java-properties
. Ale zanim ją uruchomisz, musisz ją szybko skonfigurować.
- cd do
api-platform-samples/doc-samples/java-properties
- Otwórz plik
../../setup/setenv.sh
i edytuj go zgodnie z informacjami o Twoim koncie Apigee: nazwą użytkownika (adresem e-mail powiązanym z kontem), nazwą organizacji i domeną, której używasz do wykonywania wywołań zarządzania przez interfejs API. Na przykład w przypadku Edge Cloud domena tohttps://api.enterprise.apigee.com
, ale Twoja domena może być inna, jeśli używasz Edge Private Cloud. - Zapisz plik
setenv.sh
. - Uruchom skrypt wdrożenia:
./deploy.sh
- Jeśli wdrożenie się powiedzie, wykonaj skrypt wywoływania:
./invoke.sh
Skrypt wywołania 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 do zasady dodaliśmy parę nazwa/wartość właściwości"prop/WORLD!"
. Objaśnienie w Javie pobiera wartość"WORLD!"
i ustawia ją w nagłówku o nazwieX-PROPERTY-HELLO
:messageContext.getMessage().setHeader("X-PROPERTY-HELLO", this.properties.get("prop"));