pvDatabaseJava

Release 4.2-DEV - 2016.07.14

Abstract

This document describes pvDatabaseJava, which is a framework for implementing a network accessible database of smart memory resident records. Network access is via pvAccess. The data in each record is a top level PVStructure as defined by pvData. The framework includes a complete implementation of ChannelProvider as defined by pvAccess. The framework can be extended in order to create record instances that implements services. The minimum that an extension must provide is a top level PVStructure and a process method.

For more information about EPICS generally, please refer to the home page of the Experimental Physics and Industrial Control System.

Table of Contents

Overview

pvDatabaseJava is one of the components of EPICS Version 4

This document is only a guide to help locate code and documentation related to pvDatabaseJava

It is intended for developers that want to use pvDatabaseJava.

Developer Guide

A guide for developers is available at developerGuide

This guide discusses all the components that are part of an EPICS V4 release. Some understanding of the components and how they are related is necessary in order to develop code that uses pvDatabaseJava. In particular read everything related to pvDatabase.

The developerGuide discusses code in a way that applies to both Java and C++. For the descriptions of the Java specific code consult the next section.

JavaDoc

Javadoc documentation is available at javaDoc

pvDatabaseJava

pvDatabaseJava itself has the following implementations of a PVRecord

RemoveRecord.java
This is the code that is used to delete another record in the same IOC.
TraceRecord.java
This is the code that is used to set the trace level in another record in the same IOC.

exampleJava

Example code is available as part of this release. exampleJava

In particular look at the example code mentioned in the following sub-sections.

database

This has many examples of how to create both soft records and records that implement other functionality.

ExampleDatabase.java
This shows how to create soft records of each pvData type.
In addition shows how to create instances of the following two records.
ExampleHelloRecord.java
This is a simple "hello world" that is intentended to be used via a channelPutGet request.
ExampleHelloRPC.java
This is a simple "hello world" that is intentended to be used via a channelRPC request.

exampleLink

This shows how to implement a record that has a link to another record

ExampleMonitorLinkRecord
This creates a monitor link to another record.
ExampleGetLinkRecord
This creates a get link to another record.
ExamplePutLinkRecord
This creates a put link to another record.
ExamplLinkMain
This starts an IOC that has an instance of each of the above records. It has options to also create the linked record or allow it to be in another IOC.