private void channelDetailsButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_channelDetailsButtonActionPerformed try { ChannelHandler handler = PVManager.getDefaultDataSource().getChannels().get(pvName.getText()); if (handler != null) { Map<String, Object> properties = handler.getProperties(); StringBuilder builder = new StringBuilder(); builder.append("Channel properties:\n"); for (Map.Entry<String, Object> entry : properties.entrySet()) { String string = entry.getKey(); Object object = entry.getValue(); builder.append(string).append(" = ").append(object).append("\n"); } JOptionPane.showMessageDialog(this, builder.toString()); } } catch (RuntimeException e) { e.printStackTrace(); } }//GEN-LAST:event_channelDetailsButtonActionPerformed PVReader<?> pv;
void checkDataSourceAndThreadSwitch() { // Get defaults if (dataSource == null) { dataSource = PVManager.getDefaultDataSource(); } if (notificationExecutor == null) { notificationExecutor = PVManager.getDefaultNotificationExecutor(); } // Check that a data source has been specified if (dataSource == null) { throw new IllegalStateException("You need to specify a source either " + "using PVManager.setDefaultDataSource or by using " + "read(...).from(dataSource)."); } // Check that thread switch has been specified if (notificationExecutor == null) { throw new IllegalStateException("You need to specify a thread either " + "using PVManager.setDefaultThreadSwitch or by using " + "read(...).andNotify(threadSwitch)."); } } }
public static void main(String[] args) throws Exception { System.out.println("Starting pv"); PVReader<VNumber> reader = PVManager.read(vNumber("sim://gaussianNoise()")) .readListener(new PVReaderListener<VNumber>() { @Override public void pvChanged(PVReaderEvent<VNumber> event) { if (event.isValueChanged()) { System.out.println("... value is " + event.getPvReader().getValue().getValue()); } } }) .maxRate(Duration.ofMillis(500)); Thread.sleep(2000); System.out.println("Voiding reference"); reader = null; Thread.sleep(100); System.out.println("Garbage collecting"); System.gc(); Thread.sleep(3000); System.out.println("Closing..."); PVManager.getDefaultDataSource().close(); System.out.println("Done"); } }
public static void main(String[] args) throws Exception { // Increasing logging at CONFIG level Logger.getLogger("").getHandlers()[0].setLevel(Level.CONFIG); Logger.getLogger("").setLevel(Level.CONFIG); System.out.println("Open channel"); PVReader<VNumber> reader = PVManager.read(vNumber("sim://noise")) .readListener(new PVReaderListener<VNumber>() { @Override public void pvChanged(PVReaderEvent<VNumber> event) { if (event.isValueChanged()) { System.out.println("... value is " + event.getPvReader().getValue().getValue()); } } }) .maxRate(Duration.ofMillis(500)); Thread.sleep(2000); System.out.println("Close channel"); reader.close(); Thread.sleep(1000); System.out.println("Close data source"); PVManager.getDefaultDataSource().close(); System.out.println("Done"); } }
PVManager.getDefaultDataSource().close(); System.out.println("Done");
public static void main(String[] args) throws Exception { //System.setProperty("com.cosylab.epics.caj.CAJContext.max_array_bytes", "20000000"); PVManager.setDefaultDataSource(new SimulationDataSource()); final PVReader<Object> reader = PVManager.read(channel("gaussian()")) .readListener(new PVReaderListener<Object>() { @Override public void pvChanged(PVReaderEvent<Object> event) { System.out.println("Monitor called"); } }) .maxRate(Duration.ofMillis(10)); Thread.sleep(10000); reader.close(); System.out.println("After five seconds"); Thread.sleep(10000); System.out.println("After another five seconds"); PVManager.getDefaultDataSource().close(); System.out.println("Done"); } }
PVManager.getDefaultDataSource().close(); System.out.println("Done");
reader.close(); namePv.close(); PVManager.getDefaultDataSource().close(); System.out.println("Done");
PVManager.getDefaultDataSource().close();