@ -829,7 +829,7 @@ public Actor findActor(String specialty, int age) {
@@ -829,7 +829,7 @@ public Actor findActor(String specialty, int age) {
</note>
<listitem>
<para>Any a custom translation implemented by a subclass. Normally
<para>Any custom translation implemented by a subclass. Normally
the provided concrete
<classname>SQLErrorCodeSQLExceptionTranslator</classname> is used
so this rule does not apply. It only applies if you have actually
@ -1715,7 +1715,7 @@ END;</programlisting>The <code>in_id</code> parameter contains the
@@ -1715,7 +1715,7 @@ END;</programlisting>The <code>in_id</code> parameter contains the
<para>The <classname>SimpleJdbcCall</classname> is declared in a similar
manner to the <classname>SimpleJdbcInsert</classname>. You should
instantiate and configure the class in the initialization method of your
data access layer. Compared to the StoredProcdedure class, you don't
data access layer. Compared to the StoredProcedure class, you don't
have to create a subclass and you don't have to declare parameters that
can be looked up in the database metadata. <!--Reword preceding: You need not subclass *what?* and you declare *what* in init method? TR: Revised, pplease review.-->Following
is an example of a SimpleJdbcCall configuration using the above stored
@ -2134,7 +2134,7 @@ public Customer getCustomer(Long id) {
@@ -2134,7 +2134,7 @@ public Customer getCustomer(Long id) {
<para>The method in this example retrieves the customer with the id that
is passed in as the only parameter. Since we only want one object
returned we simply call the convenience method <code>findObject</code>
with the id as parameter. If we instead had a query the returned a list
with the id as parameter. If we had instead a query that returned a list
of objects and took additional parameters then we would use one of the
execute methods that takes an array of parameter values passed in as
varargs.</para>
@ -2476,9 +2476,9 @@ public class TitlesAfterDateStoredProcedure extends StoredProcedure {
@@ -2476,9 +2476,9 @@ public class TitlesAfterDateStoredProcedure extends StoredProcedure {
of these approaches use an implementation of the
<classname>LobHandler</classname> interface for the actual management of
the LOB data. The <classname>LobHandler</classname> provides access to a
<classname>LobCreator</classname><!--a LobCreator *what*? Say what it is. TR: Revised.-->class,
through the <classname>getLobCreator</classname> method, used for
creating new LOB objects to be inserted.</para>
<classname>LobCreator</classname> class, through the
<classname>getLobCreator</classname> method, used for creating new LOB
objects to be inserted.</para>
<para>The <classname>LobCreator/LobHandler</classname> provides the
following support for LOB input and output:</para>
creator)</methodname> lets you send to a message using the string name of
creator)</methodname> lets you send a message using the string name of
the destination. If these names are registered in JNDI, you should set the
<property>destinationResolver</property> property of the template to an
instance of <classname>JndiDestinationResolver</classname>.</para>
@ -444,7 +444,7 @@ public class JmsQueueSender {
@@ -444,7 +444,7 @@ public class JmsQueueSender {
<para>The sandbox currently includes a
<classname>MapMessageConverter</classname> which uses reflection to
convert between a JavaBean and a <classname>MapMessage</classname>.
Other popular implementations choices you might implement yourself are
Other popular implementation choices you might implement yourself are
Converters that use an existing XML marshalling package, such as JAXB,
Castor, XMLBeans, or XStream, to create a
<interfacename>TextMessage</interfacename> representing the
@ -500,7 +500,7 @@ public class JmsQueueSender {
@@ -500,7 +500,7 @@ public class JmsQueueSender {
<interfacename>ProducerCallback</interfacename> expose the JMS
<interfacename>Session</interfacename> and
<interfacename>Session</interfacename> /
<interfacename>MessageProducer</interfacename> pair respectfully. The
<interfacename>MessageProducer</interfacename> pair respectively. The
<methodname>execute()</methodname> methods on
<classname>JmsTemplate</classname> execute these callback
methods.</para>
@ -589,7 +589,7 @@ public class ExampleListener implements MessageListener {
@@ -589,7 +589,7 @@ public class ExampleListener implements MessageListener {
@ -519,7 +519,7 @@ public class AnnotationTestBean implements IJmxTestBean {
@@ -519,7 +519,7 @@ public class AnnotationTestBean implements IJmxTestBean {
@ -820,7 +820,7 @@ public String findOwner(<emphasis role="bold">@PathVariable</emphasis> String ow
@@ -820,7 +820,7 @@ public String findOwner(<emphasis role="bold">@PathVariable</emphasis> String ow
<!-- MLP: Bev Review -->
<para>The matching of method parameter names to URI Template variable
names can only be done if your code is compiled with debugging
enabled. If you do have not debugging enabled, you must specify the
enabled. If you do not have debugging enabled, you must specify the
name of the URI Template variable name in the @PathVariable annotation
in order to bind the resolved value of the variable name to a method
parameter. For example:</para>
@ -1176,8 +1176,9 @@ public String processSubmit(<emphasis role="bold">@ModelAttribute("pet") Pet pet
@@ -1176,8 +1176,9 @@ public String processSubmit(<emphasis role="bold">@ModelAttribute("pet") Pet pet
<listitem>
<para>A <classname>HttpEntity<?></classname> or
to access to the Servlet reponse HTTP headers and contents. The entity body will
be converted to the response stream using
to provide access to the Servlet reponse HTTP headers and
contents. The entity body will be converted to the response
stream using
<interfacename>HttpMessageConverter</interfacename>s. See <xref
linkend="mvc-ann-httpentity" />.</para>
</listitem>
@ -2241,7 +2242,7 @@ public class TimeBasedAccessInterceptor extends HandlerInterceptorAdapter {
@@ -2241,7 +2242,7 @@ public class TimeBasedAccessInterceptor extends HandlerInterceptorAdapter {
representation of the current resource regardless of the logical view
name. The <literal>Accept</literal> header may include wildcards, for
example text/*, in which case a <classname>View</classname> whose
Context-Type was text/xml is a compatible match.</para>
Content-Type was text/xml is a compatible match.</para>
<para>To support the resolution of a view based on a file extension, use
the <classname>ContentNegotiatingViewResolver </classname>bean property
@ -2760,7 +2761,7 @@ public class FileUpoadController {
@@ -2760,7 +2761,7 @@ public class FileUpoadController {
<literal>web.xml</literal>. However, they provide a more flexible way to
handle exceptions. They provide information about which handler was
executing when the exception was thrown. Furthermore, a programmatic way
of handling exception gives you more options for responding
of handling exceptions gives you more options for responding
appropriately before the request is forwarded to another URL (the same
end result as when you use the servlet specific exception
a <interfacename>PersistenceUnitInfo</interfacename> instancebased
on the <literal>persistence.xml</literal> file, the supplied
<literal>dataSourceLookup</literal> strategy, and the specified
<literal>loadTimeWeaver</literal>. It is thus possible to work with
@ -1467,7 +1467,7 @@ TR: OK AS IS. The requirement is to provide the classloader for the runtime envi
@@ -1467,7 +1467,7 @@ TR: OK AS IS. The requirement is to provide the classloader for the runtime envi
applied only <emphasis>per class loader</emphasis> and not per
VM.</para>
<para>Refer to the section <xreflinkend="aop-aj-ltw-spring"/> in the AOP chapter for more insight regarding the
<para>Refer to <xreflinkend="aop-aj-ltw-spring"/> in the AOP chapter for more insight regarding the
<interfacename>LoadTimeWeaver</interfacename> implementations and their setup, either generic or customized to
various platforms (such as Tomcat, WebLogic, OC4J, GlassFish, Resin and JBoss).</para>
@ -394,8 +394,8 @@ public class AccountServiceImpl implements AccountService {
@@ -394,8 +394,8 @@ public class AccountServiceImpl implements AccountService {
<title>Exposing the service object</title>
<para>Setting up the HTTP invoker infrastructure for a service object
much resembles the way you would do using Hessian or Burlap. Just as
Hessian support provides the
resembles closely the way you would do the same using Hessian or Burlap.
@ -629,7 +628,7 @@ TR: REVISED, PLS REVIEW - rewrote this to hoefully make it more clear--></para>
@@ -629,7 +628,7 @@ TR: REVISED, PLS REVIEW - rewrote this to hoefully make it more clear--></para>
<para>The Spring Framework enables you to customize transactional
behavior, by using AOP. For example, you can insert custom behavior in
the case of transaction rollback. You can also add arbitrary advice,
along with the transactional advice. With EJB CMT, cannot influence
along with the transactional advice. With EJB CMT, you cannot influence
the container's transaction management except with
@ -1858,7 +1857,7 @@ TR: REVISED, PLS REVIEW - changed it back; it's not just settings, the section d
@@ -1858,7 +1857,7 @@ TR: REVISED, PLS REVIEW - changed it back; it's not just settings, the section d
<para>When the propagation setting is
<literal>PROPAGATION_REQUIRED</literal>, a
<emphasis>logical</emphasis> transaction scope is created for each
method that to which the setting is applied. Each such logical
method upon which the setting is applied. Each such logical
transaction scope can determine rollback-only status individually,
with an outer transaction scope being logically independent from the
inner transaction scope. Of course, in case of standard
@ -2137,7 +2136,7 @@ TR: REVISED, PLS REVIEW. changed to 'desired'; seems clear that the desired orde
@@ -2137,7 +2136,7 @@ TR: REVISED, PLS REVIEW. changed to 'desired'; seems clear that the desired orde
the aspect. The simplest way to configure the transaction management
aspect is to use the <literal><tx:annotation-driven/></literal>
element and specify the <literal>mode</literal> attribute to
<literal>asepctj</literal> as described in <xref
<literal>aspectj</literal> as described in <xref
linkend="transaction-declarative-annotations" />. Because we're focusing
here on applications running outside of a Spring container, we'll show