Java Enterprise in a Nutshell by David Flanagan, Jim Farley, William Crawford & Kris Magnusson The following changes were made in the 9/00 reprint: {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); {38} "CONCUR_UPDATEABLE" now reads "CONCUR_UPDATABLE." {53} 1st bullet: The text now reads "Every object ... has to ... implement an interface..." {63} second command line: now starts % java -Djava.rmi.server.codebase=... [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. {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(); } (207) 2nd paragraph: The text did read "efbCreate()"; it now reads "ejbCreate()". {445} Figure 27-1: ConnectionEventListener and RowSetListener should extend EventListener. "Cloneable" now reads "EventListener."