Чтение исключенного тайм-аута из Redis - PullRequest
0 голосов
/ 23 мая 2018

Попытка создания пользовательского интерфейса в реальном времени с использованием Java Netbeans с использованием Redis,

Jedis jedis = new Jedis("192.168.0.180",6379);
    new Timer (0, new ActionListener() 
  {

        @Override
           public void actionPerformed(ActionEvent e){  

    date = new Date();
    SimpleDateFormat dateFormatter1 = new SimpleDateFormat("d MMMM yyyy  
    hh:mm:ss:SSS");
TimeZone istTimeZone = TimeZone.getTimeZone("Asia/Kolkata");
dateFormatter1.setTimeZone(istTimeZone);
jTextField4.setText (dateFormatter1.format(date));

    try {


    jTextField1.setText(jedis.get("model2"));
    jTextField2.setText(jedis.get("chr2"));
    jTextField3.setText(jedis.get("qr2"));
    if(jedis.get("me2").equals("1")){
    jLabel7.setBackground(Color.GREEN);
    }
     if(jedis.get("me2").equals("0")){
    jLabel7.setBackground(Color.RED);
    }
     if(jedis.get("me2").equals("2")){
    jLabel7.setBackground(Color.WHITE);
    }
     if(jedis.get("eq2").equals("1")){
    jLabel7.setBackground(Color.GREEN);
    }
     if(jedis.get("eq2").equals("0")){
    jLabel7.setBackground(Color.RED);
    }
     if(jedis.get("eq2").equals("2")){
    jLabel7.setBackground(Color.WHITE);
    }

    } catch(Exception ex){
             ex.printStackTrace();
             System.out.println();
    //JOptionPane.showMessageDialog(parent, "Server not connected");
  }
    }
        }).start();
}  

Пользовательский интерфейс обновляет значение непрерывно, в течение 30 минут, вплоть до исключения времени ожидания сокета.

 redis.clients.jedis.exceptions.JedisConnectionException: 
 java.net.SocketTimeoutException: Read timed out

at redis.clients.util.RedisInputStream.ensureFill(RedisInputStream.java:201)
at redis.clients.util.RedisInputStream.readByte(RedisInputStream.java:40)
at redis.clients.jedis.Protocol.process(Protocol.java:141)
at redis.clients.jedis.Protocol.read(Protocol.java:205)
at redis.clients.jedis.Connection.readProtocolWithCheckingBroken 
(Connection.java:297)
at redis.clients.jedis.Connection.getBinaryBulkReply(Connection.java:216)
at redis.clients.jedis.Connection.getBulkReply(Connection.java:205)
at redis.clients.jedis.Jedis.get(Jedis.java:101)
at Asian.AsianView$2.actionPerformed(AsianView.java:235)
at javax.swing.Timer.fireActionPerformed(Timer.java:313)
at javax.swing.Timer$DoPostEvent.run(Timer.java:245)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
atjava.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivil    ege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters 
(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter 
(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy 
(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:170)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at java.net.SocketInputStream.read(SocketInputStream.java:127)
at redis.clients.util.RedisInputStream.ensureFill(RedisInputStream.java:195)

После исключения поля в пользовательском интерфейсе отображают случайные значения, например: jTextField1.setText(jedis.get("model2")) отображает значение jedis.get("eq2")

Пожалуйста, помогите мне разобраться в ненормальном поведении пользовательского интерфейса, также предложите решение для исключения.

использованный файл jar: jedis-2.8.1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...