1 Reply Latest reply on Feb 1, 2017 10:33 AM by supandey RSS
    kbutz Newbie

    Observe Thingworx Property Change with Java SDK

    Hi all,

     

    I'd like to observe a specific property of my Thingworx Thing via Java SDK. Therefore I've created a Thingworx Client, which is connected to Thingworx. After this, I've created a Virtual Thing with my Thingname and added a propertyChangeListener. Unfortunately, the listener does not get fired, as soon as I change the property in Thingworx. Does anyone know where's the problem or where to find an example for this?

     

    Here's my Code Snippet:

    ClientConfigurator config = new ClientConfigurator();

    config.setUri("http://xxx.xxx.xxx.xxx:8080/Thingworx/WS");

    config.setAppKey("xxx");

    config.ignoreSSLErrors(true);

     

    try {

      TwxClient client = new TwxClient(config);

      client.start();

      boolean isConnected = client.waitForConnection(30000);

     

      System.out.println("Client is connected:"+isConnected);

     

      String thingName = "ThingWatcherThing";

      VirtualThing thing = new VirtualThing(thingName, "", thingName, client);

      thing.addPropertyChangeListener(new VirtualThingPropertyChangeListener() {

     

         @Override

         public void propertyChangeEventReceived(VirtualThingPropertyChangeEvent event) {

            Property property = event.getProperty();

            String name = property.getPropertyDefinition().getName();

            if(name.equals("TestProp") == false){

               return;

            }

     

         }

      } );

     

      client.bindThing(thing);

     

    } catch (Exception e1) {

      e1.printStackTrace();

    }

     

    So, where's the problem? Is ist the correct approach?

     

    Many Greets, Korbinian