1

次のように、ガバナンス API を使用して属性を追加および読み取ることができます。

        registry = Util.initialize();
        governanceRegistry = Util.getGovernanceRegistry(registry);

        serviceManager = new ServiceManager(governanceRegistry);

        services = Arrays.asList(serviceManager.getAllServices());
        services.get(2).addAttribute("what", "isthis");
        serviceManager.updateService(services.get(2));

ただし、WSO2 Governance Registry Management Console を使用してサービスを開くと、パラメーター/値「what」/「isthis」を追加しただけで、Propertiesのリストに表示されません。

API を使用して (属性ではなく)プロパティのリストにアクセスするにはどうすればよいですか? これらが互いにどのように関連しているかを理解するのに苦労しています。

4

1 に答える 1

1

次のコードを使用して取得できます。

List<Resource> paths = getServicePath(registry, "/_system/governance/trunk/services");

 for (Resource service : paths) {
                // we've got all the services here

               Properties props = service.getProperties();
                for (Object prop : props.keySet()) {
                    System.out.println(prop + " - " + props.get(prop));
                }
        }

完全なコードについては、このサンプルブログ投稿を参照してください。

----後ほど追加----

これは、コードとより一致しています。

 Registry governanceRegistry = GovernanceUtils.getGovernanceUserRegistry(registry, "admin");
       ServiceManager serviceManager = new ServiceManager(governanceRegistry);
       Service[] services = serviceManager.getAllServices();

        for(int i =0 ; i<services.length ; i++){
            Service service = services[i];
            Resource resource = governanceRegistry.get(service.getPath());
            System.out.println(resource.getProperties());
        }
于 2013-03-28T00:18:56.070 に答える