Errata


Print Print Icon

Submit your own errata for this product.


The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.


Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question



Version Location Description Submitted By Corrected
Printed Page 37
paragraph 7

Statement stmt =
con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.CONCUR_UPDATEABLE);

now reads:

Statement stmt =
con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.CONCUR_UPDATABLE);

Anonymous  Sep 2000
Printed Page 38
"CONCUR_UPDATEABLE" now reads "CONCUR_UPDATABLE."

Anonymous  Sep 2000
Printed Page 53
1st bullet

The text now reads

"Every object ... has to ... implement an interface..."

Anonymous  Sep 2000
Printed Page 63
second command line:

now starts

% java -Djava.rmi.server.codebase=...

Anonymous  Sep 2000
Printed Page 105
second paragraph, first code example, and last paragraph

before "Getting Objects from Other Remote Objects" heading:

"list_initial_references()" was changed to "list_initial_services()". This
occurred twice in the prose and once in a code block.

Anonymous  Sep 2000
Printed Page 129
code near middle of page

now reads:

// Try loading from disk
try {
File r = new File("./data/counter.dat");
DataInputStream ds = new DataInputStream(new FileInputStream(r));
timesAccessed = ds.readInt();
}
catch (FileNotFoundException e){
// Handle error
}
catch (IOException e){
// This should be logged
}
finally{
ds.close();
}

should read:

// Try loading from the disk
try {
File r = new File("./data/counter.dat");
DataInputStream ds = new DataInputStream(new FileInputStream(r));
timesAccessed = ds.readInt();
ds.close();
}
catch (FileNotFoundException e) {
// Handle error
}
catch (IOException e) {
// This should be logged
}

In other words, strike the last three lines and insert "ds.close();" as the
fourth line under "try".

Anonymous 
Printed Page 130
code

now reads:

public void destroy() {
// Write the integer to a file
File r = new File("./data/counter.dat");
try {
DataOutputStream dout = new DataOutputStream(new FileOutputStream(r));
dout.writeInt(timesAccessed);
}
catch (IOException e){
// this should be logged
}
finally {
dout.close();
}
}

should read:

public void destroy() {
// Write the Integer to a file
File r = new File("./data/counter.dat");
try {
DataOutputStream dout = new DataOutputStream(new FileOutputStream(r));
dout.writeInt(timesAccessed);
dout.close();
}
catch(IOException e) {
// This should be logged
}
}

That is, strike these three lines:

finally (
dout.close();
}

Anonymous 
Printed Page 202
part of loadFromDB method

After

catch (SQLException e) {
throw new FinderException("Failed to load profile entries from DB: " +
e.toString());
}

the following line was added:

finally { try { s.close(); conn.close(); }

Anonymous  Sep 2000
Printed Page 207
2nd paragraph

The text did read "efbCreate()"; it now reads "ejbCreate()".

Anonymous  Sep 2000
Printed Page 445
Figure 27-1

ConnectionEventListener and RowSetListener should extend EventListener.
"Cloneable" now reads "EventListener."

Anonymous  Sep 2000