添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
I’m trying to do 3 servers in one docker image. Now I got something funny
with my setup, cause the parsing goes ok, but: It fails to do something else…

Error is:

Failed to either read or execute the ors configuration and its parameters: java.lang.RuntimeException

ors-config:

##### openrouteservice settings file #####
# This file contains parameters for openrouteservice.
# For a full list of possible parameters see https://giscience.github.io/openrouteservice/run-instance/configuration/
##### General server settings #####
server:
  port: 8082
  error:
    whitelabel:
      enabled: false
 # Keep the context-path at / else the war file run with tomcat will have the context-path of /ors/v2 as well.
  servlet:
    context-path: /ors
spring:
  profiles:
    active: default
    servlet:
      path: /
##### Settings related to springdoc #####
#springdoc:
#  swagger-ui:
#    enabled: true
#    path: /swagger-ui
#    tryItOutEnabled: true
#    filter: false
#    syntaxHighlight:
#      activated: true
#    showExtensions: true
#  api-docs:
#    path: /v2/api-docs
#    version: OPENAPI_3_0
#  packages-to-scan: org.heigit.ors
#  pathsToMatch: /v2/**
##### Logging settings #####
logging:
  file:
    name: ./logs/ors.log
  pattern:
    console: "%d{yyyy-MM-dd HH:mm:ss} %highlight{%-7p} %style{%50t}{Cyan} %style{[ %-40.40c{1.} ]}{Bright Cyan}   %m%n"
    file: "%d{yyyy-MM-dd HH:mm:ss} %p [%-40.40c{1.}] - %m%n"
  level:
    root: WARN
#    org.heigit: INFO
##### openrouteservice specific settings #####
  cors:
    allowed_origins: "*"
    allowed_headers: Content-Type, X-Requested-With, accept, Origin, Access-Control-Request-Method, Access-Control-Request-Headers, Authorization
    preflight_max_age: 600
  messages:
  ##### ORS endpoints settings #####
  endpoints:
    routing:
      enabled: true
      attribution: openrouteservice.org, OpenStreetMap contributors, tmc - BASt
      gpx_name: ORSRouting
      gpx_description: This is a directions instructions file as GPX, generated from openrouteservice
      gpx_base_url: https://openrouteservice.org/
      gpx_support_mail: support@openrouteservice.org
      gpx_author: openrouteservice
      gpx_content_licence: LGPL 3.0
      maximum_avoid_polygon_area: 200000000
      maximum_avoid_polygon_extent: 20000
      maximum_alternative_routes: 3
    matrix:
      enabled: true
      attribution: openrouteservice.org, OpenStreetMap contributors
      maximum_routes: 2500
      maximum_routes_flexible: 25
      maximum_visited_nodes: 100000
      maximum_search_radius: 2000
      u_turn_costs: -1
    isochrones:
      enabled: true
      attribution: openrouteservice.org, OpenStreetMap contributors
      maximum_locations: 2
      maximum_intervals: 1
      allow_compute_area: true
      maximum_range_distance_default: 50000
      maximum_range_distance:
        - profiles: driving-car, driving-hgv
          value: 100000
      maximum_range_time_default: 18000
      maximum_range_time:
        - profiles: driving-car, driving-hgv
          value: 3600
      fastisochrones:
        maximum_range_distance_default: 50000
        maximum_range_distance:
          - profiles: driving-car, driving-hgv
            value: 500000
        maximum_range_time_default: 18000
        maximum_range_time:
          - profiles: driving-car, driving-hgv
            value: 10800
    Snap:
      enabled: true
      attribution: openrouteservice.org, OpenStreetMap contributors
  ##### ORS engine settings #####
  engine:
    source_file: /home/ors/files/the-map.osm.gz
    init_threads: 300
    preparation_mode: false
    graphs_root_path: ./graphs
    graphs_data_access: RAM_STORE
    elevation:
      preprocessed: false
      data_access: MMAP
      cache_clear: false
      provider: multi
      cache_path: ./elevation_cache
    profile_default:
      enabled: true
      elevation: false
      elevation_smoothing: false
      encoder_flags_size: 8
      instructions: true
      optimize: false
      traffic: false
      maximum_distance: 100000
      maximum_distance_dynamic_weights: 100000
      maximum_distance_avoid_areas: 100000
      maximum_waypoints: 50
      maximum_snapping_radius: 400
      maximum_distance_alternative_routes: 100000
      maximum_distance_round_trip_routes: 100000
      maximum_speed_lower_bound: 80
      maximum_visited_nodes: 1000000
      location_index_resolution: 500
      location_index_search_iterations: 4
      force_turn_costs: false
      interpolate_bridges_and_tunnels: true
      preparation:
        min_network_size: 200
        methods:
            enabled: true
            threads: 1
            weightings: recommended,shortest
            landmarks: 16
      execution:
        methods:
            active_landmarks: 8
    profiles:
        enabled: false
        profile: driving-car
        elevation: true
        encoder_options:
          turn_costs: true
          block_fords: false
          use_acceleration: true
        preparation:
          min_network_size: 200
          methods:
              enabled: true
              threads: 1
              weightings: fastest
              enabled: false
              threads: 1
              weightings: fastest,shortest
              landmarks: 16
            core:
              enabled: true
              threads: 1
              weightings: fastest,shortest
              landmarks: 64
              lmsets: highways;allow_all
        execution:
          methods:
              active_landmarks: 6
            core:
              active_landmarks: 6
        ext_storages:
          WayCategory:
          HeavyVehicle:
          WaySurfaceType:
          RoadAccessRestrictions:
            use_for_warnings: true
        enabled: false
        profile: driving-hgv
        encoder_flags_size: 8
        encoder_options:
          turn_costs: true
          block_fords: false
          use_acceleration: true
        maximum_distance: 100000
        elevation: true
        preparation:
          min_network_size: 200
          methods:
              enabled: true
              threads: 1
              weightings: recommended
            core:
              enabled: true
              threads: 1
              weightings: recommended,shortest
              landmarks: 64
              lmsets: highways;allow_all
        execution:
          methods:
            core:
              active_landmarks: 6
        ext_storages:
          WayCategory:
          HeavyVehicle:
            restrictions: true
          WaySurfaceType:
      bike-regular:
        enabled: false
        profile: cycling-regular
        encoder_options:
          consider_elevation: true
          turn_costs: true
          block_fords: false
        elevation: true
        ext_storages:
          WayCategory:
          WaySurfaceType:
          HillIndex:
          TrailDifficulty:
      bike-mountain:
        enabled: false
        profile: cycling-mountain
        encoder_options:
          consider_elevation: true
          turn_costs: true
          block_fords: false
        elevation: true
        ext_storages:
          WayCategory:
          WaySurfaceType:
          HillIndex:
          TrailDifficulty:
      bike-road:
        enabled: false
        profile: cycling-road
        encoder_options:
          consider_elevation: true
          turn_costs: true
          block_fords: false
        elevation: true
        ext_storages:
          WayCategory:
          WaySurfaceType:
          HillIndex:
          TrailDifficulty:
      bike-electric:
        enabled: true
        profile: cycling-electric
        encoder_options:
          consider_elevation: true
          turn_costs: true
          block_fords: false
        elevation: true
        ext_storages:
          WayCategory:
          WaySurfaceType:
          HillIndex:
          TrailDifficulty:
      walking:
        enabled: false
        profile: foot-walking
        encoder_options:
          block_fords: false
        elevation: true
        ext_storages:
          WayCategory:
          WaySurfaceType:
          HillIndex:
          TrailDifficulty:
      hiking:
        enabled: false
        profile: foot-hiking
        encoder_options:
          block_fords: false
        elevation: true
        ext_storages:
          WayCategory:
          WaySurfaceType:
          HillIndex:
          TrailDifficulty:
      wheelchair:
        enabled: false
        profile: wheelchair
        encoder_options:
          block_fords: true
        elevation: true
        maximum_snapping_radius: 50
        ext_storages:
          WayCategory:
          WaySurfaceType:
          Wheelchair:
            KerbsOnCrossings: true
          OsmId:
      public-transport:
        enabled: false
        profile: public-transport
        encoder_options:
          block_fords: false
        elevation: true
        maximum_visited_nodes: 1000000
        gtfs_file: ./src/test/files/vrn_gtfs_cut.zip
2024-05-11 11:49:35 INFO [o.h.o.a.Application                     ] - Starting Application v8.0.0 using Java 21.0.2 with PID 1 (/ors.jar started by root in /home/ors)
2024-05-11 11:49:35 INFO [o.h.o.a.Application                     ] - The following 1 profile is active: "default"
2024-05-11 11:49:36 INFO [o.h.o.a.ORSEnvironmentPostProcessor     ] - 
2024-05-11 11:49:36 INFO [o.h.o.a.ORSEnvironmentPostProcessor     ] - Configuration lookup started.
2024-05-11 11:49:36 INFO [o.h.o.a.ORSEnvironmentPostProcessor     ] - Configuration file set by environment variable.
2024-05-11 11:49:36 INFO [o.h.o.a.ORSEnvironmentPostProcessor     ] - Loaded file '/home/ors/config/ors-config.yml'
2024-05-11 11:49:36 INFO [o.h.o.a.ORSEnvironmentPostProcessor     ] - Configuration lookup finished.
2024-05-11 11:49:36 INFO [o.h.o.a.ORSEnvironmentPostProcessor     ] - 
2024-05-11 11:49:40 INFO [o.h.o.a.s.l.ORSInitContextListener      ] - Initializing ORS...
2024-05-11 11:49:40 INFO [o.h.o.r.RoutingProfileManager           ] - Total - 12 GB, Free - 11.90 GB, Max: 64 GB, Used - 103.21 MB
2024-05-11 11:49:40 INFO [o.h.o.r.RoutingProfileManager           ] - ====> Initializing profiles from '/home/ors/files/the-map.osm.gz' (300 threads) ...
2024-05-11 11:49:40 INFO [o.h.o.r.RoutingProfileManager           ] - 1 profile configurations submitted as tasks.
2024-05-11 11:49:40 INFO [o.h.o.r.RoutingProfile                  ] - [1] Profiles: 'cycling-electric', location: '/home/ors/./graphs/bike-electric'.
2024-05-11 11:49:41 INFO [o.h.o.r.g.e.ORSGraphHopper              ] - version v4.9.1|2024-01-17T09:08:46Z (7,20,5,4,5,7)
2024-05-11 11:49:42 INFO [o.h.o.r.g.e.ORSGraphHopper              ] - graph electrobike|RAM_STORE|3D|turn_cost|,,,,, details:edges:0(0MB), nodes:0(0MB), name:(0MB), geo:0(0MB), bounds:1.7976931348623157E308,-1.7976931348623157E308,1.7976931348623157E308,-1.7976931348623157E308,1.7976931348623157E308,-1.7976931348623157E308
2024-05-11 11:49:42 INFO [o.h.o.r.g.e.ORSGraphHopper              ] - No custom areas are used, custom_areas.directory not given
2024-05-11 11:49:42 INFO [o.h.o.r.g.e.ORSGraphHopper              ] - start creating graph from /home/ors/files/the-map.osm.gz
2024-05-11 11:49:42 INFO [o.h.o.r.g.e.ORSGraphHopper              ] - using electrobike|RAM_STORE|3D|turn_cost|,,,,, memory:totalMB:12288, usedMB:332
2024-05-11 11:49:42 ERROR [o.h.o.r.RoutingProfileManager           ] - 
2024-05-11 11:49:42 ERROR [o.h.o.r.RoutingProfileManager           ] - Failed to either read or execute the ors configuration and its parameters: java.lang.RuntimeException: Problem while parsing file
2024-05-11 11:49:42 ERROR [o.h.o.r.RoutingProfileManager           ] - 
2024-05-11 11:49:43 INFO [o.h.o.a.Application                     ] - Started Application in 10.366 seconds (process running for 13.91)
2024-05-11 11:49:43 INFO [o.h.o.a.Application                     ] - openrouteservice {"build_date":"2024-03-21T13:55:54Z","version":"8.0.0"}
2024-05-11 11:49:43 INFO [o.h.o.a.s.l.ORSInitContextListener      ] - Shutting down openrouteservice {"build_date":"2024-03-21T13:55:54Z","version":"8.0.0"} and releasing resources.

Can anyone give some clue what is wrong ?

I’ve tried to google this, but got nothing good…

