Hi Matej,
Thanks for the reply.
I have another question about CAJ, relating to the property
"max_array_bytes".
I am not setting the "max_array_bytes" property in a properties file or
in my application. When I call context.printInfo in my running
application I get the following:
context.printfInfo ****************************
CLASS : com.cosylab.epics.caj.CAJContext
ADDR_LIST : localhost 164.54.160.255
AUTO_ADDR_LIST : false
CONNECTION_TIMEOUT : 30.0
BEACON_PERIOD : 15.0
REPEATER_PORT : 5065
SERVER_PORT : 5064
MAX_ARRAY_BYTES : 16384
The value of MAX_ARRAY_BYTES is 16384, the default, as I expect.
However, my application is using CAJ to read arrays that are over 1.2MB
with no errors! Is the max_array_bytes property actually not used in
CAJ? It looks like it must be being ignored?
Thanks,
Mark
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Matej Sekoranja
Sent: Sunday, August 02, 2009 1:49 PM
To: [email protected]
Subject: Re: CAJ questions
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_ACCES
S_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 Matej Sekoranja
- References:
- Re: CAJ questions Matej Sekoranja
- Navigate by Date:
- Prev:
Re: Parker 9000 Ron Sluiter
- Next:
FW: EDM: Text Monitor Widget Szalata, Zenon M.
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
<2009>
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: CAJ questions Matej Sekoranja
- Next:
Re: CAJ questions Matej Sekoranja
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
<2009>
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|