Google DataStoreにデプロイしたときに、ローカルで実行中のSpring BootアプリをGoogle App Engineに接続しようとしています。 Objectifyは、ObjectifyとGoogle Remote APIを使用していますが、ObjectifyはApp Engine(?)にデプロイされている場合にのみ機能します。問題は、DataStoreと通信しようとすると、Google Remote APIが404を投げていることです。私は私のJARベースの春のブートアプリケーションでは使用しないweb.xmlの設定を設定することについてgoogle docsの説明で春の起動時に私の設定が間違っているかもしれないと思う。私はSpringBootServletInitializerクラスを作成して、サーブレット(下のコード)を登録しようとしました。私はこれをAWSの観点から見ていますが、これまでのところ私はGoogleのクラウドが悪夢であることを発見しました! DynamoDBへの接続はずっと簡単ですし、何かが欠けているはずです。Google Remote API 404 on Springboot
import com.google.apphosting.utils.remoteapi.RemoteApiServlet;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.boot.web.support.SpringBootServletInitializer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
/**
* Created by Thomas on 01/07/2017.
*/
@Configuration
public class GoogleRemoteApiConfig extends SpringBootServletInitializer {
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(GoogleRemoteApiConfig.class, "/remote_api");
}
@Bean
public ServletRegistrationBean remoteApiRegistration() {
ServletRegistrationBean registration = new ServletRegistrationBean(new RemoteApiServlet(), "/remote_api");
Map<String,String> params = new HashMap<String,String>();
registration.setInitParameters(params);
registration.setLoadOnStartup(1);
registration.setUrlMappings(Arrays.asList("/remote_api"));
registration.setName("RemoteApiServlet");
return registration;
}
}
GAE flexibleを使用しているようです。 https://github.com/objectify/objectify/wiki/FrequentlyAskedQuestions#can-i-use-objectify-from-a-gae-flexible-runtimeを確認することができます。 https://github.com/objectify/objectify/wiki/Setup#guice-alternativeを試しましたか? – Siva