2017-05-07 43 views
1

我們的appengine應用程序由多個微服務部署在標準和flex環境中組成。既然我們同時使用flex和標準,我們選擇jerse來實現我們的後端服務,因爲端點框架不適用於flex。我們無法將Jersey + Appengine Standard + Endpoint的這種組合結合起來。當我們使用gcloud雲管理器部署swagger時,它不會鏈接到後端服務。Jersey with Appengine Standard和CloudEndpoints

我找不到有關如何在不使用端點框架註釋的情況下集成App引擎標準和端點的任何文檔。

有沒有人使用組合 澤西島+應用引擎標準+雲端點實施了其他服務後端。是否有可能在不使用端點框架註釋的情況下集成雲端點和appengine標準。

請注意:我們已經測試了Jersey + Flex +端點,它的工作原理。

回答

0

這沒有測試或記錄,所以你正在玩一個新的領域。它應該可以工作,我很樂意嘗試並幫助您調試它。要在標準使用端點使用Flex,你必須這樣做:

  1. 包括這種依賴性:

    <dependency> <groupId>com.google.endpoints</groupId> <artifactId>endpoints-management-control-appengine-all</artifactId> <version>${endpoints.management.version}</version> </dependency>

  2. 此配置添加到您的web.xml,然後添加一個filter-mapping走在前面球衣:

    <filter> <filter-name>endpoints-api-controller</filter-name> <filter-class>com.google.api.control.extensions.appengine.GoogleAppEngineControlFilter</filter-class> <init-param> <param-name>endpoints.projectId</param-name> <param-value>${endpoints.project.id}</param-value> </init-param> <init-param> <param-name>endpoints.serviceName</param-name> <param-value>echo-api.endpoints.${endpoints.project.id}.cloud.goog</param-value> </init-param> </filter>

  3. 上傳的OpenAPI SP使用gcloud service-management deploy進行定義。
  4. appengine-web.xml,添加環境變量定義:

    <env-variables> <env-var name="ENDPOINTS_SERVICE_NAME" value="echo-api.endpoints.${endpoints.project.id}.cloud.goog" /> </env-variables>