当前位置: 首页>>代码示例>>Java>>正文


Java ServiceLocator类代码示例

本文整理汇总了Java中org.glassfish.hk2.api.ServiceLocator的典型用法代码示例。如果您正苦于以下问题:Java ServiceLocator类的具体用法?Java ServiceLocator怎么用?Java ServiceLocator使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


ServiceLocator类属于org.glassfish.hk2.api包,在下文中一共展示了ServiceLocator类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: JerseyApplication

import org.glassfish.hk2.api.ServiceLocator; //导入依赖的package包/类
@Inject
public JerseyApplication(ServiceLocator serviceLocator) {
	GuiceBridge.getGuiceBridge().initializeGuiceBridge(serviceLocator);
	GuiceIntoHK2Bridge guiceBridge = serviceLocator.getService(GuiceIntoHK2Bridge.class);
    guiceBridge.bridgeGuiceInjector(AppLoader.injector);
    
    String disableMoxy = PropertiesHelper.getPropertyNameForRuntime(
    		CommonProperties.MOXY_JSON_FEATURE_DISABLE,
               getConfiguration().getRuntimeType());
       property(disableMoxy, true);
       property(ServerProperties.BV_SEND_ERROR_IN_RESPONSE, true);

       // add the default Jackson exception mappers
       register(JsonParseExceptionMapper.class);
       register(JsonMappingExceptionMapper.class);
       register(JacksonJsonProvider.class, MessageBodyReader.class, MessageBodyWriter.class);
       
       packages(JerseyApplication.class.getPackage().getName());
       
    for (JerseyConfigurator configurator: AppLoader.getExtensions(JerseyConfigurator.class)) {
    	configurator.configure(this);
    }
}
 
开发者ID:jmfgdev,项目名称:gitplex-mit,代码行数:24,代码来源:JerseyApplication.java

示例2: setUp

import org.glassfish.hk2.api.ServiceLocator; //导入依赖的package包/类
@Before
public void setUp() throws Exception {
    ServiceLocator locator = ServiceLocatorUtilities.createAndPopulateServiceLocator();
    ServiceLocatorUtilities.bind(locator, new AbstractBinder() {

        @Override
        protected void configure() {
            bind(SecurityService.class).to(SecurityService.class);
            bind(accountDao).to(AccountDao.class);
            bind(passwordDao).to(AccountPasswordDao.class);
            bind(userProvider).to(UserProvider.class);
            bind(event).to(new TypeLiteral<Event<SignedInEvent>>() {
            });
        }
    });
    locator.inject(this);
}
 
开发者ID:backpaper0,项目名称:sealion,代码行数:18,代码来源:SecurityServiceTest.java

示例3: configureGuice

import org.glassfish.hk2.api.ServiceLocator; //导入依赖的package包/类
private Injector configureGuice(T configuration, Environment environment) throws Exception {
  // setup our core modules...
  appModules.add(new MetricRegistryModule(environment.metrics()));
  appModules.add(new ServletModule());
  // ...and add the app's modules
  appModules.addAll(addModules(configuration, environment));

  final Injector injector = Guice.createInjector(ImmutableList.copyOf(this.appModules));

  // Taken from https://github.com/Squarespace/jersey2-guice/wiki#complex-example. HK2 is no fun.
  JerseyGuiceUtils.install((name, parent) -> {
    if (!name.startsWith("__HK2_Generated_")) {
      return null;
    }

    return injector.createChildInjector(Lists.newArrayList(new JerseyGuiceModule(name)))
        .getInstance(ServiceLocator.class);
  });

  injector.injectMembers(this);
  registerWithInjector(environment, injector);
  return injector;
}
 
开发者ID:dehora,项目名称:outland,代码行数:24,代码来源:GuiceApplication.java

示例4: TestChain

import org.glassfish.hk2.api.ServiceLocator; //导入依赖的package包/类
public TestChain(TestServiceRunnerBase serviceRunner) {
    this.actions = ImmutableList.of();
    this.serviceLocator = new ServiceLocatorHolder();

    Feature lifecycleListener = new Feature() {
        @Inject
        public void setServiceLocator(ServiceLocator s) {
            serviceLocator.set(s);
        }

        @Override
        public boolean configure(FeatureContext context) {
            return false;
        }
    };
    this.serviceRunner = serviceRunner
            .serviceConfig(serviceRunner.getServiceConfig()
                    .registerInstance(lifecycleListener)
            );
}
 
