WSO2 Governance API from WSO2 ESB Mediator

我只是一个虾纸丫 提交于 2019-12-11 04:53:32

问题


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.


回答1:


Here's the answers for your questions.

  1. 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].

  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



来源:https://stackoverflow.com/questions/27929685/wso2-governance-api-from-wso2-esb-mediator

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!