EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: CAJ questions
From: Matej Sekoranja <[email protected]>
To: [email protected]
Date: Sun, 2 Aug 2009 20:49:18 +0200
Hi,


I have 2 questions about CAJ, the native Java Channel Access client
implementation.

1)  It seems like it behaves differently on computers with multiple
network interfaces from the C implementation. On the C implementation
by default the broadcast address of each the networks is used when
searching for PVs. On the CAJ implementation this does not seem to be
the case.  It is not finding PVs on one of these networks with the
default configuration, in my case on the 10.20.1.x subnet.  However,
if I set the following in my configuration file then it does work:

gov.aps.jca.Context.auto_addr_list= false
gov.aps.jca.Context.addr_list= 10.20.1.255

Is this an intended difference in behavior from the C implementation,
and if so is it documented?

Until Java 1.6, there was no (clean) way to "introspect" network interfaces to get broadcast address of all. Therefore, CAJ uses 255.255.255.255 (auto) or be configured manually.
Java 1.6 supports this, but I do not want drop support for Java 1.5.
(Well, in fact I do a small "hack": compile code as 1.5 compatible, detect Java version and use appropriate code).

2) My second question relates to knowing how to create configuration
lines such as those above in the JCALibrary.properties file.

The documentation links in the CAJ User Manual here:
http://caj.cosylab.com/manual.html

Include this one labelled "JCA tutorial on configuration":

http://www.aps.anl.gov/bcda/jca/jca/2.1.2/tutorial.html

But that tutorial only lists configuration lines like these:

gov.aps.jca.jni.JNIContext.addr_list= toto.uses.this.ca.server
gov.aps.jca.jni.JNIContext.auto_addr_list= false

These are for the JNI (e.g. C) implementation, not for the native Java
implementation.

See
http://jca.cosylab.com/apidocs/gov/aps/jca/JCALibrary.html#CHANNEL_ACCESS_JAVA

for native CAJ options.

However you can use "gov.aps.jca.Context." prefix to configure all CA java implementations, but note that specific configuration (prefix) overrides the general one.


There is another link on the CAJ User Manual Page which is labelled as
"CAJ configuration properties":
http://www.cosylab.com/jca/apidocs/gov/aps/jca/JCALibrary.html#CHANNEL_
ACCESS_JAVA

Link about is the right one now. Fixed. Thanks.

Cheers,
Matej

Replies:
RE: CAJ questions Mark Rivers

Navigate by Date:
Prev: RE: Asyn R4.11 Mark Rivers
Next: RE: Asyn R4.11 Szalata, Zenon M.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: CAJ questions Mark Rivers
Next: RE: CAJ questions Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 31 Jan 2014 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·