Java侦听器和传递参数

时间:2013-05-28 12:54:12

标签: java events event-handling listener

我有一个处理rs232设备事件的监听器,我想将String参数传递给其他两个临时监听器。我怎么能这样做?

RS232听众代码:

 static class SerialPortReader implements SerialPortEventListener {

    public void serialEvent(SerialPortEvent event) {

        if(event.isRXCHAR()){
            if(event.getEventValue() > 0){
                 try {
                     String asd= serialPort.readHexString(18);
               //asd is argument to pass to other listener
                     System.out.println(asd);
                 }
                 catch (SerialPortException ex) {
                     System.out.println(ex);
                 }
            }
        }
    }

然后我需要一个临时监听器,例如

String new = waitForPassedStringArgument();

或当我收到String时,听众会更改ArrayList中的值。

1 个答案:

答案 0 :(得分:0)

您的侦听器是否在与发件人分开的线程上运行?如果是,请设置BlockingQueue s(每个侦听器一个),然后将发件人offer项目放入每个队列。然后,每个侦听器从各自的队列中检索项目。