WSO2 ESB介体的WSO2治理API [英] WSO2 Governance API from WSO2 ESB Mediator
问题描述
1)注册表可以存储Java对象吗?
2)我应该使用org.apache.synapse.registry.Registry来浏览注册表吗?还是在调解人项目中导入治理api更好?
例如,我需要添加和获取资源并将其设置为我的自定义属性.然后我想读它们. 使用此代码:
org.apache.axis2.context.MessageContext axis2MsgContext;
axis2MsgContext = ((Axis2MessageContext) synapseMsgContext).getAxis2MessageContext();
Registry regInstance = synapseMsgContext.getConfiguration()
.getRegistry();
Object obj = regInstance.getResource(new Entry ("conf:/provaDUE"), null);
Properties prop = regInstance.getResourceProperties("conf:/provaDUE");
我无法获得使用UI设置的属性.
谢谢.
这是您问题的答案.
-
当前,注册表不支持保存Java对象,但是您可以编写一个注册表处理程序[1],该程序将Java实例数据保存在注册表资源中,并在检索对象时从注册表资源中的数据中创建一个Java对象. .您可以使用Java Reflection [2].
-
您应该使用注册表API或管理API,而不要使用用于突触资源的org.apache.synapse.registry.Registry.这就是为什么您没有获得在UI中设置的属性的原因.
这是访问配置注册表中资源属性的示例代码.
注册表注册表= CarbonContext.getThreadLocalCarbonContext(). getRegistry(RegistryType.USER_CONFIGURATION);
资源= registry.get("/provaDUE");
属性属性= resource.getProperties();
[1]. https://docs.wso2.com/display/Governance460/Handler+Sample
[2]. http://tutorials.jenkov.com/java-reflection/dynamic -class-loading-reloading.html
[3]. https://docs.wso2.com/display/Governance460/Registry+API
[4]. https://docs.wso2.com/display/Governance460/Governance+API
im facing up to wso2 ESB 4.8.1 and WSO2 GREG 4.6.0. I have connected GREG as esb's remote Registry and now i need to develop a class mediator by which i can store shared recources inside the remote registry.
1) Does the Registry can store Java Object?
2) should i use org.apache.synapse.registry.Registry for browing the registry? or is it better to import the governance api inside the mediator project?
For example i need to add and get a resource and to set it my custom properties. Then i want to read them. Using this code:
org.apache.axis2.context.MessageContext axis2MsgContext;
axis2MsgContext = ((Axis2MessageContext) synapseMsgContext).getAxis2MessageContext();
Registry regInstance = synapseMsgContext.getConfiguration()
.getRegistry();
Object obj = regInstance.getResource(new Entry ("conf:/provaDUE"), null);
Properties prop = regInstance.getResourceProperties("conf:/provaDUE");
I cannot get the properties i set using UI.
Thanks.
Here's the answers for your questions.
Currently Registry does not support saving java objects but you can write a registry handler [1] which save the java instance data in a registry resource and when retrieve the object create a java object out of that data in registry resource. You may use java Reflection [2].
You should use registry API or governance API, not org.apache.synapse.registry.Registry which uses for synapse resources. That is why you didn't get the properties which you set in the UI.
Here is an sample code to access resource properties which are in config registry.
Registry registry = CarbonContext.getThreadLocalCarbonContext(). getRegistry(RegistryType.USER_CONFIGURATION);
Resource resource = registry.get("/provaDUE");
Properties properties = resource.getProperties();
[1]. https://docs.wso2.com/display/Governance460/Handler+Sample
[2]. http://tutorials.jenkov.com/java-reflection/dynamic-class-loading-reloading.html
[3]. https://docs.wso2.com/display/Governance460/Registry+API
[4]. https://docs.wso2.com/display/Governance460/Governance+API
这篇关于WSO2 ESB介体的WSO2治理API的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!