XFire
  1. XFire
  2. XFIRE-682

Ordering when configuring Services in SimpleUrlHandlerMapping affect mappings and can cause an Exception

    Details

    • Type: Bug Bug
    • Status: Open Open
    • Priority: Critical Critical
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None
    • Environment:
      XFire 1.1.2
    • Number of attachments :
      0

      Description

      Here is my ordering for the web services in my SimpleUrlHandlerMapping class:

      <bean
      		class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
      		<property name="urlMap">
      			<map>
      				<!--
      				================
      				WARNING!:
      				=================
      				There is a strange bug in XFire, where if we put
      				the TroubleshootingManagerservice before the PerformanceMonitorService
      				we get an error. DO NOT change the order of these services
      				definitions
      				 -->
      				<entry key="/CacheStatsService">
      					<ref bean="cacheStatsService" />
      				</entry>
      				<entry key="/PerformanceMonitorService">
      					<ref bean="performanceMonitorService" />
      				</entry>
      				<entry key="/TroubleshootingManagerService">
      					<ref bean="troubleshootingManagerService" />
      				</entry>
      			</map>
      		</property>
      	</bean>
      

      TroubleshootingManager Service has an Array of Maps configured thru Aegis mappings. If I change the order of the entries in the xml config file and put, for instance, PeformanceMonitorService last, then the mappings get screwed up and they stop working (i.e. keyType not configured for property 'blah' in bean 'blah' ).

      But if I reorder them the way it is shown here then everything is fine. This is a VERY strange error and I think something might be wrong the way services "share" mapping configurations. I was not able to track this back to any part of XFire, actually.

      I put this issue 'critical' because I am afraid a "circular-reference" (deadlock) may occur if I add a "specific" 'bad' service to my mapping, which would lead to my application stop working.

      I tried this with 1.1.2 version only because 1.2.1 has a problem with Arrays of Maps (there is an isse already open).

      PS: I added Array of Maps mapping capability by modifying code, it COULD also be a bug included by me, but I touched just a few lines... who knows. Maybe we should look into this once the "official" Array of Maps mapping is fixed in 1.2.2

      Best Regards,
      Andrés Bernasconi.

        Activity

        Hide
        Dan Diephouse added a comment -

        It sounds like this might be fixed by the getting array of maps fixed. I'll take a look at that other bug and we can revisit this...

        Show
        Dan Diephouse added a comment - It sounds like this might be fixed by the getting array of maps fixed. I'll take a look at that other bug and we can revisit this...

          People

          • Assignee:
            Dan Diephouse
            Reporter:
            Andres Bernasconi
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated: