根据HK2 @Service
javadoc
放置在要 自动 添加到hk2 ServiceLocator的类上的注释。
我不知道如何ServiceLocator
自动查找带注释的类。
测试服务
@Contract
public interface TestService {
}
TestServiceImpl
@Service
public class TestServiceImpl implements TestService {
}
主要
public static void main(String[] args) {
ServiceLocator locator = ServiceLocatorUtilities.createAndPopulateServiceLocator();
TestService service = locator.getService(TestServiceImpl.class);
System.out.println(service); // null
}
结果总是null
。我要补充Descriptor
,因此ServiceLocator
可以找到它。
public static void main(String[] args) {
ServiceLocator locator = ServiceLocatorUtilities.createAndPopulateServiceLocator();
DynamicConfigurationService dcs = locator.getService(DynamicConfigurationService.class);
DynamicConfiguration config = dcs.createDynamicConfiguration();
config.bind(BuilderHelper.link(TestServiceImpl.class).to(TestService.class).in(Singleton.class).build());
config.commit();
TestService service = locator.getService(TestServiceImpl.class);
System.out.println(service); // TestServiceImpl instance
}
如何让我ServiceLocator
自动查找带注释的类?我误会了吗?
您需要对已构建的类运行hk2-inhabitant-
generator
才能自动检测服务。有更多的信息在这里为好。
该步骤在构建过程中要做的是创建一个名为META-INF / hk2-locator /
default的文件,其中包含有关服务的信息。然后,createAndPopulateServiceLocator调用读取这些文件,并将这些服务描述符自动添加到返回的ServiceLocator中。
我想创建一个类的单例实例,这个类不是作为资源或服务在Jersey中涉及的,但希望它的依赖项从Jersey ServiceLocator中注入。 我可以在ResourceConfig构造函数中手动注册该类,然后将ResourceConfig传入Grizzly工厂方法,如下所示:
问题内容: 通过将应用程序ServiceLocator桥接到Jersey ServiceLocator,我们正在使用来将在一个ServiceLocator中创建的现有Singleton应用程序服务注入Jersey RESTful Web服务。 但是,没有使用“外部”定位器中存在的Singletons- 将每个服务注入到Jersey服务中后都会再次创建它们。似乎Singleton仅在ServiceL
我们正在使用using通过将app ServiceLocator桥接到Jersey ServiceLocator中,将在一个ServiceLocator中创建的现有单例应用程序服务注入到Jersey RESTful Web服务中。 然而,存在于“外部”定位器中的单例并没有被使用--每个服务都是在注入到Jersey服务中时再次创建的。单例似乎只在ServiceLocator的范围内可见,即使它是桥接
继续主题泽西岛2 HK2 - @ApplicationScoped不起作用。 我已经知道如何绑定类,以便正确地它们。 你有什么想法,如何自动化这个过程?在我的应用程序中,将每个服务都放在语句中似乎非常难闻。
在我的应用程序中,我需要根据用户输入获得不同的实现。 到目前为止,我所做的只是通过在启动时使用和绑定到实现的接口注入服务: 然而,现在我需要根据用户输入动态获取一个实现。有25种不同的实现都使用相同的接口。 这意味着,我不能再简单地使用方法。相反,我认为我需要用单独注册它们。 我需要来自HK2的实例,因为Impl也使用注入的服务,所以我不能简单地创建一个新的实例。
目前在我们的项目中,我们正在使用spring框架。由于一些项目需求,我们计划在我们的项目中实现Spring集成框架。 我打算抛出Spring集成示例(Spring集成Rest HTTP路径使用演示)应用程序 下面是应用程序Context-http-int.xml文件 根据我的理解,流程就像当输入通道中有消息时,员工搜索服务将被激活。但是根据我们的项目要求,我们需要在运行时根据一些头值激活服务,比如