开发者ID:code-obos,项目名称:servicebuilder,代码行数:21,代码来源:TestChain.java

示例5: backstopperOnlyExceptionMapperFactory_removes_all_exception_mappers_except_Jersey2ApiExceptionHandler

import org.glassfish.hk2.api.ServiceLocator; //导入依赖的package包/类
@Test
public void backstopperOnlyExceptionMapperFactory_removes_all_exception_mappers_except_Jersey2ApiExceptionHandler()
    throws NoSuchFieldException, IllegalAccessException {
    // given
    AbstractBinder lotsOfExceptionMappersBinder = new AbstractBinder() {
        @Override
        protected void configure() {
            bind(JsonMappingExceptionMapper.class).to(ExceptionMapper.class).in(Singleton.class);
            bind(JsonParseExceptionMapper.class).to(ExceptionMapper.class).in(Singleton.class);
            bind(generateJerseyApiExceptionHandler(projectApiErrors, utils)).to(ExceptionMapper.class);
        }
    };

    ServiceLocator locator = ServiceLocatorUtilities.bind(lotsOfExceptionMappersBinder);

    // when
    BackstopperOnlyExceptionMapperFactory overrideExceptionMapper = new BackstopperOnlyExceptionMapperFactory(locator);

    // then
    Set<Object> emTypesLeft = overrideExceptionMapper.getFieldObj(
        ExceptionMapperFactory.class, overrideExceptionMapper, "exceptionMapperTypes"
    );
    assertThat(emTypesLeft).hasSize(1);
    ServiceHandle serviceHandle = overrideExceptionMapper.getFieldObj(emTypesLeft.iterator().next(), "mapper");
    assertThat(serviceHandle.getService()).isInstanceOf(Jersey2ApiExceptionHandler.class);
}
 
开发者ID:Nike-Inc,项目名称:backstopper,代码行数:27,代码来源:Jersey2BackstopperConfigHelperTest.java

示例6: bindLocalServices

import org.glassfish.hk2.api.ServiceLocator; //导入依赖的package包/类
/**
 * Binds local services into a locator. These have to be bound both into our service locator and the Jersey service locator because
 * they do not cross bridge or parent/child boundaries.
 *
 * @param locator
 *     {@code ServiceLocator} into which local services should be installed
 *
 * @return Controller to activate {@link Immediate @Immediate} services
 */
private static ImmediateController bindLocalServices(ServiceLocator locator) {
    // These have to be local because they rely on the InstantiationService, which can only get the Injectee for local injections
    addClasses(locator,
               true,
               CounterFactory.class,
               HistogramFactory.class,
               MeterFactory.class,
               TimerFactory.class,
               AnnotationInterceptionService.class
    );
    if (locator.getServiceHandle(InheritableThreadContext.class) == null) {
        ServiceLocatorUtilities.enableInheritableThreadScope(locator);
    }
    ExtrasUtilities.enableDefaultInterceptorServiceImplementation(locator);
    ExtrasUtilities.enableTopicDistribution(locator);
    if (locator.getServiceHandle(ImmediateController.class) == null) {
        return ServiceLocatorUtilities.enableImmediateScopeSuspended(locator);
    }
    return locator.getService(ImmediateController.class);
}
 
开发者ID:baharclerode,项目名称:dropwizard-hk2,代码行数:30,代码来源:HK2Bundle.java

示例7: constructorWithServiceLocatorReturnsGivenServiceLocatorAndSetsConfigContextAndResourceConfig

import org.glassfish.hk2.api.ServiceLocator; //导入依赖的package包/类
@Test
public void constructorWithServiceLocatorReturnsGivenServiceLocatorAndSetsConfigContextAndResourceConfig() {
    ServiceLocator serviceLocator = getMockServiceLocator();

    JerseyApplication<JerseyConfigSection> application =
            new JerseyApplicationBase<JerseyConfigSection>(serviceLocator) { };

    assertThat(application.serviceLocator()).isEqualTo(serviceLocator);
    assertThat(application.configContext()).isEqualTo(configContext);

    assertThat(application.resourceConfig()).isEqualTo(resourceConfig);

    ApplicationResolver applicationResolverFromServiceLocator = application.serviceLocator()
            .getService(ApplicationResolver.class);

    assertThat(applicationResolverFromServiceLocator.application()).isEqualTo(application);
}
 
开发者ID:joeyb,项目名称:undercarriage,代码行数:18,代码来源:JerseyApplicationBaseTests.java

示例8: configure

import org.glassfish.hk2.api.ServiceLocator; //导入依赖的package包/类
@Override
public boolean configure(FeatureContext context) {
	InjectionManager injectionManager = InjectionManagerProvider.getInjectionManager(context);
	ServiceLocator locator;
	if (injectionManager instanceof ImmediateHk2InjectionManager) {
		locator = ((ImmediateHk2InjectionManager) injectionManager).getServiceLocator();
	} else if (injectionManager instanceof DelayedHk2InjectionManager) {
		locator = ((DelayedHk2InjectionManager) injectionManager).getServiceLocator();
	} else {
		throw new IllegalStateException("expected an hk2 injection manager");
	}
	GuiceBridge.getGuiceBridge().initializeGuiceBridge(locator);
	// register all your modules, here
	Injector injector = Guice.createInjector(new GreetingModule());
	GuiceIntoHK2Bridge guiceBridge = locator.getService(GuiceIntoHK2Bridge.class);
	guiceBridge.bridgeGuiceInjector(injector);
	return true;
}
 
开发者ID:bbilger,项目名称:jrestless-examples,代码行数:19,代码来源:GuiceFeature.java

示例9: VelocityViewProcessor

import org.glassfish.hk2.api.ServiceLocator; //导入依赖的package包/类
@Inject
public VelocityViewProcessor(final javax.ws.rs.core.Configuration config, final ServiceLocator serviceLocator,
                             @Optional final ServletContext servletContext) {
    super(config, servletContext, "velocity", "vm");

    this.factory = getTemplateObjectFactory(serviceLocator, VelocityConfigurationFactory.class,
            new Value<VelocityConfigurationFactory>() {
                @Override
                public VelocityConfigurationFactory get() {
                    Configuration configuration = getTemplateObjectFactory(serviceLocator, Configuration.class,
                            Values.<Configuration>empty());
                    if (configuration == null) {
                        return new VelocityDefaultConfigurationFactory(servletContext);
                    } else {
                        return new VelocitySuppliedConfigurationFactory(configuration);
                    }
                }
            });
    Velocity.init();
}
 
开发者ID:Feng-Zihao,项目名称:jersey-mvc-velocity,代码行数:21,代码来源:VelocityViewProcessor.java

示例10: FreemarkerViewProcessor

import org.glassfish.hk2.api.ServiceLocator; //导入依赖的package包/类
/**
 * Create an instance of this processor with injected {@link javax.ws.rs.core.Configuration config} and
 * (optional) {@link javax.servlet.ServletContext servlet context}.
 *
 * @param config         config to configure this processor from.
 * @param serviceLocator service locator to initialize template object factory if needed.
 * @param servletContext (optional) servlet context to obtain template resources from.
 */
@Inject
public FreemarkerViewProcessor(final javax.ws.rs.core.Configuration config, final ServiceLocator serviceLocator,
                               @Optional final ServletContext servletContext) {
    super(config, servletContext, "freemarker", getSupportedExtensions(config, servletContext));

    this.factory = getTemplateObjectFactory(serviceLocator, FreemarkerConfigurationFactory.class,
            new Value<FreemarkerConfigurationFactory>() {
                @Override
                public FreemarkerConfigurationFactory get() {
                    Configuration configuration = getTemplateObjectFactory(serviceLocator, Configuration.class,
                            Values.<Configuration>empty());
                    if (configuration == null) {
                        return new FreemarkerDefaultConfigurationFactory(servletContext);
                    } else {
                        return new FreemarkerSuppliedConfigurationFactory(configuration);
                    }
                }
            });

}
 
开发者ID:xuegongzi,项目名称:rabbitframework,代码行数:29,代码来源:FreemarkerViewProcessor.java

示例11: setupWithModule

