Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class GuiceServletConfig extends GuiceServletContextListener {
- @Override
- protected Injector getInjector() {
- return Guice.createInjector(new ServerModule(), new DispatchServletModule());
- }
- }
- public class ServerModule extends ActionHandlerModule {
- @Override
- protected void configureHandlers() {
- bind(Datastore.class).to(GAEDatastore.class).in(Singleton.class);
- bind(MemCacheManager.class).to(MemCacheManagerImpl.class);
- }
- @Provides
- @Singleton
- public Log getLogger() {
- return new Log4JLogger("tatOnlineLogger");
- }
- ...
- public class DispatchServletModule extends GuiceSystemServiceServletModule {
- @Override
- public void configureServlets() {
- super.configureServlets();
- Set<Class<?>> serviceClasses = new HashSet<Class<?>>();
- //v1
- serviceClasses.add(endpointAV1.class);
- serviceClasses.add(endpointBV1.class);
- //v2
- serviceClasses.add(endpointAV2.class);
- serviceClasses.add(endpointBV2.class);
- this.serveGuiceSystemServiceServlet("/_ah/spi/*", serviceClasses);
- }
- public class FooEndpointsModule extends EndpointsModule {
- @Override
- public void configureServlets() {
- bind(TestEndpoint.class).toInstance(new TestEndpoint());
- configureEndpoints("/_ah/api/*", ImmutableList.of(TestEndpoint.class));
- }
- }
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
- <web-app xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
- version="2.5">
- <servlet>
- <servlet-name>EndpointsServlet</servlet-name>
- <servlet-class>com.google.api.server.spi.EndpointsServlet</servlet-class>
- <init-param>
- <param-name>services</param-name>
- <param-value>com.myendpoints.endpointAV1,com.myendpoints.endpointAV2,com.myendpoints.endpointBV1,com.myendpoints.endpointBV2</param-value>
- </init-param>
- <init-param>
- <param-name>restricted</param-name>
- <param-value>false</param-value>
- </init-param>
- </servlet>
- <servlet-mapping>
- <servlet-name>EndpointsServlet</servlet-name>
- <url-pattern>/_ah/api/*</url-pattern>
- </servlet-mapping>
- <welcome-file-list>
- <welcome-file>index.html</welcome-file>
- </welcome-file-list>
- <filter>
- <filter-name>endpoints-api-configuration</filter-name>
- <filter-class>com.google.api.control.ServiceManagementConfigFilter</filter-class>
- </filter>
- <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>APPID</param-value>
- </init-param>
- <init-param>
- <param-name>endpoints.serviceName</param-name>
- <param-value>APPID.appspot.com</param-value>
- </init-param>
- </filter>
- <filter-mapping>
- <filter-name>endpoints-api-configuration</filter-name>
- <servlet-name>EndpointsServlet</servlet-name>
- </filter-mapping>
- <filter-mapping>
- <filter-name>endpoints-api-controller</filter-name>
- <servlet-name>EndpointsServlet</servlet-name>
- </filter-mapping>
- </web-app>
- @Override
- public void configureServlets() {
- super.configureServlets();
- bind(Datastore.class).to(GAEDatastore.class).in(Singleton.class);
- bind(MemCacheManager.class).to(MemCacheManagerImpl.class);
- Set<Class<?>> serviceClasses = new HashSet<Class<?>>();
- //v1
- serviceClasses.add(endpointAV1.class);
- serviceClasses.add(endpointBV1.class);
- //v2
- serviceClasses.add(endpointAV2.class);
- serviceClasses.add(endpointBV2.class);
- configureEndpoints("/_ah/api/*", serviceClasses);
- }
- @Provides
- @Singleton
- public Log getLogger() {
- return new Log4JLogger("tatOnlineLogger");
- }
- ...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement