Advertisement
Guest User

Untitled

a guest
Aug 16th, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.05 KB | None | 0 0
  1. public class GuiceServletConfig extends GuiceServletContextListener {
  2.  
  3. @Override
  4. protected Injector getInjector() {
  5. return Guice.createInjector(new ServerModule(), new DispatchServletModule());
  6. }
  7.  
  8. }
  9.  
  10. public class ServerModule extends ActionHandlerModule {
  11.  
  12. @Override
  13. protected void configureHandlers() {
  14. bind(Datastore.class).to(GAEDatastore.class).in(Singleton.class);
  15. bind(MemCacheManager.class).to(MemCacheManagerImpl.class);
  16. }
  17.  
  18. @Provides
  19. @Singleton
  20. public Log getLogger() {
  21. return new Log4JLogger("tatOnlineLogger");
  22. }
  23. ...
  24.  
  25. public class DispatchServletModule extends GuiceSystemServiceServletModule {
  26. @Override
  27. public void configureServlets() {
  28. super.configureServlets();
  29. Set<Class<?>> serviceClasses = new HashSet<Class<?>>();
  30. //v1
  31. serviceClasses.add(endpointAV1.class);
  32. serviceClasses.add(endpointBV1.class);
  33.  
  34. //v2
  35. serviceClasses.add(endpointAV2.class);
  36. serviceClasses.add(endpointBV2.class);
  37.  
  38.  
  39. this.serveGuiceSystemServiceServlet("/_ah/spi/*", serviceClasses);
  40. }
  41.  
  42. public class FooEndpointsModule extends EndpointsModule {
  43. @Override
  44. public void configureServlets() {
  45. bind(TestEndpoint.class).toInstance(new TestEndpoint());
  46. configureEndpoints("/_ah/api/*", ImmutableList.of(TestEndpoint.class));
  47. }
  48. }
  49.  
  50. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  51.  
  52. <web-app xmlns="http://java.sun.com/xml/ns/javaee"
  53. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  54. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  55. version="2.5">
  56.  
  57. <servlet>
  58. <servlet-name>EndpointsServlet</servlet-name>
  59. <servlet-class>com.google.api.server.spi.EndpointsServlet</servlet-class>
  60. <init-param>
  61. <param-name>services</param-name>
  62. <param-value>com.myendpoints.endpointAV1,com.myendpoints.endpointAV2,com.myendpoints.endpointBV1,com.myendpoints.endpointBV2</param-value>
  63. </init-param>
  64. <init-param>
  65. <param-name>restricted</param-name>
  66. <param-value>false</param-value>
  67. </init-param>
  68. </servlet>
  69.  
  70. <servlet-mapping>
  71. <servlet-name>EndpointsServlet</servlet-name>
  72. <url-pattern>/_ah/api/*</url-pattern>
  73. </servlet-mapping>
  74.  
  75. <welcome-file-list>
  76. <welcome-file>index.html</welcome-file>
  77. </welcome-file-list>
  78.  
  79. <filter>
  80. <filter-name>endpoints-api-configuration</filter-name>
  81. <filter-class>com.google.api.control.ServiceManagementConfigFilter</filter-class>
  82. </filter>
  83. <filter>
  84. <filter-name>endpoints-api-controller</filter-name>
  85. <filter-class>com.google.api.control.extensions.appengine.GoogleAppEngineControlFilter</filter-class>
  86. <init-param>
  87. <param-name>endpoints.projectId</param-name>
  88. <param-value>APPID</param-value>
  89. </init-param>
  90. <init-param>
  91. <param-name>endpoints.serviceName</param-name>
  92. <param-value>APPID.appspot.com</param-value>
  93. </init-param>
  94. </filter>
  95. <filter-mapping>
  96. <filter-name>endpoints-api-configuration</filter-name>
  97. <servlet-name>EndpointsServlet</servlet-name>
  98. </filter-mapping>
  99. <filter-mapping>
  100. <filter-name>endpoints-api-controller</filter-name>
  101. <servlet-name>EndpointsServlet</servlet-name>
  102. </filter-mapping>
  103. </web-app>
  104.  
  105. @Override
  106. public void configureServlets() {
  107. super.configureServlets();
  108.  
  109. bind(Datastore.class).to(GAEDatastore.class).in(Singleton.class);
  110. bind(MemCacheManager.class).to(MemCacheManagerImpl.class);
  111.  
  112. Set<Class<?>> serviceClasses = new HashSet<Class<?>>();
  113. //v1
  114. serviceClasses.add(endpointAV1.class);
  115. serviceClasses.add(endpointBV1.class);
  116.  
  117. //v2
  118. serviceClasses.add(endpointAV2.class);
  119. serviceClasses.add(endpointBV2.class);
  120.  
  121. configureEndpoints("/_ah/api/*", serviceClasses);
  122.  
  123. }
  124.  
  125. @Provides
  126. @Singleton
  127. public Log getLogger() {
  128. return new Log4JLogger("tatOnlineLogger");
  129. }
  130. ...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement