view flys-client/src/main/webapp/WEB-INF/config.yaml @ 5779:ebec12def170

Datacage: Add a pool of builders to make it multi threadable. XML DOM is not thread safe. Therefore the old implementation only allowed one thread to use the builder at a time. As the complexity of the configuration has increased over time this has become a bottleneck of the whole application because it took quiet some time to build a result. Furthermore the builder code path is visited very frequent. So many concurrent requests were piled up resulting in long waits for the users. To mitigate this problem a round robin pool of builders is used now. Each of the pooled builders has an independent copy of the XML template and can be run in parallel. The number of builders is determined by the system property 'flys.datacage.pool.size'. It defaults to 4.
author Sascha L. Teichmann <teichmann@intevation.de>
date Sun, 21 Apr 2013 12:48:09 +0200
parents b73de25c01b4
children
line wrap: on
line source
#===========================================================================
# allowed DPIs
#===========================================================================
dpis: [254, 190, 127, 72, 56]

#===========================================================================
# allowed Formats
#===========================================================================
formats: ['*']

#===========================================================================
# the allowed scales
#===========================================================================
scales:
  - 500
  - 750
  - 1000
  - 1250
  - 1500
  - 1750
  - 2000
  - 2250
  - 2500
  - 2750
  - 3000
  - 3250
  - 3500
  - 3750
  - 4000
  - 4250
  - 4500
  - 4750
  - 5000
  - 5500
  - 6000
  - 6500
  - 7000
  - 7500
  - 8000
  - 8500
  - 9000
  - 9500
  - 10000
  - 12500
  - 15000
  - 17500
  - 20000
  - 22500
  - 25000
  - 30000
  - 35000
  - 40000
  - 45000
  - 50000
  - 75000
  - 100000
  - 200000
  - 500000
  - 1000000
  - 2000000
  - 4000000

outputFilename: 'flys-${date}.pdf'

#===========================================================================
# the list of allowed hosts
#===========================================================================
hosts:
  - !localMatch
    dummy: true
  - !dnsMatch
    host: wsvmapserv.ilmenau.baw.de
    port: 80
  - !dnsMatch
    host: www.pegelonline.wsv.de
    port: 80
  - !dnsMatch
    host: gdz.bkg.bund.de
    port: 80
  - !dnsMatch
    host: ims3.bkg.bund.de
    port: 80
  - !dnsMatch
    host: tile.openstreetmap.org
    port: 80
  - !dnsMatch
    host: wsvmapserv.wsv.bund.de
    port: 80
  - !dnsMatch
    host: geo4.service24.rlp.de
    port: 80
  # Catch all
  #- !dnsMatch
  #  host: #regex that catches host plus path
  #  port: 80
  - !dnsMatch
    host: osm.intevation.de
    port: 80
  - !dnsMatch
    host: osm.wheregroup.com
    port: 80
  - !dnsMatch
    host: geoportal.bafg.de
    port: 80
  - !dnsMatch
    host: wsvmapserv.wsv.bvbs.bund.de
    port: 80

# We need a font with unicode support the defaults only
# have latin1
fonts:
  - /usr/share/fonts/truetype/freefont/FreeSans.ttf

layouts:
  #===========================================================================
  A4 landscape:
  #===========================================================================
    metaData:
      title: '${mapTitle}'
      author: 'Flusshydrologische Software'
      subject: 'Kartendruck'
      keywords: 'map,print'
      creator: 'd4e-river'

    #-------------------------------------------------------------------------
    mainPage:
       # 842 * 595
      pageSize: A4
      landscape: true
      marginLeft: 20
      marginRight: 20
      marginTop: 20
      marginBottom: 20
      items:
        - !map
          absoluteX: 20
          align: left
          absoluteY: 575
          width: 587
          height: 555
          spacingAfter: 0
        # The north arrow
        - !columns
          absoluteX: 627
          absoluteY: 65
          width: 32
          items:
            - !image
              maxWidth: 20
              maxHeight: 40
              url: '${configDir}/../images/north.png'
        # The scale text
        - !columns
          absoluteX: 615
          absoluteY: 30
          width: 45
          items:
            - !text
              fontSize: 8
              text: '1:${scale}'
              align: center
              fontEncoding: Identity-H
              font: FreeSans
              backgroundColor: #FFFFFF
        #Flys and BFG Logo
        - !columns
          absoluteX: 760
          absoluteY: 70
          width: 50
          items:
            - !image
              maxWidth: 50
              maxHeight: 50
              url: '${configDir}/../images/FLYS_Logo.png'
        - !columns
          absoluteX: 665
          absoluteY: 70
          width: 75
          items:
            - !image
              maxWidth: 75
              maxHeight: 50
              url: '${configDir}/../${logo}'
        # Scalebar
        - !columns
          absoluteX: 460
          absoluteY: 40
          width: 150
          items:
            - !scalebar
              type: bar
              maxSize: 150
              barSize: 5
              barBgColor: white
              fontSize: 8
              backgroundColor: #FFFFFF
        # The legend
        - !columns
          absoluteX: 612
          absoluteY: 390
          width: 200
          items:
            - !legends
              maxHeight: 310
              maxWidth: 0
              maxIconHeight: 0
              inline: true
              classIndentation: 10
              layerSpace: 0
              classSpace: 5
              layerFontSize: 0
              classFontSize: 10
              fontEncoding: Identity-H
              classFont: FreeSans
              layerFont: FreeSans
              defaultScale: 0.5
          config:
            borderWidthLeft: 1
            borderWidthRight: 1
            borderWidthTop: 1
            borderWidthBottom: 1
        # The stamp background
        - !columns
          absoluteX: 557
          absoluteY: 575
          width: 260
          items:
            - !image
              maxWidth: 260
              maxHeight: 184
              url: '${configDir}/../images/white.png'

        # Title of the map
        - !columns
          absoluteX: 562
          absoluteY: 575
          width: 250
          condition: mapTitle
          items:
            - !text
              text: '${mapTitle}'

        # The Stamp
        - !columns
          absoluteX: 562
          absoluteY: 555
          width: 250
        #  config:
        #    borderWidthLeft: 5
        #    borderWidthRight: 5
        #    borderWidthTop: 5
        #    borderWidthBottom: 5
            #padding: 10
            #backgroundColor: #FFFFFF
            #borderColor: #FFFFFF
          items:
            - !attributes
              source: data
              spacingAfter: 0
              columnDefs:
                info:
                  columnWeight: 7
                  header: !text
                    text: info
                    fontSize: 0
                  cell: !columns
                    config:
                      cells:
                        - borderWidth: 1
                          padding: 5
                    items:
                      - !text
                        text: '${info}'
                        fontSize: 10
                        fontEncoding: Identity-H
                        font: FreeSans
                        fontSize: 10
                    backgroundColor: #FFFFFF
                value:
                  columnWeight: 15
                  header: !text
                    text: value
                    fontSize: 0
                  cell: !columns
                    config:
                      cells:
                        - borderWidth: 1
                          padding: 5
                    items:
                      - !text
                        text: '${value}'
                        fontEncoding: Identity-H
                        font: FreeSans
                        fontSize: 10
                    backgroundColor: #FFFFFF

http://dive4elements.wald.intevation.org