Technoboy- commented on issue #1085:
URL: 
https://github.com/apache/shardingsphere-elasticjob/issues/1085#issuecomment-659288940


   The reason is described below:
   ```
   public abstract class AbstractJobListener implements CuratorCacheListener {
       
       @Override
       public final void event(final Type type, final ChildData oldData, final 
ChildData data) {
           if (null == data) {
               return;
           }
           String path = data.getPath();
           if (path.isEmpty()) {
               return;
           }
           dataChanged(path, type, null == data.getData() ? "" : new 
String(data.getData(), Charsets.UTF_8));
       }
       
       protected abstract void dataChanged(String path, Type eventType, String 
data);
   }
   ```
   The new curator API for listening node should implements 
CuratorCacheListener, and this method add new parameters.
    - ChildData oldData : is the snapshot of the old node data 
    -  ChildData data : is the new node data
    If the type is NODE_DELETED, the data will be null, and will be filtered.
   So, we have made the updates below:
   ```
   public abstract class AbstractJobListener implements CuratorCacheListener {
       
       @Override
       public final void event(final Type type, final ChildData oldData, final 
ChildData newData) {
           if (null == newData && null == oldData) {
               return;
           }
           String path = Type.NODE_DELETED == type ? oldData.getPath() : 
newData.getPath();
           byte[] data = Type.NODE_DELETED == type ? oldData.getData() : 
newData.getData();
           if (path.isEmpty()) {
               return;
           }
           dataChanged(path, type, null == data ? "" : new String(data, 
Charsets.UTF_8));
       }
       
       protected abstract void dataChanged(String path, Type eventType, String 
data);
   }
   ```


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to