如何获取WSO2注册表资源的符号链接信息?
我在WSO2文档中的任何地方都没有找到有关这方面的信息 我有一个从调用如何获取WSO2注册表资源的符号链接信息?,wso2,Wso2,我在WSO2文档中的任何地方都没有找到有关这方面的信息 我有一个从调用UserRegistry.get(path)获得的对象,并且此资源的媒体类型(从resource.getMediaType()获得)设置为,表示它表示指向注册表中另一个资源的符号链接 我想找出这个符号链接指向的资源的原始媒体类型是什么。WSO2 GREG管理界面显然能够做到这一点-单击资源上的Info按钮可以显示我要查找的媒体类型-但似乎没有提供此信息的API调用。发现如果resource.getMediaType()返回Re
UserRegistry.get(path)
获得的对象,并且此资源的媒体类型(从resource.getMediaType()
获得)设置为,表示它表示指向注册表中另一个资源的符号链接
我想找出这个符号链接指向的资源的原始媒体类型是什么。WSO2 GREG管理界面显然能够做到这一点-单击资源上的
Info
按钮可以显示我要查找的媒体类型-但似乎没有提供此信息的API调用。发现如果resource.getMediaType()
返回RegistryConstants.LINK\u MEDIA\u TYPE
,则表示这是一个已断开的链接,其目标(指向的资源)已被删除
此外,发现G-Reg中的所有符号链接信息存储在以下注册表位置:
/\u system/local/repository/components/org.wso2.carbon.registry/mount
该位置中的每个条目代表一个符号链接,有关符号链接的详细信息可以从与上述位置中的条目关联的属性中获得。这些属性包括:
-创建符号链接的用户作者
-符号链接的位置路径
-符号链接的目标target
因此,断开的链接不存在。接下来,是否有任何API允许我获得符号链接信息,而无需手动查找上述位置中的条目并解析属性?我发现了为什么在某些情况下,
resource.getMediaType()
返回了注册表常量。LINK\u MEDIA\u TYPE
在其他情况下,它返回了目标的媒体类型:使用resource=registry.get(“symlink\u path”)
,然后getmedia TYPE()
返回目标媒体类型;使用resource=registry.getMetaData(“symlink\u path”)
时,则getMediaType()
返回RegistryConstants.LINK\u MEDIA\u TYPE
值。区别在于资源实例是如何获得的。谢谢。我使用的是registry.getMetaData(“symlink path”)
,没有返回您提到的属性。将代码更改为使用注册表。get(…)使其正常工作。顺便说一句,通过使2个符号链接指向同一资源,可以获得断开的链接。删除资源时,仅删除1个符号链接。另一个坏了。在UI界面中看不到这一点,但可以在调用WSO2 JIRA中symlink.field a的父集合的collection.getChildren()
中看到。