Jak używać właściwości w objaśnieniu Java

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.

  1. Pobierz lub skopiuj do systemu plik api-platform-samples.
  2. 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.

  1. Sprawdź, czy masz zainstalowaną aplikację Maven:
    mvn -version
    
  2. Uruchom skrypt java-properties/buildsetup.sh. Skrypt ten instaluje wymagane zależności JAR w lokalnym repozytorium Maven.
  3. cd do katalogu java-properties/callout.
  4. Uruchom narzędzie Maven:
    mvn clean package
    
  5. Jeśli chcesz, sprawdź, czy plik JAR edge-custom-policy-java-properties.jar Skopiowano do folderu java-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.

  1. CD do api-platform-samples/doc-samples/java-properties.
  2. Upewnij się, że ścieżka zawiera bibliotekę javac.

    javac -version
    
  3. 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
    
  4. Utwórz plik JAR:

    jar -cvf edge-custom-policy-java-properties.jar ./com/apigeesample/JavaProperties.class
  5. 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ę.

  1. CD: api-platform-samples/doc-samples/java-properties
  2. 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 to https://api.enterprise.apigee.com; Twoja domena może być jednak inna, jeśli przy użyciu Edge Private Cloud.
  3. Zapisz plik setenv.sh.
  4. Uruchom skrypt wdrażania:
    ./deploy.sh
    
  5. 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 nazwie X-PROPERTY-HELLO:

    messageContext.getMessage().setHeader("X-PROPERTY-HELLO", this.properties.get("prop"));