如何通过属性区分已发布的OSGI服务,这些服务实现了相同的接口?
假设您要基于属性的某些值来检索注册的服务,则需要使用 过滤器
(基于LDAP语法)。
例如:
int myport = 5000;
String filter = "&(objectClass=" + MyInterface.class.getName()
+ ")(port=" + myport + ")";
ServiceReference[] serviceReferences = bundleContext.getServiceReferences(null,filter);
您想在其中查找实现MyInterface
且port
属性值等于的服务myport
。
这是获取参考的相关javadoc。
备注1:
上面的示例和javadoc引用了发行版4.2。如果您不限于J2SE 1.4运行时,建议您看一下Release 4.3
语法,您可以在其中使用泛型。
备注2 :(由Ray提供)
您也可以通过从字符串创建Filter对象来预先检查过滤器的正确性filterStr
:
Filter filter = bundleContext.createFilter(filterStr);
这也使您可以将过滤器与其他条件匹配。您仍然可以通过filterStr
获取引用,因为没有重载可以说明Filter
参数。请注意,不过,这样你将检查正确性两次都getServiceReferences
和createFilter
扔InvalidSyntaxException
在解析过滤器。我猜当然不是效率低下的人,但是值得一提。
使用Spring Boot时如何提供Hibernate搜索参数? 它不在乎我提供什么。默认设置总是得到应用。 我认为下面的代码没有任何处理与Hibernate搜索相关的属性的内容。这就是问题所在吗? https://github.com/spring-projects/spring-boot/blob/master/spring-boot-autoconfigure/src/main/java/o
我正在构建一个实用程序函数,它应该搜索属性名称,并在找到后返回其值。它应该递归地执行此操作: 但是,控制台日志将永远消失,浏览器将崩溃。我做错了什么? 编辑: 这就是我调用函数的方式:
也尝试用 http://localhost:8080/auth/admin/realms/demo-realm/users/?search=akshay
我是弹性搜索新手,并且已经完成了类似mykong教程的基本教程 我对创建任何文档的一部分有疑问 创建操作示例插入包含 /mkyong/posts/1001和以下请求数据的新文档: 问题1:-ES是否会在上述文档的所有属性上创建反向索引,即默认情况下的标题/类别/已发布/作者,并提供全文搜索,还是需要明确提及? 问题2:-在上述示例中,我们已经有了唯一的\u id,即。如果我已经将其存储在DB中并生
问题内容: 我有一个具有’first’和’last’属性的用户模型,因此,例如User.first.first#=>“ Charlie” User.first.last#=>“ Brown” 该用户模型还具有虚拟属性“ full_name” 因此,例如: 如果我可以通过该虚拟属性进行搜索,那就太好了,例如进行动态查找: 查找条件的示例: 我希望至少找到一些SQL语言的方法可以做到这一点。如果还找到