Uploaded image for project: 'Spring Framework'
  1. Spring Framework
  2. SPR-7504

Make it easier to add new Message Converters to AnnotationMethodHandlerAdapter

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Complete
    • Affects Version/s: 3.0.4
    • Fix Version/s: 3.1 M1
    • Component/s: Web
    • Labels:
      None

      Description

      See https://support.springsource.com/spring_support_client_getIncidentById/9995

      I needed to use MarshallingHttpMessageConverter (so @RequestBody could bind a POST of XML to a POJO). AnnotationMethodHandlerAdapter is preconfigured in its constructor with several MessagConverters, but not MarshallingHttpMessageConverter. Using the <mvc:annotation-config/> tag, it was nearly impossible to add this MessageConverter to the AMHA. Per Spring Support, I had to write a BeanPostProcessor to look for the AMHA and then add the MTHC (and to add insult to injury, it was an array!).

      There should be a simpler way to add MessageConverters; in fact, if they are found in the application context they should be added automatically, or they should be added via the mvc:annotation-config. Or anything more elegant than the BeanPostProcessor.

      Also section 19.9 of the reference document implies that MarshallingHttpMessageConverter is configured by default, but it's not.

        Issue Links

          Activity

          kdelong Kenneth DeLong created issue -
          cbeams Chris Beams made changes -
          Field Original Value New Value
          Fix Version/s 3.1 M1 [ 11378 ]
          Platform Parent values: JBoss(10024). Level 1 values: 4.2(10165). Parent values: JBoss(10024).
          Original Estimate 0d [ 0 ]
          Remaining Estimate 0d [ 0 ]
          Virtual Machine Parent values: Sun JVM(10011). Level 1 values: 1.6(10174). Parent values: Sun JVM(10011).
          tmarshall Trevor Marshall made changes -
          Workflow jira [ 33353 ] SPR Workflow [ 40931 ]
          olivergierke Oliver Gierke made changes -
          Assignee Oliver Gierke [ olivergierke ]
          olivergierke Oliver Gierke made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          olivergierke Oliver Gierke made changes -
          Attachment 7504.patch [ 17101 ]
          olivergierke Oliver Gierke made changes -
          Status In Progress [ 3 ] Open [ 1 ]
          olivergierke Oliver Gierke made changes -
          Time Spent 0.5h [ 1800 ]
          olivergierke Oliver Gierke made changes -
          Assignee Oliver Gierke [ olivergierke ] Arjen Poutsma [ arjen.poutsma ]
          rstoya05-aop Rossen Stoyanchev made changes -
          Link This issue is related to SPR-7091 [ SPR-7091 ]
          rstoya05-aop Rossen Stoyanchev made changes -
          Link This issue is related to SPR-7191 [ SPR-7191 ]
          rstoya05-aop Rossen Stoyanchev made changes -
          Resolution Complete [ 8 ]
          Status Open [ 1 ] Resolved [ 5 ]
          Assignee Arjen Poutsma [ arjen.poutsma ] Rossen Stoyanchev [ rstoya05-aop ]
          cbeams Chris Beams made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          tmarshall Trevor Marshall made changes -
          Workflow SPR Workflow [ 40931 ] New SPR Workflow [ 58639 ]
          tmarshall Trevor Marshall made changes -
          Workflow New SPR Workflow [ 58639 ] SPR Workflow [ 68242 ]
          juergen.hoeller Juergen Hoeller made changes -
          Link This issue is related to SPR-7904 [ SPR-7904 ]

            People

            • Assignee:
              rstoya05-aop Rossen Stoyanchev
              Reporter:
              kdelong Kenneth DeLong
              Last updater:
              Juergen Hoeller
            • Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Days since last comment:
                6 years, 17 weeks, 3 days ago

                Time Tracking

                Estimated:
                Original Estimate - 0d
                0d
                Remaining:
                Remaining Estimate - 0d
                0d
                Logged:
                Time Spent - 0.5h
                0.5h