2024-05-11 14:05:23 INFO [o.h.o.r.g.e.ORSGraphHopper ] - graph electrobike|RAM_STORE|3D|turn_cost|,,,,, details:edges:0(0MB), nodes:0(0MB), name:(0MB), geo:0(0MB), bounds:1.7976931348623157E308,-1.7976931348623157E308,1.7976931348623157E308,-1. 7976931348623157E308,1.7976931348623157E308,-1.7976931348623157E308 2024-05-11 14:05:23 DEBUG [o.s.b.f.s.DefaultListableBeanFactory ] - Creating shared instance of singleton bean 'mvcValidator' 2024-05-11 14:05:23 DEBUG [o.s.v.b.OptionalValidatorFactoryBean ] - Failed to set up a Bean Validation provider jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath. at jakarta.validation.Validation$GenericBootstrapImpl.configure(Validation.java:291) ~[jakarta.validation-api-3.0.2.jar!/:?] at org.springframework.validation.beanvalidation.LocalValidatorFactoryBean.afterPropertiesSet(LocalValidatorFactoryBean.java:270) ~[spring-context-6.0.14.jar!/:6.0.14] at org.springframework.validation.beanvalidation.OptionalValidatorFactoryBean.afterPropertiesSet(OptionalValidatorFactoryBean.java:39) ~[spring-context-6.0.14.jar!/:6.0.14] at org.springframework.boot.autoconfigure.validation.ValidatorAdapter.afterPropertiesSet(ValidatorAdapter.java:84) ~[spring-boot-autoconfigure-3.1.6.jar!/:3.1.6] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1817) ~[spring-beans-6.0.14.jar!/:6.0.14] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1766) ~[spring-beans-6.0.14.jar!/:6.0.14] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:598) ~[spring-beans-6.0.14.jar!/:6.0.14] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) ~[spring-beans-6.0.14.jar!/:6.0.14] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) ~[spring-beans-6.0.14.jar!/:6.0.14] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.0.14.jar!/:6.0.14] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) ~[spring-beans-6.0.14.jar!/:6.0.14] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-6.0.14.jar!/:6.0.14] at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) ~[spring-beans-6.0.14.jar!/:6.0.14] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1417) ~[spring-beans-6.0.14.jar!/:6.0.14] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1337) ~[spring-beans-6.0.14.jar!/:6.0.14] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:910) ~[spring-beans-6.0.14.jar!/:6.0.14] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:788) ~[spring-beans-6.0.14.jar!/:6.0.14] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:545) ~[spring-beans-6.0.14.jar!/:6.0.14] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1332) ~[spring-beans-6.0.14.jar!/:6.0.14] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1162) ~[spring-beans-6.0.14.jar!/:6.0.14] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:560) ~[spring-beans-6.0.14.jar!/:6.0.14] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) ~[spring-beans-6.0.14.jar!/:6.0.14] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) ~[spring-beans-6.0.14.jar!/:6.0.14] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) [spring-beans-6.0.14.jar!/:6.0.14] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) [spring-beans-6.0.14.jar!/:6.0.14] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) [spring-beans-6.0.14.jar!/:6.0.14] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:973) [spring-beans-6.0.14.jar!/:6.0.14] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:950) [spring-context-6.0.14.jar!/:6.0.14] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:616) [spring-context-6.0.14.jar!/:6.0.14] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) [spring-boot-3.1.6.jar!/:3.1.6] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:738) [spring-boot-3.1.6.jar!/:3.1.6] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:440) [spring-boot-3.1.6.jar!/:3.1.6] at org.springframework.boot.SpringApplication.run(SpringApplication.java:316) [spring-boot-3.1.6.jar!/:3.1.6] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) [spring-boot-3.1.6.jar!/:3.1.6] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1295) [spring-boot-3.1.6.jar!/:3.1.6] at org.heigit.ors.api.Application.main(Application.java:29) [classes!/:8.0.0] at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) [ors.jar:8.0.0] at org.springframework.boot.loader.Launcher.launch(Launcher.java:95) [ors.jar:8.0.0] at org.springframework.boot.loader.Launcher.launch(Launcher.java:58) [ors.jar:8.0.0] at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65) [ors.jar:8.0.0]

… so error is: Failed to set up a Bean Validation provider
jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.

… not time for sone heavy googling around … :smiley:

When compiled the ORS from source, there is one thing missing from depedency (pom.xml):

        <dependency>
            <groupId>org.hibernate.validator</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>7.0.1.Final</version>
        </dependency>

… at least… I’m still confirming my finding…

Yeah! It was it, now I got problem that how to configure the build to use my custom config (ors-config.yml) ?

@amandus any pointers?