首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自WSO2 ESB中介程序的WSO2治理API

来自WSO2 ESB中介程序的WSO2治理API
EN

Stack Overflow用户
提问于 2015-01-13 19:08:43
回答 1查看 935关注 0票数 1

我面对wso2 ESB4.8.1和WSO2格雷格4.6.0。我已经将GREG连接为esb的远程注册表,现在我需要开发一个类中介器,通过它我可以在远程注册表中存储共享资源。

1)注册表可以存储Java对象吗?

2)我应该使用org.apache.synapse.registry.Registry浏览注册表吗?还是在中介项目中导入治理api更好?

例如,我需要添加和获取资源,并将其设置为我的自定义属性。那我想读一读。使用此代码:

代码语言:javascript
复制
    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设置的属性。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-01-20 01:38:19

这是你问题的答案。

  1. 目前,Registry不支持保存java对象,但是您可以编写一个注册表处理程序1,它将java实例数据保存在注册表资源中,并且在检索对象时,在注册表资源中从该数据中创建一个java对象。您可以使用java反射2。

  1. 您应该使用注册表API或治理API,而不是用于突触资源的org.apache.synapse.registry.Registry。这就是为什么您没有获得在UI中设置的属性。

下面是访问配置注册表中的资源属性的示例代码。

代码语言:javascript
复制
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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27929685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档