Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017 
<== Date ==> <== Thread ==>

Subject: RE: JCA problems and questions
From: "Chu, Paul" <chu@frib.msu.edu>
To: "Kasemir, Kay" <kasemirk@ornl.gov>, Jack Smith <jacksmithvent2009@gmail.com>, Mark Rivers <rivers@cars.uchicago.edu>
Cc: "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Date: Wed, 24 Oct 2012 21:26:30 +0000
Kay gave a very clear explanation.  So, in short:

1. JCA: Java Channel Access with JNI (C/C++) under the hood -- you will need the file libjca.so or an equivalent one
2. CAJ: pure Java implementation (trying to replicate what the JNI library) -- you will need caj.jar

And, they both need jca.jar.

Among experts, some people also call JCA/JNI for 1 and JCA/CAJ for 2.

Paul

> -----Original Message-----
> From: tech-talk-bounces@aps.anl.gov [mailto:tech-talk-
> bounces@aps.anl.gov] On Behalf Of Kasemir, Kay
> Sent: Wednesday, October 24, 2012 5:01 PM
> To: Jack Smith; Mark Rivers
> Cc: tech-talk@aps.anl.gov
> Subject: RE: JCA problems and questions
> 
> Hi:
> 
> I agree that it's confusing. Here's my understanding:
> 
> JCA is the Java library for interacting with Channel Access.
> It provides
> 1) The API for creating a channel, handling the connection, adding a
> subscription, receiving values, ...
> 2) An actual implementation for the API, based on invoking the C/C++
> Channel Access client library from EPICS 'base' via JNI, the Java native
> interface.
> 
> Any Java program that wants to interact with Channel Access needs part 1) of
> JCA. It's a bit like the "include" file of a C/C++ program.
> To actually work, you used to also need 2), which means: It's no longer pure
> Java. You must have the JNI library of JCA that was compiled for your
> operating system.
> 
> CAJ replaces part 2) of JCA with a pure Java implementation that works for
> everybody.
> 
> 
> To me,
> "JCA with JNI interface to Channel Access"
> and
> "JCA with CAJ"
> are the two basic alternatives that you have.
> Maybe there could be a better name for these.
> 
> Thanks,
> -Kay
> 
> 
> 
> ________________________________________
> From: tech-talk-bounces@aps.anl.gov [tech-talk-bounces@aps.anl.gov] On
> Behalf Of Jack Smith [jacksmithvent2009@gmail.com]
> Sent: Wednesday, October 24, 2012 4:18 PM
> To: Mark Rivers
> Cc: tech-talk@aps.anl.gov
> Subject: Re: JCA problems and questions
> 
> Hi,
> 
> I always get confused and mess up the names of caj and jca. Could anyone
> provide a simple explanation of what they stand for and what are their
> differences so that jca/caj can be easily remembered, not easily messed up.
> Can someone rename them? Thanks,
> 



Replies:
Re: JCA problems and questions Jack Smith
References:
JCA problems and questions Mark Rivers
Re: JCA problems and questions Jack Smith
RE: JCA problems and questions Kasemir, Kay

Navigate by Date:
Prev: RE: JCA problems and questions Kasemir, Kay
Next: Re: what are your definitions of softIOC and soft record? Benjamin Franksen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017 
Navigate by Thread:
Prev: RE: JCA problems and questions Kasemir, Kay
Next: Re: JCA problems and questions Jack Smith
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·