1 Reply Latest reply on Apr 9, 2016 3:04 AM by ravila RSS
    ravila Explorer

    virtualthing setProperty issue of not updating properties on the Platform

    private static int pushuploadfile( SGIThing sgiThing, Map<String, String> aI ) {

      try {

        for (Map.Entry<String, String> entry : aI.entrySet()) {

          sgiThing.setProperty( entry.getKey(), entry.getValue() );\

          //  Thread.sleep(250);

        }

        sgiThing.updateSubscribedProperties(5000);

      } catch (Exception e) {

        Log(LogName+": Error in property processing"+e.getMessage());

      }

      return 0;

    }

     

    I have 17 unique entries in the Map ( thingshape). About half the time, none of the 17 properties get updated on the platform, even though

    i think I have my platform and ems properties in sync.  The properties are only updated once every 24hrs. Even the very first time this code

    is executed at ems start up, i don't see any properties set on the platform.  If I uncomment the Thread.sleep(250) the properties are updated on

    platform correctly all the time and more importantly the very first time.

     

    Is there some setting in the ems or platform I can use such that the sleep can be removed, or is there a queue adjustment to be made or ...

    and if so how/where/what/when?

      • Re: virtualthing setProperty issue of not updating properties on the Platform
        ravila Explorer

        here is an example of my ems settings,

        @ThingworxPropertyDefinitions(

        properties = {

        @ThingworxPropertyDefinition(name = "Hostname", description = "", category = "", baseType = "STRING", aspects = {"dataChangeType:VALUE","dataChangeThreshold:0","isPersistent:false","isReadOnly:false","pushType:VALUE","cacheTime:0"}),

         

        platform, partial thingshape template,

        Hostname, remote, string, no default value, Persistent and read only not checked, logged is checked, data change type = value,

        Remote Prop Name = Hostname, Cache Options = read from server cache, Push Type = pushed based on value changed,

        Push Threshold = 0, timeout = use system default, When Disconnected = fold, no alerts.