我与一个单元通信,通过串行连接控制卫星天线.
打开与串行设备的连接:
import gnu.io.CommPortIdentifier;
import gnu.io.SerialPort;
portIdentifier = CommPortIdentifier.getPortIdentifier(device);
serialPort = (SerialPort) portIdentifier.open(name,
serialPort.setSerialPortParams(baudrate, databits, stopbits, parity);
serialPort.setFlowControlMode(flowMode);
bufferedReader = new BufferedReader(new InputStreamReader(serialPort.getInputStream()));
outputStream = serialPort.getOutputStream();
Run Code Online (Sandbox Code Playgroud)
如果设备不可用,我必须在设备再次启动之前清除流,然后才能发送新命令.但是,如果设备关闭,输入/输出流上的这种清晰方法会阻塞.还关闭流,或关闭SerialDevice块.
有没有办法关闭/清除这些流或SerialDevice而不阻塞?
bufferedRead.close(); // blocks until device is up again
outputStream.close(); // blocks until device is up again
serialPort.close(); // blocks until device is up again
Run Code Online (Sandbox Code Playgroud) 我有一个使用Hibernate映射的组件.如果数据库中组件中的所有字段都为null,则hibernate将组件本身设置为null.这是预期的行为,也是我需要的.
我遇到的问题是,当我向该组件添加一个包时,该包被初始化为一个空列表.这意味着组件具有非空值...导致组件被创建.
知道如何解决这个问题吗?
<class name="foo.bar.Entity" table="Entity">
<id name="id" column="id">
<generator class="native" />
</id>
<property name="departure" column="departure_time" />
<property name="arrival" column="arrival_time" />
<component name="statistics">
<bag name="linkStatistics" lazy="false" cascade="all" >
<key column="entity_id" not-null="true" />
<one-to-many class="foo.bar.LinkStatistics" />
</bag>
<property name="loggedTime" column="logged_time" />
...
</component>
Run Code Online (Sandbox Code Playgroud)
Restirctions.isNull("statistics")的条件确实返回了预期值.
我试图在faces-config中注册不同的转换器实例,使用传递不同参数的标准转换器类.
下面的代码注册了两个DateTimeConverters,第一个用于日期,包括时间,第二个用于时间.但是模式属性永远不会被设置.可以这样做吗?
<converter>
<converter-id>dateTimeConverter</converter-id>
<converter-class>javax.faces.convert.DateTimeConverter</converter-class>
<property>
<property-name>pattern</property-name>
<suggested-value>yyyy-MM-dd HH:mm:ss</suggested-value>
</property>
</converter>
<converter>
<converter-id>timeConverter</converter-id>
<converter-class>javax.faces.convert.DateTimeConverter</converter-class>
<property>
<property-name>pattern</property-name>
<suggested-value>HH:mm:ss</suggested-value>
</property>
</converter>
Run Code Online (Sandbox Code Playgroud) bag ×1
components ×1
converter ×1
hibernate ×1
java ×1
jsf ×1
null ×1
properties ×1
serial-port ×1