import org.glassfish.hk2.api.ServiceLocator; //导入依赖的package包/类
protected static void setupWithModule(Module baseModule) {
  Log.debug("Setting up Jersey");

  application = new TestApplication();
  Log.trace("+- application=[{}]", application);

  Log.debug("Bootstrapping Jersey2-Guice bridge");
  ServiceLocator locator = BootstrapUtils.newServiceLocator();
  Log.trace("+- locator=[{}]", locator);

  final List<Module> modules = Arrays.asList(new ServletModule(), baseModule);
  final Injector injector = BootstrapUtils.newInjector(locator, modules);
  Log.trace("+- injector=[{}]", injector);

  BootstrapUtils.install(locator);
  Log.trace("+- done: locator installed");
}
 
开发者ID:HuygensING,项目名称:antioch,代码行数:18,代码来源:EndpointTest.java

示例12: Application

import org.glassfish.hk2.api.ServiceLocator; //导入依赖的package包/类
@Inject
public Application(ServiceLocator serviceLocator) {

       //Since Jersey doesn't support Guice, setup a bridge so that Guice will work
	GuiceBridge.getGuiceBridge().initializeGuiceBridge(serviceLocator);
	GuiceIntoHK2Bridge guiceBridge = serviceLocator.getService(GuiceIntoHK2Bridge.class);
	
	guiceBridge.bridgeGuiceInjector(Main.injector);

       //Gets Jackson all squared away with Jersey
	register(Jackson1Feature.class);
	register(DefaultObjectMapperProvider.class);

       //Register apis and other Jersey things here
       register(TestApi.class);
       register(TestExceptionMapper.class);
}
 
开发者ID:tommyschnabel,项目名称:SimpleJavaServer,代码行数:18,代码来源:Application.java

示例13: MyApplication

import org.glassfish.hk2.api.ServiceLocator; //导入依赖的package包/类
@Inject
public MyApplication(ServiceLocator serviceLocator) {
    packages(Resource.class.getPackage().getName()); // todo: try class

    // todo: test!

    Injector injector = Guice.createInjector(new AbstractModule() {
        @Override
        protected void configure() {
            bind(Service.class);
        }
    });

    // todo: auth intercept (will not work with Guice - make dual mapping or use jersey interceptors or try jersey2-guice)

    GuiceBridge.getGuiceBridge().initializeGuiceBridge(serviceLocator);

    GuiceIntoHK2Bridge guiceBridge = serviceLocator.getService(GuiceIntoHK2Bridge.class);
    guiceBridge.bridgeGuiceInjector(injector);
}
 
开发者ID:nhekfqn,项目名称:jersey2-guice-embedded-jetty-poc,代码行数:21,代码来源:MyApplication.java

示例14: testLog4J

import org.glassfish.hk2.api.ServiceLocator; //导入依赖的package包/类
@Test
public void testLog4J()
{
    AbstractBinder binder = new AbstractBinder()
    {
        @Override
        protected void configure()
        {
            install(loginject(Logger.class, LogManager::getLogger, currentClass()).as(Binder.class));
            addActiveDescriptor(TestClass.class);
        }
    };
    ServiceLocator serviceLocator = ServiceLocatorUtilities.bind(testName.getMethodName(), binder);
    TestClass service = serviceLocator.getService(TestClass.class);
    assertEquals(TestClass.class.getName(), service.logger.getName());
}
 
开发者ID:raner,项目名称:loginject,代码行数:17,代码来源:LogInjectLog4JTest.java

示例15: testInferredLog4J

import org.glassfish.hk2.api.ServiceLocator; //导入依赖的package包/类
@Test
public void testInferredLog4J()
{
    AbstractBinder binder = new AbstractBinder()
    {
        @Override
        protected void configure()
        {
            install(loginject(LogManager::getLogger, currentClass()).as(Binder.class));
            addActiveDescriptor(TestClass.class);
        }
    };
    ServiceLocator serviceLocator = ServiceLocatorUtilities.bind(testName.getMethodName(), binder);
    TestClass service = serviceLocator.getService(TestClass.class);
    assertEquals(TestClass.class.getName(), service.logger.getName());
}
 
开发者ID:raner,项目名称:loginject,代码行数:17,代码来源:LogInjectLog4JTest.java


注:本文中的org.glassfish.hk2.api.ServiceLocator类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。