Загрузка данных


dmitriev-aal@VDI-Dmitriev-A:~$ kubectl --context devstbl -n isys-sofr-substittuted-dev \
>   describe pod report-service-567ff6549b-jznqb
Name:                 report-service-567ff6549b-jznqb
Namespace:            isys-sofr-substittuted-dev
Priority:             0
Priority Class Name:  rumsk1
Service Account:      default
Node:                 afs1app-wl-176/10.7.184.58
Start Time:           Tue, 29 Sep 2026 12:01:53 +0300
Labels:               app=report-service
                      chart=base-1.15.3
                      fullname=report-service
                      heritage=Helm
                      isys=sofr-substittuted-dev
                      pod-template-hash=567ff6549b
                      psvc=report-service
                      release=report-service
                      security.istio.io/tlsMode=istio
                      service.istio.io/canonical-name=report-service
                      service.istio.io/canonical-revision=master
                      version=master
                      workload.topology.app.farm/zone=rumsk1
Annotations:          checksum/configMapsEnv: 305a886c5bf61cf59e3a40a38e62d630c0c3f7aca80a29bef5aebafd853b3811
                      checksum/secretEnv: 641961d3fef29b722fc6b98d44b2ab6cb7a1b50a2ff5a646fdef5bee0bb55856
                      ci/commithash: 3366b762
                      cni.projectcalico.org/containerID: 843a6f008b7c9761c76a83d244093226ab2fe9208db99ddff598a3c8498e40bd
                      cni.projectcalico.org/podIP: 100.68.139.47/32
                      cni.projectcalico.org/podIPs: 100.68.139.47/32
                      inject.istio.io/templates: sidecar,custom
                      kubectl.kubernetes.io/default-container: app
                      kubectl.kubernetes.io/default-logs-container: app
                      kubectl.kubernetes.io/restartedAt: 2025-12-18T18:51:51+03:00
                      prometheus.io/path: /stats/prometheus
                      prometheus.io/port: 15020
                      prometheus.io/scrape: true
                      sidecar.istio.io/proxyCPU: 100m
                      sidecar.istio.io/proxyCPULimit: 300m
                      sidecar.istio.io/proxyMemory: 128Mi
                      sidecar.istio.io/proxyMemoryLimit: 512Mi
                      sidecar.istio.io/status:
                        {"initContainers":["istio-init"],"containers":["istio-proxy"],"volumes":["istio-certs","workload-socket","credential-socket","workload-cer...
                      sidecar.istio.io/userVolume: [{"name": "wasmfilters-dir","configMap": {"name": "sofr-substittuted-dev-envoy-filters"}}]
                      sidecar.istio.io/userVolumeMount: [{"mountPath":"/var/local/lib/wasm-filters","name":"wasmfilters-dir"}]
Status:               Running
IP:                   100.68.139.47
IPs:
  IP:           100.68.139.47
Controlled By:  ReplicaSet/report-service-567ff6549b
Init Containers:
  istio-init:
    Container ID:  containerd://95f3cafe44da54e344f27ade5e08f79e5c16da6de8a38ebc475a3d90d0478461
    Image:         registry.rshbdev.ru/appfarm/infra/images/istio/proxyv2:1.15.1-rshb.0.4.0
    Image ID:      registry.rshbdev.ru/appfarm/infra/images/istio/proxyv2@sha256:7b3ce834183d38c73388b93b9f2173957dba6da11f8bc17e8dfcd64415c41e4e
    Port:          <none>
    Host Port:     <none>
    Args:
      istio-iptables
      -p
      15001
      -z
      15006
      -u
      1337
      -m
      REDIRECT
      -i
      *
      -x
      
      -b
      *
      -d
      15090,15021,15020
      --log_output_level=default:info
    State:          Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Tue, 29 Sep 2026 12:01:55 +0300
      Finished:     Tue, 29 Sep 2026 12:01:55 +0300
    Ready:          True
    Restart Count:  0
    Limits:
      cpu:     300m
      memory:  512Mi
    Requests:
      cpu:        100m
      memory:     128Mi
    Environment:  <none>
    Mounts:       <none>
Containers:
  istio-proxy:
    Container ID:  containerd://9c46f4de9972cec22f8956e9d715d6a40e9b0fd0a62a1f906d63a7427d758793
    Image:         registry.rshbdev.ru/appfarm/infra/images/istio/proxyv2:1.15.1-rshb.0.4.0
    Image ID:      registry.rshbdev.ru/appfarm/infra/images/istio/proxyv2@sha256:7b3ce834183d38c73388b93b9f2173957dba6da11f8bc17e8dfcd64415c41e4e
    Port:          15090/TCP (http-envoy-prom)
    Host Port:     0/TCP (http-envoy-prom)
    Args:
      proxy
      sidecar
      --domain
      $(POD_NAMESPACE).svc.cluster.local
      --proxyLogLevel=warning
      --proxyComponentLogLevel=misc:error
      --log_output_level=default:info
      --concurrency
      2
    State:          Running
      Started:      Tue, 29 Sep 2026 12:01:56 +0300
    Ready:          True
    Restart Count:  0
    Limits:
      cpu:     300m
      memory:  512Mi
    Requests:
      cpu:      100m
      memory:   128Mi
    Readiness:  http-get http://:15021/healthz/ready delay=1s timeout=3s period=2s #success=1 #failure=30
    Environment:
      HTTP_LOG_FORWARDER_HOST:        (v1:spec.nodeName)
      HTTP_LOG_FORWARDER_PORT:       9000
      HTTP_LOG_FORWARDER_ENDPOINT:   /
      OUTPUT_CERTS:                  /etc/istio-certs/
      ISYS_NAME:                      (v1:metadata.labels['isys'])
      PSVC_NAME:                      (v1:metadata.labels['psvc'])
      WORKLOAD_ZONE_NAME:             (v1:metadata.labels['workload.topology.app.farm/zone'])
      JWT_POLICY:                    third-party-jwt
      PILOT_CERT_PROVIDER:           istiod
      CA_ADDR:                       istiod.istio-system.svc:15012
      POD_NAME:                      report-service-567ff6549b-jznqb (v1:metadata.name)
      POD_NAMESPACE:                 isys-sofr-substittuted-dev (v1:metadata.namespace)
      INSTANCE_IP:                    (v1:status.podIP)
      SERVICE_ACCOUNT:                (v1:spec.serviceAccountName)
      HOST_IP:                        (v1:status.hostIP)
      PROXY_CONFIG:                  {"tracing":{"zipkin":{"address":"jaeger-collector.istio-system:9411"},"customTags":{"workload.topology.app.farm/zone":{"environment":{"name":"WORKLOAD_ZONE_NAME"}}},"sampling":100}}
                                     
      ISTIO_META_POD_PORTS:          [
                                     ]
      ISTIO_META_APP_CONTAINERS:     app
      ISTIO_META_CLUSTER_ID:         Kubernetes
      ISTIO_META_INTERCEPTION_MODE:  REDIRECT
      ISTIO_META_WORKLOAD_NAME:      report-service
      ISTIO_META_OWNER:              kubernetes://apis/apps/v1/namespaces/isys-sofr-substittuted-dev/deployments/report-service
      ISTIO_META_MESH_ID:            cluster.local
      TRUST_DOMAIN:                  cluster.local
      ISTIO_PROMETHEUS_ANNOTATIONS:  {"scrape":"true","path":"/metrics","port":"8080"}
      ISTIO_KUBE_APP_PROBERS:        {"/app-health/app/livez":{"httpGet":{"path":"/health/liveness","port":8080,"scheme":"HTTP"},"timeoutSeconds":3},"/app-health/app/readyz":{"httpGet":{"path":"/health/readiness","port":8080,"scheme":"HTTP"},"timeoutSeconds":3},"/app-health/app/startupz":{"httpGet":{"path":"/health/liveness","port":8080,"scheme":"HTTP"},"timeoutSeconds":1}}
    Mounts:
      /etc/istio-certs/ from istio-certs (rw)
      /etc/istio/pod from istio-podinfo (rw)
      /etc/istio/proxy from istio-envoy (rw)
      /var/lib/istio/data from istio-data (rw)
      /var/local/lib/wasm-filters from wasmfilters-dir (rw)
      /var/run/secrets/credential-uds from credential-socket (rw)
      /var/run/secrets/istio from istiod-ca-cert (rw)
      /var/run/secrets/tokens from istio-token (rw)
      /var/run/secrets/workload-spiffe-credentials from workload-certs (rw)
      /var/run/secrets/workload-spiffe-uds from workload-socket (rw)
  app:
    Container ID:   containerd://110685dde58302c39b67c8b2ee9992214ec0c0ec6cf2d39bd694f965d24fe9d7
    Image:          registry.rshbdev.ru/rshbintech/it-invest/backoffice/sofr-substittuted/rmk/report-service:master
    Image ID:       registry.rshbdev.ru/rshbintech/it-invest/backoffice/sofr-substittuted/rmk/report-service@sha256:62448a3c887dbc0da24e4f505cac5775aee56b8ccf59cf5f1403a031f71add48
    Port:           <none>
    Host Port:      <none>
    State:          Running
      Started:      Tue, 29 Sep 2026 12:02:04 +0300
    Ready:          True
    Restart Count:  0
    Limits:
      cpu:     500m
      memory:  1Gi
    Requests:
      cpu:      256m
      memory:   256Mi
    Liveness:   http-get http://:15020/app-health/app/livez delay=0s timeout=3s period=5s #success=1 #failure=5
    Readiness:  http-get http://:15020/app-health/app/readyz delay=15s timeout=3s period=5s #success=1 #failure=5
    Startup:    http-get http://:15020/app-health/app/startupz delay=0s timeout=1s period=10s #success=1 #failure=60
    Environment Variables from:
      report-service-app-cm-env      ConfigMap  Optional: false
      report-service-app-secret-env  Secret     Optional: false
    Environment:                     <none>
    Mounts:
      /secrets from app-vault-secrets (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             True 
  ContainersReady   True 
  PodScheduled      True 
Volumes:
  istio-certs:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:     Memory
    SizeLimit:  <unset>
  workload-socket:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:     
    SizeLimit:  <unset>
  credential-socket:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:     
    SizeLimit:  <unset>
  workload-certs:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:     
    SizeLimit:  <unset>
  istio-envoy:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:     Memory
    SizeLimit:  <unset>
  istio-data:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:     
    SizeLimit:  <unset>
  istio-podinfo:
    Type:  DownwardAPI (a volume populated by information about the pod)
    Items:
      metadata.labels -> labels
      metadata.annotations -> annotations
  istio-token:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  43200
  istiod-ca-cert:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      istio-ca-root-cert
    Optional:  false
  wasmfilters-dir:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      sofr-substittuted-dev-envoy-filters
    Optional:  false
  app-vault-secrets:
    Type:              CSI (a Container Storage Interface (CSI) volume source)
    Driver:            secrets-store.csi.k8s.io
    FSType:            
    ReadOnly:          true
    VolumeAttributes:      secretProviderClass=report-service-app-secret-provider
QoS Class:             Burstable
Node-Selectors:        workload.topology.app.farm/zone=rumsk1
Tolerations:           node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                       node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
                       workload.topology.app.farm/zone:NoSchedule op=Exists
Events:
  Type    Reason                  Age                     From                        Message
  ----    ------                  ----                    ----                        -------
  Normal  SecretRotationComplete  111s (x172 over 5h43m)  csi-secrets-store-rotation  successfully rotated K8s secret report-service-app-secret-env
dmitriev-aal@VDI-Dmitriev-A:~$ kubectl --context devstbl -n isys-sofr-substittuted-dev \
>   logs report-service-567ff6549b-jznqb --all-containers=true --since=6h | \
>   grep -Ei 'error|exception|postgres|jdbc|hikari|kafka|timeout|refused|connection|unknownhost'
2026-09-29T09:01:56.738855Z	info	FLAG: --proxyComponentLogLevel="misc:error"
2026-09-29T09:01:56.881683Z	info	Envoy command: [-c etc/istio/proxy/envoy-rev.json --drain-time-s 45 --drain-strategy immediate --parent-shutdown-time-s 60 --local-address-ip-version v4 --file-flush-interval-msec 1000 --disable-hot-restart --log-format %Y-%m-%dT%T.%fZ	%l	envoy %n	%v -l warning --component-log-level misc:error --concurrency 2]
2026-09-29T09:01:57.921458Z	info	ads	ADS: new connection for node:report-service-567ff6549b-jznqb.isys-sofr-substittuted-dev-1
2026-09-29T09:01:57.962361Z	info	ads	ADS: new connection for node:report-service-567ff6549b-jznqb.isys-sofr-substittuted-dev-2
2026-09-29T09:02:14.157877Z	error	Request to probe app failed: Get "http://100.68.139.47:8080/health/liveness": dial tcp 127.0.0.6:0->100.68.139.47:8080: connect: connection refused, original URL path = /app-health/app/startupz
2026-09-29T09:02:22.454331Z	error	failed scraping application metrics: error scraping http://localhost:8080/metrics: Get "http://localhost:8080/metrics": dial tcp [::1]:8080: connect: connection refused
2026-09-29T09:02:24.161502Z	error	Request to probe app failed: Get "http://100.68.139.47:8080/health/liveness": dial tcp 127.0.0.6:0->100.68.139.47:8080: connect: connection refused, original URL path = /app-health/app/startupz
2026-09-29T09:02:34.162000Z	error	Request to probe app failed: Get "http://100.68.139.47:8080/health/liveness": dial tcp 127.0.0.6:0->100.68.139.47:8080: connect: connection refused, original URL path = /app-health/app/startupz
2026-09-29T09:02:44.157536Z	error	Request to probe app failed: Get "http://100.68.139.47:8080/health/liveness": dial tcp 127.0.0.6:0->100.68.139.47:8080: connect: connection refused, original URL path = /app-health/app/startupz
     bool CrashOnOutOfMemoryError                  = false                                     {product} {default}
     bool DumpReplayDataOnError                    = true                                      {product} {default}
    ccstr ErrorFile                                =                                           {product} {default}
     bool ErrorFileToStderr                        = false                                     {product} {default}
     bool ErrorFileToStdout                        = false                                     {product} {default}
 uint64_t ErrorLogTimeout                          = 120                                       {product} {default}
   double EscapeAnalysisTimeout                    = 20.000000                              {C2 product} {default}
     bool ExitOnOutOfMemoryError                   = false                                     {product} {default}
     bool ExtensiveErrorReports                    = false                                     {product} {default}
     bool HeapDumpOnOutOfMemoryError               = false                                  {manageable} {default}
ccstrlist OnError                                  =                                           {product} {default}
ccstrlist OnOutOfMemoryError                       =                                           {product} {default}
     bool ProfileExceptionHandlers                 = true                                      {product} {default}
     bool SafepointTimeout                         = false                                     {product} {default}
   double SafepointTimeoutDelay                    = 10000.000000                              {product} {default}
     bool ShowCodeDetailsInExceptionMessages       = true                                   {manageable} {default}
     bool ShowMessageBoxOnError                    = false                                     {product} {default}
     bool SuppressFatalErrorMessage                = false                                     {product} {default}
     intx TieredCompileTaskTimeout                 = 50                                        {product} {default}
12:02:09,058 |-INFO in ch.qos.logback.core.model.processor.ModelInterpretationContext@437da279 - value "%clr(%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}){faint} %clr(%5p){} %clr(){magenta} %clr(--- %esb(){APPLICATION_NAME}%esb{APPLICATION_GROUP}[%15.15t] ){faint}%clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n%wEx" substituted for "${CONSOLE_LOG_PATTERN:-%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd'T'HH:mm:ss.SSSXXX}}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}){} %clr(${PID:-}){magenta} %clr(--- %esb(){APPLICATION_NAME}%esb{APPLICATION_GROUP}[%15.15t] ${LOG_CORRELATION_PATTERN:-}){faint}%clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"
12:02:09,059 |-INFO in ch.qos.logback.core.model.processor.ModelInterpretationContext@437da279 - value "%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX} %5p  --- %esb(){APPLICATION_NAME}%esb{APPLICATION_GROUP}[%t] %-40.40logger{39} : %m%n%wEx" substituted for "${FILE_LOG_PATTERN:-%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd'T'HH:mm:ss.SSSXXX}} ${LOG_LEVEL_PATTERN:-%5p} ${PID:-} --- %esb(){APPLICATION_NAME}%esb{APPLICATION_GROUP}[%t] ${LOG_CORRELATION_PATTERN:-}%-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"
12:02:10,119 |-ERROR in ch.qos.logback.core.model.processor.conditional.IfModelHandler - Failed to parse condition [logstashEnabled_IS_UNDEFINED == true] on line 7 org.codehaus.commons.compiler.CompileException: Line 1, Column 36: Expression "logstashEnabled_IS_UNDEFINED" is not an rvalue
	at org.codehaus.commons.compiler.CompileException: Line 1, Column 36: Expression "logstashEnabled_IS_UNDEFINED" is not an rvalue
	at 	at org.codehaus.janino.UnitCompiler.compileError(UnitCompiler.java:13228)
	at 	at org.codehaus.janino.UnitCompiler.toRvalueOrCompileException(UnitCompiler.java:8073)
12:02:10,122 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [org.apache.catalina.startup.DigesterFactory] to ERROR
12:02:10,122 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [org.apache.catalina.util.LifecycleBase] to ERROR
12:02:10,122 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [org.eclipse.jetty.util.component.AbstractLifeCycle] to ERROR
{"timestamp":"2026-09-29T12:02:41.039Z","message":"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.","logger_name":"org.springframework.validation.beanvalidation.OptionalValidatorFactoryBean","thread_name":"main","level":"INFO"}
{"timestamp":"2026-09-29T12:02:48.051Z","message":"ConsumerConfig values: \n\tallow.auto.create.topics = true\n\tauto.commit.interval.ms = 5000\n\tauto.include.jmx.reporter = true\n\tauto.offset.reset = latest\n\tbootstrap.servers = [adapter-ips-appfarm-kafka.isys-sofr-substittuted-dev-links:9092]\n\tcheck.crcs = true\n\tclient.dns.lookup = use_all_dns_ips\n\tclient.id = consumer-report-service-1\n\tclient.rack = \n\tconnections.max.idle.ms = 540000\n\tdefault.api.timeout.ms = 60000\n\tenable.auto.commit = false\n\tenable.metrics.push = true\n\texclude.internal.topics = true\n\tfetch.max.bytes = 52428800\n\tfetch.max.wait.ms = 500\n\tfetch.min.bytes = 1\n\tgroup.id = report-service\n\tgroup.instance.id = null\n\tgroup.protocol = classic\n\tgroup.remote.assignor = null\n\theartbeat.interval.ms = 3000\n\tinterceptor.classes = []\n\tinternal.leave.group.on.close = true\n\tinternal.throw.on.fetch.stable.offset.unsupported = false\n\tisolation.level = read_uncommitted\n\tkey.deserializer = class org.apache.kafka.common.serialization.StringDeserializer\n\tmax.partition.fetch.bytes = 1048576\n\tmax.poll.interval.ms = 7200000\n\tmax.poll.records = 1\n\tmetadata.max.age.ms = 300000\n\tmetadata.recovery.strategy = none\n\tmetric.reporters = []\n\tmetrics.num.samples = 2\n\tmetrics.recording.level = INFO\n\tmetrics.sample.window.ms = 30000\n\tpartition.assignment.strategy = [class org.apache.kafka.clients.consumer.RangeAssignor, class org.apache.kafka.clients.consumer.CooperativeStickyAssignor]\n\treceive.buffer.bytes = 65536\n\treconnect.backoff.max.ms = 1000\n\treconnect.backoff.ms = 50\n\trequest.timeout.ms = 30000\n\tretry.backoff.max.ms = 1000\n\tretry.backoff.ms = 100\n\tsasl.client.callback.handler.class = null\n\tsasl.jaas.config = null\n\tsasl.kerberos.kinit.cmd = /usr/bin/kinit\n\tsasl.kerberos.min.time.before.relogin = 60000\n\tsasl.kerberos.service.name = null\n\tsasl.kerberos.ticket.renew.jitter = 0.05\n\tsasl.kerberos.ticket.renew.window.factor = 0.8\n\tsasl.login.callback.handler.class = null\n\tsasl.login.class = null\n\tsasl.login.connect.timeout.ms = null\n\tsasl.login.read.timeout.ms = null\n\tsasl.login.refresh.buffer.seconds = 300\n\tsasl.login.refresh.min.period.seconds = 60\n\tsasl.login.refresh.window.factor = 0.8\n\tsasl.login.refresh.window.jitter = 0.05\n\tsasl.login.retry.backoff.max.ms = 10000\n\tsasl.login.retry.backoff.ms = 100\n\tsasl.mechanism = GSSAPI\n\tsasl.oauthbearer.clock.skew.seconds = 30\n\tsasl.oauthbearer.expected.audience = null\n\tsasl.oauthbearer.expected.issuer = null\n\tsasl.oauthbearer.header.urlencode = false\n\tsasl.oauthbearer.jwks.endpoint.refresh.ms = 3600000\n\tsasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms = 10000\n\tsasl.oauthbearer.jwks.endpoint.retry.backoff.ms = 100\n\tsasl.oauthbearer.jwks.endpoint.url = null\n\tsasl.oauthbearer.scope.claim.name = scope\n\tsasl.oauthbearer.sub.claim.name = sub\n\tsasl.oauthbearer.token.endpoint.url = null\n\tsecurity.protocol = PLAINTEXT\n\tsecurity.providers = null\n\tsend.buffer.bytes = 131072\n\tsession.timeout.ms = 45000\n\tsocket.connection.setup.timeout.max.ms = 30000\n\tsocket.connection.setup.timeout.ms = 10000\n\tssl.cipher.suites = null\n\tssl.enabled.protocols = [TLSv1.2, TLSv1.3]\n\tssl.endpoint.identification.algorithm = https\n\tssl.engine.factory.class = null\n\tssl.key.password = null\n\tssl.keymanager.algorithm = SunX509\n\tssl.keystore.certificate.chain = null\n\tssl.keystore.key = null\n\tssl.keystore.location = null\n\tssl.keystore.password = null\n\tssl.keystore.type = JKS\n\tssl.protocol = TLSv1.3\n\tssl.provider = null\n\tssl.secure.random.implementation = null\n\tssl.trustmanager.algorithm = PKIX\n\tssl.truststore.certificates = null\n\tssl.truststore.location = null\n\tssl.truststore.password = null\n\tssl.truststore.type = JKS\n\tvalue.deserializer = class org.apache.kafka.common.serialization.StringDeserializer\n","logger_name":"org.apache.kafka.clients.consumer.ConsumerConfig","thread_name":"main","level":"INFO"}
{"timestamp":"2026-09-29T12:02:48.836Z","message":"initializing Kafka metrics collector","logger_name":"org.apache.kafka.common.telemetry.internals.KafkaMetricsCollector","thread_name":"main","level":"INFO"}
{"timestamp":"2026-09-29T12:02:48.977Z","message":"Kafka version: 3.9.1","logger_name":"org.apache.kafka.common.utils.AppInfoParser","thread_name":"main","level":"INFO"}
{"timestamp":"2026-09-29T12:02:48.981Z","message":"Kafka commitId: f745dfdcee2b9851","logger_name":"org.apache.kafka.common.utils.AppInfoParser","thread_name":"main","level":"INFO"}
{"timestamp":"2026-09-29T12:02:48.981Z","message":"Kafka startTimeMs: 1790672568976","logger_name":"org.apache.kafka.common.utils.AppInfoParser","thread_name":"main","level":"INFO"}
{"timestamp":"2026-09-29T12:02:48.987Z","message":"[Consumer clientId=consumer-report-service-1, groupId=report-service] Subscribed to topic(s): ips.document-factory.responses.sofr","logger_name":"org.apache.kafka.clients.consumer.internals.ClassicKafkaConsumer","thread_name":"main","level":"INFO"}
{"timestamp":"2026-09-29T12:02:49.000Z","message":"ConsumerConfig values: \n\tallow.auto.create.topics = true\n\tauto.commit.interval.ms = 5000\n\tauto.include.jmx.reporter = true\n\tauto.offset.reset = latest\n\tbootstrap.servers = [adapter-sofr-substittuted-sofr-kafka.isys-sofr-substittuted-dev-links:9092]\n\tcheck.crcs = true\n\tclient.dns.lookup = use_all_dns_ips\n\tclient.id = consumer-report-service-2\n\tclient.rack = \n\tconnections.max.idle.ms = 540000\n\tdefault.api.timeout.ms = 60000\n\tenable.auto.commit = false\n\tenable.metrics.push = true\n\texclude.internal.topics = true\n\tfetch.max.bytes = 52428800\n\tfetch.max.wait.ms = 500\n\tfetch.min.bytes = 1\n\tgroup.id = report-service\n\tgroup.instance.id = null\n\tgroup.protocol = classic\n\tgroup.remote.assignor = null\n\theartbeat.interval.ms = 3000\n\tinterceptor.classes = []\n\tinternal.leave.group.on.close = true\n\tinternal.throw.on.fetch.stable.offset.unsupported = false\n\tisolation.level = read_uncommitted\n\tkey.deserializer = class org.apache.kafka.common.serialization.StringDeserializer\n\tmax.partition.fetch.bytes = 1048576\n\tmax.poll.interval.ms = 7200000\n\tmax.poll.records = 1\n\tmetadata.max.age.ms = 300000\n\tmetadata.recovery.strategy = none\n\tmetric.reporters = []\n\tmetrics.num.samples = 2\n\tmetrics.recording.level = INFO\n\tmetrics.sample.window.ms = 30000\n\tpartition.assignment.strategy = [class org.apache.kafka.clients.consumer.RangeAssignor, class org.apache.kafka.clients.consumer.CooperativeStickyAssignor]\n\treceive.buffer.bytes = 65536\n\treconnect.backoff.max.ms = 1000\n\treconnect.backoff.ms = 50\n\trequest.timeout.ms = 30000\n\tretry.backoff.max.ms = 1000\n\tretry.backoff.ms = 100\n\tsasl.client.callback.handler.class = null\n\tsasl.jaas.config = null\n\tsasl.kerberos.kinit.cmd = /usr/bin/kinit\n\tsasl.kerberos.min.time.before.relogin = 60000\n\tsasl.kerberos.service.name = null\n\tsasl.kerberos.ticket.renew.jitter = 0.05\n\tsasl.kerberos.ticket.renew.window.factor = 0.8\n\tsasl.login.callback.handler.class = null\n\tsasl.login.class = null\n\tsasl.login.connect.timeout.ms = null\n\tsasl.login.read.timeout.ms = null\n\tsasl.login.refresh.buffer.seconds = 300\n\tsasl.login.refresh.min.period.seconds = 60\n\tsasl.login.refresh.window.factor = 0.8\n\tsasl.login.refresh.window.jitter = 0.05\n\tsasl.login.retry.backoff.max.ms = 10000\n\tsasl.login.retry.backoff.ms = 100\n\tsasl.mechanism = GSSAPI\n\tsasl.oauthbearer.clock.skew.seconds = 30\n\tsasl.oauthbearer.expected.audience = null\n\tsasl.oauthbearer.expected.issuer = null\n\tsasl.oauthbearer.header.urlencode = false\n\tsasl.oauthbearer.jwks.endpoint.refresh.ms = 3600000\n\tsasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms = 10000\n\tsasl.oauthbearer.jwks.endpoint.retry.backoff.ms = 100\n\tsasl.oauthbearer.jwks.endpoint.url = null\n\tsasl.oauthbearer.scope.claim.name = scope\n\tsasl.oauthbearer.sub.claim.name = sub\n\tsasl.oauthbearer.token.endpoint.url = null\n\tsecurity.protocol = PLAINTEXT\n\tsecurity.providers = null\n\tsend.buffer.bytes = 131072\n\tsession.timeout.ms = 45000\n\tsocket.connection.setup.timeout.max.ms = 30000\n\tsocket.connection.setup.timeout.ms = 10000\n\tssl.cipher.suites = null\n\tssl.enabled.protocols = [TLSv1.2, TLSv1.3]\n\tssl.endpoint.identification.algorithm = https\n\tssl.engine.factory.class = null\n\tssl.key.password = null\n\tssl.keymanager.algorithm = SunX509\n\tssl.keystore.certificate.chain = null\n\tssl.keystore.key = null\n\tssl.keystore.location = null\n\tssl.keystore.password = null\n\tssl.keystore.type = JKS\n\tssl.protocol = TLSv1.3\n\tssl.provider = null\n\tssl.secure.random.implementation = null\n\tssl.trustmanager.algorithm = PKIX\n\tssl.truststore.certificates = null\n\tssl.truststore.location = null\n\tssl.truststore.password = null\n\tssl.truststore.type = JKS\n\tvalue.deserializer = class org.apache.kafka.common.serialization.StringDeserializer\n","logger_name":"org.apache.kafka.clients.consumer.ConsumerConfig","thread_name":"main","level":"INFO"}
{"timestamp":"2026-09-29T12:02:49.005Z","message":"initializing Kafka metrics collector","logger_name":"org.apache.kafka.common.telemetry.internals.KafkaMetricsCollector","thread_name":"main","level":"INFO"}
{"timestamp":"2026-09-29T12:02:49.032Z","message":"Kafka version: 3.9.1","logger_name":"org.apache.kafka.common.utils.AppInfoParser","thread_name":"main","level":"INFO"}
{"timestamp":"2026-09-29T12:02:49.032Z","message":"Kafka commitId: f745dfdcee2b9851","logger_name":"org.apache.kafka.common.utils.AppInfoParser","thread_name":"main","level":"INFO"}
{"timestamp":"2026-09-29T12:02:49.032Z","message":"Kafka startTimeMs: 1790672569032","logger_name":"org.apache.kafka.common.utils.AppInfoParser","thread_name":"main","level":"INFO"}
{"timestamp":"2026-09-29T12:02:49.033Z","message":"[Consumer clientId=consumer-report-service-2, groupId=report-service] Subscribed to topic(s): sofr.bduiReport.cache","logger_name":"org.apache.kafka.clients.consumer.internals.ClassicKafkaConsumer","thread_name":"main","level":"INFO"}
{"timestamp":"2026-09-29T12:02:49.035Z","message":"ConsumerConfig values: \n\tallow.auto.create.topics = true\n\tauto.commit.interval.ms = 5000\n\tauto.include.jmx.reporter = true\n\tauto.offset.reset = latest\n\tbootstrap.servers = [adapter-ips-appfarm-kafka.isys-sofr-substittuted-dev-links:9092]\n\tcheck.crcs = true\n\tclient.dns.lookup = use_all_dns_ips\n\tclient.id = consumer-report-service-3\n\tclient.rack = \n\tconnections.max.idle.ms = 540000\n\tdefault.api.timeout.ms = 60000\n\tenable.auto.commit = false\n\tenable.metrics.push = true\n\texclude.internal.topics = true\n\tfetch.max.bytes = 52428800\n\tfetch.max.wait.ms = 500\n\tfetch.min.bytes = 1\n\tgroup.id = report-service\n\tgroup.instance.id = null\n\tgroup.protocol = classic\n\tgroup.remote.assignor = null\n\theartbeat.interval.ms = 3000\n\tinterceptor.classes = []\n\tinternal.leave.group.on.close = true\n\tinternal.throw.on.fetch.stable.offset.unsupported = false\n\tisolation.level = read_uncommitted\n\tkey.deserializer = class org.apache.kafka.common.serialization.StringDeserializer\n\tmax.partition.fetch.bytes = 1048576\n\tmax.poll.interval.ms = 7200000\n\tmax.poll.records = 1\n\tmetadata.max.age.ms = 300000\n\tmetadata.recovery.strategy = none\n\tmetric.reporters = []\n\tmetrics.num.samples = 2\n\tmetrics.recording.level = INFO\n\tmetrics.sample.window.ms = 30000\n\tpartition.assignment.strategy = [class org.apache.kafka.clients.consumer.RangeAssignor, class org.apache.kafka.clients.consumer.CooperativeStickyAssignor]\n\treceive.buffer.bytes = 65536\n\treconnect.backoff.max.ms = 1000\n\treconnect.backoff.ms = 50\n\trequest.timeout.ms = 30000\n\tretry.backoff.max.ms = 1000\n\tretry.backoff.ms = 100\n\tsasl.client.callback.handler.class = null\n\tsasl.jaas.config = null\n\tsasl.kerberos.kinit.cmd = /usr/bin/kinit\n\tsasl.kerberos.min.time.before.relogin = 60000\n\tsasl.kerberos.service.name = null\n\tsasl.kerberos.ticket.renew.jitter = 0.05\n\tsasl.kerberos.ticket.renew.window.factor = 0.8\n\tsasl.login.callback.handler.class = null\n\tsasl.login.class = null\n\tsasl.login.connect.timeout.ms = null\n\tsasl.login.read.timeout.ms = null\n\tsasl.login.refresh.buffer.seconds = 300\n\tsasl.login.refresh.min.period.seconds = 60\n\tsasl.login.refresh.window.factor = 0.8\n\tsasl.login.refresh.window.jitter = 0.05\n\tsasl.login.retry.backoff.max.ms = 10000\n\tsasl.login.retry.backoff.ms = 100\n\tsasl.mechanism = GSSAPI\n\tsasl.oauthbearer.clock.skew.seconds = 30\n\tsasl.oauthbearer.expected.audience = null\n\tsasl.oauthbearer.expected.issuer = null\n\tsasl.oauthbearer.header.urlencode = false\n\tsasl.oauthbearer.jwks.endpoint.refresh.ms = 3600000\n\tsasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms = 10000\n\tsasl.oauthbearer.jwks.endpoint.retry.backoff.ms = 100\n\tsasl.oauthbearer.jwks.endpoint.url = null\n\tsasl.oauthbearer.scope.claim.name = scope\n\tsasl.oauthbearer.sub.claim.name = sub\n\tsasl.oauthbearer.token.endpoint.url = null\n\tsecurity.protocol = PLAINTEXT\n\tsecurity.providers = null\n\tsend.buffer.bytes = 131072\n\tsession.timeout.ms = 45000\n\tsocket.connection.setup.timeout.max.ms = 30000\n\tsocket.connection.setup.timeout.ms = 10000\n\tssl.cipher.suites = null\n\tssl.enabled.protocols = [TLSv1.2, TLSv1.3]\n\tssl.endpoint.identification.algorithm = https\n\tssl.engine.factory.class = null\n\tssl.key.password = null\n\tssl.keymanager.algorithm = SunX509\n\tssl.keystore.certificate.chain = null\n\tssl.keystore.key = null\n\tssl.keystore.location = null\n\tssl.keystore.password = null\n\tssl.keystore.type = JKS\n\tssl.protocol = TLSv1.3\n\tssl.provider = null\n\tssl.secure.random.implementation = null\n\tssl.trustmanager.algorithm = PKIX\n\tssl.truststore.certificates = null\n\tssl.truststore.location = null\n\tssl.truststore.password = null\n\tssl.truststore.type = JKS\n\tvalue.deserializer = class org.apache.kafka.common.serialization.StringDeserializer\n","logger_name":"org.apache.kafka.clients.consumer.ConsumerConfig","thread_name":"main","level":"INFO"}
{"timestamp":"2026-09-29T12:02:49.036Z","message":"initializing Kafka metrics collector","logger_name":"org.apache.kafka.common.telemetry.internals.KafkaMetricsCollector","thread_name":"main","level":"INFO"}
{"timestamp":"2026-09-29T12:02:49.041Z","message":"Kafka version: 3.9.1","logger_name":"org.apache.kafka.common.utils.AppInfoParser","thread_name":"main","level":"INFO"}
{"timestamp":"2026-09-29T12:02:49.041Z","message":"Kafka commitId: f745dfdcee2b9851","logger_name":"org.apache.kafka.common.utils.AppInfoParser","thread_name":"main","level":"INFO"}
{"timestamp":"2026-09-29T12:02:49.041Z","message":"Kafka startTimeMs: 1790672569041","logger_name":"org.apache.kafka.common.utils.AppInfoParser","thread_name":"main","level":"INFO"}
{"timestamp":"2026-09-29T12:02:49.042Z","message":"[Consumer clientId=consumer-report-service-3, groupId=report-service] Subscribed to topic(s): ips.tss.universal","logger_name":"org.apache.kafka.clients.consumer.internals.ClassicKafkaConsumer","thread_name":"main","level":"INFO"}
{"timestamp":"2026-09-29T12:02:49.044Z","message":"ConsumerConfig values: \n\tallow.auto.create.topics = true\n\tauto.commit.interval.ms = 5000\n\tauto.include.jmx.reporter = true\n\tauto.offset.reset = latest\n\tbootstrap.servers = [adapter-sofr-substittuted-sofr-kafka.isys-sofr-substittuted-dev-links:9092]\n\tcheck.crcs = true\n\tclient.dns.lookup = use_all_dns_ips\n\tclient.id = consumer-report-service-4\n\tclient.rack = \n\tconnections.max.idle.ms = 540000\n\tdefault.api.timeout.ms = 60000\n\tenable.auto.commit = false\n\tenable.metrics.push = true\n\texclude.internal.topics = true\n\tfetch.max.bytes = 52428800\n\tfetch.max.wait.ms = 500\n\tfetch.min.bytes = 1\n\tgroup.id = report-service\n\tgroup.instance.id = null\n\tgroup.protocol = classic\n\tgroup.remote.assignor = null\n\theartbeat.interval.ms = 3000\n\tinterceptor.classes = []\n\tinternal.leave.group.on.close = true\n\tinternal.throw.on.fetch.stable.offset.unsupported = false\n\tisolation.level = read_uncommitted\n\tkey.deserializer = class org.apache.kafka.common.serialization.StringDeserializer\n\tmax.partition.fetch.bytes = 1048576\n\tmax.poll.interval.ms = 7200000\n\tmax.poll.records = 1\n\tmetadata.max.age.ms = 300000\n\tmetadata.recovery.strategy = none\n\tmetric.reporters = []\n\tmetrics.num.samples = 2\n\tmetrics.recording.level = INFO\n\tmetrics.sample.window.ms = 30000\n\tpartition.assignment.strategy = [class org.apache.kafka.clients.consumer.RangeAssignor, class org.apache.kafka.clients.consumer.CooperativeStickyAssignor]\n\treceive.buffer.bytes = 65536\n\treconnect.backoff.max.ms = 1000\n\treconnect.backoff.ms = 50\n\trequest.timeout.ms = 30000\n\tretry.backoff.max.ms = 1000\n\tretry.backoff.ms = 100\n\tsasl.client.callback.handler.class = null\n\tsasl.jaas.config = null\n\tsasl.kerberos.kinit.cmd = /usr/bin/kinit\n\tsasl.kerberos.min.time.before.relogin = 60000\n\tsasl.kerberos.service.name = null\n\tsasl.kerberos.ticket.renew.jitter = 0.05\n\tsasl.kerberos.ticket.renew.window.factor = 0.8\n\tsasl.login.callback.handler.class = null\n\tsasl.login.class = null\n\tsasl.login.connect.timeout.ms = null\n\tsasl.login.read.timeout.ms = null\n\tsasl.login.refresh.buffer.seconds = 300\n\tsasl.login.refresh.min.period.seconds = 60\n\tsasl.login.refresh.window.factor = 0.8\n\tsasl.login.refresh.window.jitter = 0.05\n\tsasl.login.retry.backoff.max.ms = 10000\n\tsasl.login.retry.backoff.ms = 100\n\tsasl.mechanism = GSSAPI\n\tsasl.oauthbearer.clock.skew.seconds = 30\n\tsasl.oauthbearer.expected.audience = null\n\tsasl.oauthbearer.expected.issuer = null\n\tsasl.oauthbearer.header.urlencode = false\n\tsasl.oauthbearer.jwks.endpoint.refresh.ms = 3600000\n\tsasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms = 10000\n\tsasl.oauthbearer.jwks.endpoint.retry.backoff.ms = 100\n\tsasl.oauthbearer.jwks.endpoint.url = null\n\tsasl.oauthbearer.scope.claim.name = scope\n\tsasl.oauthbearer.sub.claim.name = sub\n\tsasl.oauthbearer.token.endpoint.url = null\n\tsecurity.protocol = PLAINTEXT\n\tsecurity.providers = null\n\tsend.buffer.bytes = 131072\n\tsession.timeout.ms = 45000\n\tsocket.connection.setup.timeout.max.ms = 30000\n\tsocket.connection.setup.timeout.ms = 10000\n\tssl.cipher.suites = null\n\tssl.enabled.protocols = [TLSv1.2, TLSv1.3]\n\tssl.endpoint.identification.algorithm = https\n\tssl.engine.factory.class = null\n\tssl.key.password = null\n\tssl.keymanager.algorithm = SunX509\n\tssl.keystore.certificate.chain = null\n\tssl.keystore.key = null\n\tssl.keystore.location = null\n\tssl.keystore.password = null\n\tssl.keystore.type = JKS\n\tssl.protocol = TLSv1.3\n\tssl.provider = null\n\tssl.secure.random.implementation = null\n\tssl.trustmanager.algorithm = PKIX\n\tssl.truststore.certificates = null\n\tssl.truststore.location = null\n\tssl.truststore.password = null\n\tssl.truststore.type = JKS\n\tvalue.deserializer = class org.apache.kafka.common.serialization.StringDeserializer\n","logger_name":"org.apache.kafka.clients.consumer.ConsumerConfig","thread_name":"main","level":"INFO"}
{"timestamp":"2026-09-29T12:02:49.045Z","message":"initializing Kafka metrics collector","logger_name":"org.apache.kafka.common.telemetry.internals.KafkaMetricsCollector","thread_name":"main","level":"INFO"}
{"timestamp":"2026-09-29T12:02:49.053Z","message":"Kafka version: 3.9.1","logger_name":"org.apache.kafka.common.utils.AppInfoParser","thread_name":"main","level":"INFO"}
{"timestamp":"2026-09-29T12:02:49.053Z","message":"Kafka commitId: f745dfdcee2b9851","logger_name":"org.apache.kafka.common.utils.AppInfoParser","thread_name":"main","level":"INFO"}
{"timestamp":"2026-09-29T12:02:49.053Z","message":"Kafka startTimeMs: 1790672569053","logger_name":"org.apache.kafka.common.utils.AppInfoParser","thread_name":"main","level":"INFO"}
{"timestamp":"2026-09-29T12:02:49.054Z","message":"[Consumer clientId=consumer-report-service-4, groupId=report-service] Subscribed to topic(s): sofr.bduiReport.requests","logger_name":"org.apache.kafka.clients.consumer.internals.ClassicKafkaConsumer","thread_name":"main","level":"INFO"}
{"timestamp":"2026-09-29T12:02:49.874Z","message":"HikariPool-1 - leakDetectionThreshold is less than 2000ms or more than maxLifetime, disabling it.","logger_name":"com.zaxxer.hikari.HikariConfig","thread_name":"scheduling-1","level":"WARN"}
{"timestamp":"2026-09-29T12:02:49.877Z","message":"HikariPool-1 - Starting...","logger_name":"com.zaxxer.hikari.HikariDataSource","thread_name":"scheduling-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:52.933Z","message":"[Consumer clientId=consumer-report-service-4, groupId=report-service] Cluster ID: G3uWk5MVRkW9w4vSqY0Iag","logger_name":"org.apache.kafka.clients.Metadata","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#1-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:52.934Z","message":"[Consumer clientId=consumer-report-service-2, groupId=report-service] Cluster ID: G3uWk5MVRkW9w4vSqY0Iag","logger_name":"org.apache.kafka.clients.Metadata","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:52.935Z","message":"[Consumer clientId=consumer-report-service-4, groupId=report-service] Discovered group coordinator adapter-sofr-substittuted-sofr-kafka.isys-sofr-substittuted-dev-links.svc.cluster.local:9093 (id: 2147483647 rack: null)","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#1-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:52.935Z","message":"[Consumer clientId=consumer-report-service-2, groupId=report-service] Discovered group coordinator adapter-sofr-substittuted-sofr-kafka.isys-sofr-substittuted-dev-links.svc.cluster.local:9093 (id: 2147483647 rack: null)","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:52.952Z","message":"[Consumer clientId=consumer-report-service-4, groupId=report-service] (Re-)joining group","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#1-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:52.952Z","message":"[Consumer clientId=consumer-report-service-2, groupId=report-service] (Re-)joining group","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:53.833Z","message":"[Consumer clientId=consumer-report-service-3, groupId=report-service] Cluster ID: S-3DONBhQFeAfqIFGUIOtQ","logger_name":"org.apache.kafka.clients.Metadata","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#0-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:53.834Z","message":"[Consumer clientId=consumer-report-service-3, groupId=report-service] Discovered group coordinator adapter-ips-appfarm-kafka.isys-sofr-substittuted-dev-links.svc.cluster.local:9094 (id: 2147483646 rack: null)","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#0-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:53.838Z","message":"[Consumer clientId=consumer-report-service-4, groupId=report-service] Request joining group due to: need to re-join with the given member-id: consumer-report-service-4-73467531-27be-4e08-829c-25a1c6ee7732","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#1-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:53.838Z","message":"[Consumer clientId=consumer-report-service-2, groupId=report-service] Request joining group due to: need to re-join with the given member-id: consumer-report-service-2-dd3b00bc-f580-449d-99e5-b1553e2d2050","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:53.839Z","message":"[Consumer clientId=consumer-report-service-2, groupId=report-service] (Re-)joining group","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:53.839Z","message":"[Consumer clientId=consumer-report-service-4, groupId=report-service] (Re-)joining group","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#1-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:53.839Z","message":"[Consumer clientId=consumer-report-service-3, groupId=report-service] (Re-)joining group","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#0-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:53.953Z","message":"HikariPool-1 - Added connection oracle.jdbc.driver.T4CConnection@3294296b","logger_name":"com.zaxxer.hikari.pool.HikariPool","thread_name":"scheduling-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:53.956Z","message":"HikariPool-1 - Start completed.","logger_name":"com.zaxxer.hikari.HikariDataSource","thread_name":"scheduling-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:54.832Z","message":"[Consumer clientId=consumer-report-service-1, groupId=report-service] Cluster ID: S-3DONBhQFeAfqIFGUIOtQ","logger_name":"org.apache.kafka.clients.Metadata","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#2-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:54.833Z","message":"[Consumer clientId=consumer-report-service-1, groupId=report-service] Discovered group coordinator adapter-ips-appfarm-kafka.isys-sofr-substittuted-dev-links.svc.cluster.local:9094 (id: 2147483646 rack: null)","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#2-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:54.834Z","message":"[Consumer clientId=consumer-report-service-1, groupId=report-service] (Re-)joining group","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#2-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:56.832Z","message":"[Consumer clientId=consumer-report-service-3, groupId=report-service] Request joining group due to: need to re-join with the given member-id: consumer-report-service-3-7a5523c2-8291-426e-9507-f4bc4d81ed7e","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#0-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:56.833Z","message":"[Consumer clientId=consumer-report-service-3, groupId=report-service] (Re-)joining group","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#0-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:56.847Z","message":"[Consumer clientId=consumer-report-service-4, groupId=report-service] Successfully joined group with generation Generation{generationId=209, memberId='consumer-report-service-4-73467531-27be-4e08-829c-25a1c6ee7732', protocol='range'}","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#1-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:56.847Z","message":"[Consumer clientId=consumer-report-service-2, groupId=report-service] Successfully joined group with generation Generation{generationId=209, memberId='consumer-report-service-2-dd3b00bc-f580-449d-99e5-b1553e2d2050', protocol='range'}","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:56.889Z","message":"[Consumer clientId=consumer-report-service-4, groupId=report-service] Finished assignment for group at generation 209: {consumer-report-service-4-73467531-27be-4e08-829c-25a1c6ee7732=Assignment(partitions=[sofr.bduiReport.requests-0, sofr.bduiReport.requests-1, sofr.bduiReport.requests-2]), consumer-report-service-2-dd3b00bc-f580-449d-99e5-b1553e2d2050=Assignment(partitions=[sofr.bduiReport.cache-0])}","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#1-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:56.904Z","message":"[Consumer clientId=consumer-report-service-4, groupId=report-service] Successfully synced group in generation Generation{generationId=209, memberId='consumer-report-service-4-73467531-27be-4e08-829c-25a1c6ee7732', protocol='range'}","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#1-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:56.905Z","message":"[Consumer clientId=consumer-report-service-4, groupId=report-service] Notifying assignor about the new Assignment(partitions=[sofr.bduiReport.requests-0, sofr.bduiReport.requests-1, sofr.bduiReport.requests-2])","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#1-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:56.905Z","message":"[Consumer clientId=consumer-report-service-2, groupId=report-service] Successfully synced group in generation Generation{generationId=209, memberId='consumer-report-service-2-dd3b00bc-f580-449d-99e5-b1553e2d2050', protocol='range'}","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:56.906Z","message":"[Consumer clientId=consumer-report-service-2, groupId=report-service] Notifying assignor about the new Assignment(partitions=[sofr.bduiReport.cache-0])","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:56.908Z","message":"[Consumer clientId=consumer-report-service-4, groupId=report-service] Adding newly assigned partitions: sofr.bduiReport.requests-0, sofr.bduiReport.requests-1, sofr.bduiReport.requests-2","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerRebalanceListenerInvoker","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#1-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:56.908Z","message":"[Consumer clientId=consumer-report-service-2, groupId=report-service] Adding newly assigned partitions: sofr.bduiReport.cache-0","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerRebalanceListenerInvoker","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:56.940Z","message":"Setting offset for partition sofr.bduiReport.cache-0 to the committed offset FetchPosition{offset=940, offsetEpoch=Optional.empty, currentLeader=LeaderAndEpoch{leader=Optional[adapter-sofr-substittuted-sofr-kafka.isys-sofr-substittuted-dev-links.svc.cluster.local:9095 (id: 2 rack: null)], epoch=67}}","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerUtils","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:56.941Z","message":"Setting offset for partition sofr.bduiReport.requests-0 to the committed offset FetchPosition{offset=611, offsetEpoch=Optional.empty, currentLeader=LeaderAndEpoch{leader=Optional[adapter-sofr-substittuted-sofr-kafka.isys-sofr-substittuted-dev-links.svc.cluster.local:9095 (id: 2 rack: null)], epoch=65}}","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerUtils","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#1-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:56.941Z","message":"Setting offset for partition sofr.bduiReport.requests-1 to the committed offset FetchPosition{offset=696, offsetEpoch=Optional.empty, currentLeader=LeaderAndEpoch{leader=Optional[adapter-sofr-substittuted-sofr-kafka.isys-sofr-substittuted-dev-links.svc.cluster.local:9094 (id: 1 rack: null)], epoch=71}}","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerUtils","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#1-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:56.941Z","message":"Setting offset for partition sofr.bduiReport.requests-2 to the committed offset FetchPosition{offset=675, offsetEpoch=Optional.empty, currentLeader=LeaderAndEpoch{leader=Optional[adapter-sofr-substittuted-sofr-kafka.isys-sofr-substittuted-dev-links.svc.cluster.local:9093 (id: 0 rack: null)], epoch=73}}","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerUtils","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#1-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:57.833Z","message":"[Consumer clientId=consumer-report-service-1, groupId=report-service] Request joining group due to: need to re-join with the given member-id: consumer-report-service-1-f7d7d3ba-cfd5-4bfa-acb6-2a67ed1e1b5f","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#2-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:57.834Z","message":"[Consumer clientId=consumer-report-service-1, groupId=report-service] (Re-)joining group","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#2-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:02:57.883Z","message":"Получено сообщение в kafka: topic=sofr.bduiReport.cache, key=CACHE_RELOAD_KEY, partition=0, offset=940, value={}","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.kafka.consumer.KafkaConsumer","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:03:00.837Z","message":"[Consumer clientId=consumer-report-service-3, groupId=report-service] Successfully joined group with generation Generation{generationId=967, memberId='consumer-report-service-3-7a5523c2-8291-426e-9507-f4bc4d81ed7e', protocol='range'}","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#0-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:03:00.839Z","message":"[Consumer clientId=consumer-report-service-1, groupId=report-service] Successfully joined group with generation Generation{generationId=967, memberId='consumer-report-service-1-f7d7d3ba-cfd5-4bfa-acb6-2a67ed1e1b5f', protocol='range'}","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#2-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:03:00.866Z","message":"[Consumer clientId=consumer-report-service-3, groupId=report-service] Finished assignment for group at generation 967: {consumer-report-service-1-f7d7d3ba-cfd5-4bfa-acb6-2a67ed1e1b5f=Assignment(partitions=[ips.document-factory.responses.sofr-0, ips.document-factory.responses.sofr-1, ips.document-factory.responses.sofr-2]), consumer-report-service-3-7a5523c2-8291-426e-9507-f4bc4d81ed7e=Assignment(partitions=[ips.tss.universal-0, ips.tss.universal-1, ips.tss.universal-2, ips.tss.universal-3, ips.tss.universal-4, ips.tss.universal-5])}","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#0-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:03:01.836Z","message":"[Consumer clientId=consumer-report-service-3, groupId=report-service] Successfully synced group in generation Generation{generationId=967, memberId='consumer-report-service-3-7a5523c2-8291-426e-9507-f4bc4d81ed7e', protocol='range'}","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#0-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:03:01.836Z","message":"[Consumer clientId=consumer-report-service-1, groupId=report-service] Successfully synced group in generation Generation{generationId=967, memberId='consumer-report-service-1-f7d7d3ba-cfd5-4bfa-acb6-2a67ed1e1b5f', protocol='range'}","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#2-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:03:01.837Z","message":"[Consumer clientId=consumer-report-service-3, groupId=report-service] Notifying assignor about the new Assignment(partitions=[ips.tss.universal-0, ips.tss.universal-1, ips.tss.universal-2, ips.tss.universal-3, ips.tss.universal-4, ips.tss.universal-5])","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#0-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:03:01.837Z","message":"[Consumer clientId=consumer-report-service-1, groupId=report-service] Notifying assignor about the new Assignment(partitions=[ips.document-factory.responses.sofr-0, ips.document-factory.responses.sofr-1, ips.document-factory.responses.sofr-2])","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerCoordinator","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#2-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:03:01.837Z","message":"[Consumer clientId=consumer-report-service-3, groupId=report-service] Adding newly assigned partitions: ips.tss.universal-0, ips.tss.universal-1, ips.tss.universal-2, ips.tss.universal-3, ips.tss.universal-4, ips.tss.universal-5","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerRebalanceListenerInvoker","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#0-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:03:01.837Z","message":"[Consumer clientId=consumer-report-service-1, groupId=report-service] Adding newly assigned partitions: ips.document-factory.responses.sofr-0, ips.document-factory.responses.sofr-1, ips.document-factory.responses.sofr-2","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerRebalanceListenerInvoker","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#2-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:03:02.506Z","message":"Setting offset for partition ips.tss.universal-0 to the committed offset FetchPosition{offset=3293344, offsetEpoch=Optional.empty, currentLeader=LeaderAndEpoch{leader=Optional[adapter-ips-appfarm-kafka.isys-sofr-substittuted-dev-links.svc.cluster.local:9095 (id: 2 rack: null)], epoch=136}}","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerUtils","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#0-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:03:02.506Z","message":"Setting offset for partition ips.tss.universal-5 to the committed offset FetchPosition{offset=3281047, offsetEpoch=Optional.empty, currentLeader=LeaderAndEpoch{leader=Optional[adapter-ips-appfarm-kafka.isys-sofr-substittuted-dev-links.svc.cluster.local:9093 (id: 0 rack: null)], epoch=131}}","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerUtils","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#0-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:03:02.506Z","message":"Setting offset for partition ips.tss.universal-3 to the committed offset FetchPosition{offset=3898920, offsetEpoch=Optional.empty, currentLeader=LeaderAndEpoch{leader=Optional[adapter-ips-appfarm-kafka.isys-sofr-substittuted-dev-links.svc.cluster.local:9095 (id: 2 rack: null)], epoch=130}}","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerUtils","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#0-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:03:02.506Z","message":"Setting offset for partition ips.tss.universal-4 to the committed offset FetchPosition{offset=22327068, offsetEpoch=Optional.empty, currentLeader=LeaderAndEpoch{leader=Optional[adapter-ips-appfarm-kafka.isys-sofr-substittuted-dev-links.svc.cluster.local:9094 (id: 1 rack: null)], epoch=145}}","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerUtils","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#0-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:03:02.507Z","message":"Setting offset for partition ips.tss.universal-1 to the committed offset FetchPosition{offset=3379018, offsetEpoch=Optional.empty, currentLeader=LeaderAndEpoch{leader=Optional[adapter-ips-appfarm-kafka.isys-sofr-substittuted-dev-links.svc.cluster.local:9094 (id: 1 rack: null)], epoch=136}}","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerUtils","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#0-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:03:02.507Z","message":"Setting offset for partition ips.tss.universal-2 to the committed offset FetchPosition{offset=2661135, offsetEpoch=Optional.empty, currentLeader=LeaderAndEpoch{leader=Optional[adapter-ips-appfarm-kafka.isys-sofr-substittuted-dev-links.svc.cluster.local:9093 (id: 0 rack: null)], epoch=127}}","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerUtils","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#0-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:03:02.509Z","message":"Setting offset for partition ips.document-factory.responses.sofr-1 to the committed offset FetchPosition{offset=1586, offsetEpoch=Optional.empty, currentLeader=LeaderAndEpoch{leader=Optional[adapter-ips-appfarm-kafka.isys-sofr-substittuted-dev-links.svc.cluster.local:9093 (id: 0 rack: null)], epoch=75}}","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerUtils","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#2-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:03:02.510Z","message":"Setting offset for partition ips.document-factory.responses.sofr-0 to the committed offset FetchPosition{offset=1657, offsetEpoch=Optional.empty, currentLeader=LeaderAndEpoch{leader=Optional[adapter-ips-appfarm-kafka.isys-sofr-substittuted-dev-links.svc.cluster.local:9094 (id: 1 rack: null)], epoch=70}}","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerUtils","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#2-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:03:02.510Z","message":"Setting offset for partition ips.document-factory.responses.sofr-2 to the committed offset FetchPosition{offset=1616, offsetEpoch=Optional.empty, currentLeader=LeaderAndEpoch{leader=Optional[adapter-ips-appfarm-kafka.isys-sofr-substittuted-dev-links.svc.cluster.local:9095 (id: 2 rack: null)], epoch=76}}","logger_name":"org.apache.kafka.clients.consumer.internals.ConsumerUtils","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#2-0-C-1","level":"INFO"}
{"timestamp":"2026-09-29T12:03:29.012Z","message":"HikariPool-2 - leakDetectionThreshold is less than 2000ms or more than maxLifetime, disabling it.","logger_name":"com.zaxxer.hikari.HikariConfig","thread_name":"scheduling-1","level":"WARN"}
{"timestamp":"2026-09-29T12:03:29.013Z","message":"HikariPool-2 - Starting...","logger_name":"com.zaxxer.hikari.HikariDataSource","thread_name":"scheduling-1","level":"INFO"}
{"timestamp":"2026-09-29T12:03:29.863Z","message":"HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection@75a75d85","logger_name":"com.zaxxer.hikari.pool.HikariPool","thread_name":"scheduling-1","level":"INFO"}
{"timestamp":"2026-09-29T12:03:29.863Z","message":"HikariPool-2 - Start completed.","logger_name":"com.zaxxer.hikari.HikariDataSource","thread_name":"scheduling-1","level":"INFO"}
{"timestamp":"2026-09-29T12:04:09.359Z","message":"HikariPool-3 - leakDetectionThreshold is less than 2000ms or more than maxLifetime, disabling it.","logger_name":"com.zaxxer.hikari.HikariConfig","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"WARN","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:04:09.359Z","message":"HikariPool-3 - Starting...","logger_name":"com.zaxxer.hikari.HikariDataSource","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:04:09.420Z","message":"HikariPool-3 - Added connection org.postgresql.jdbc.PgConnection@523f7f6","logger_name":"com.zaxxer.hikari.pool.HikariPool","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:04:09.420Z","message":"HikariPool-3 - Start completed.","logger_name":"com.zaxxer.hikari.HikariDataSource","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:05:21.822Z","message":"HikariPool-4 - leakDetectionThreshold is less than 2000ms or more than maxLifetime, disabling it.","logger_name":"com.zaxxer.hikari.HikariConfig","thread_name":"scheduling-1","level":"WARN"}
{"timestamp":"2026-09-29T12:05:21.822Z","message":"HikariPool-4 - Starting...","logger_name":"com.zaxxer.hikari.HikariDataSource","thread_name":"scheduling-1","level":"INFO"}
{"timestamp":"2026-09-29T12:05:21.848Z","message":"HikariPool-4 - Added connection org.postgresql.jdbc.PgConnection@7dcf6536","logger_name":"com.zaxxer.hikari.pool.HikariPool","thread_name":"scheduling-1","level":"INFO"}
{"timestamp":"2026-09-29T12:05:21.849Z","message":"HikariPool-4 - Start completed.","logger_name":"com.zaxxer.hikari.HikariDataSource","thread_name":"scheduling-1","level":"INFO"}
{"timestamp":"2026-09-29T12:06:08.590Z","message":"HikariPool-5 - leakDetectionThreshold is less than 2000ms or more than maxLifetime, disabling it.","logger_name":"com.zaxxer.hikari.HikariConfig","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"WARN","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:08.590Z","message":"HikariPool-5 - Starting...","logger_name":"com.zaxxer.hikari.HikariDataSource","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:10.739Z","message":"HikariPool-5 - Starting...","logger_name":"com.zaxxer.hikari.HikariDataSource","thread_name":"scheduling-1","level":"INFO"}
{"timestamp":"2026-09-29T12:06:10.739Z","message":"Не удалось получить метаданные для подключения: sofroracletest, Ошибка: Failed to obtain JDBC Connection","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.generation.ReportServiceImpl","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"ERROR","stack_trace":"org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection\n\tat org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84)\n\tat org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:653)\n\tat org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:723)\n\tat org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:754)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.repository.ReportRepositoryImpl.getAllFunctionsInPackage(ReportRepositoryImpl.java:199)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.repository.ReportRepositoryImpl.getAllProceduresMetadata(ReportRepositoryImpl.java:177)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.generation.ReportServiceImpl.getAllProceduresMetadata(ReportServiceImpl.java:121)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.ExMetaConfigurationService.configureCamelExMeta(ExMetaConfigurationService.java:26)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.kafka.consumer.KafkaConsumer.reloadCamelContext(KafkaConsumer.java:130)\n\tat java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)\n\tat java.base/java.lang.reflect.Method.invoke(Unknown Source)\n\tat org.springframework.messaging.handler.invocation.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:169)\n\tat org.springframework.kafka.listener.adapter.KotlinAwareInvocableHandlerMethod.doInvoke(KotlinAwareInvocableHandlerMethod.java:45)\n\tat org.springframework.messaging.handler.invocation.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:119)\n\tat org.springframework.kafka.listener.adapter.HandlerAdapter.invoke(HandlerAdapter.java:78)\n\tat org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:475)\n\tat org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invoke(MessagingMessageListenerAdapter.java:421)\n\tat org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:85)\n\tat org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:50)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeOnMessage(KafkaMessageListenerContainer.java:2887)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeOnMessage(KafkaMessageListenerContainer.java:2865)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeRecordListener(KafkaMessageListenerContainer.java:2777)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeWithRecords(KafkaMessageListenerContainer.java:2614)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeRecordListener(KafkaMessageListenerContainer.java:2503)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeListener(KafkaMessageListenerContainer.java:2152)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeIfHaveRecords(KafkaMessageListenerContainer.java:1528)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.pollAndInvoke(KafkaMessageListenerContainer.java:1466)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.run(KafkaMessageListenerContainer.java:1335)\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\nCaused by: java.sql.SQLException: ORA-01017: invalid username/password; logon denied\n\nhttps://docs.oracle.com/error-help/db/ora-01017/\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:715)\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:610)\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:605)\n\tat oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:1701)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:936)\n\tat oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:969)\n\tat oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:237)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:547)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTHWithO5Logon(T4CTTIoauthenticate.java:1746)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:1493)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:1433)\n\tat oracle.jdbc.driver.T4CConnection.authenticateWithPassword(T4CConnection.java:2294)\n\tat oracle.jdbc.driver.T4CConnection.authenticateUserForLogon(T4CConnection.java:2231)\n\tat oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:1155)\n\tat oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:1189)\n\tat oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:106)\n\tat oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:887)\n\tat oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:694)\n\tat com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:139)\n\tat com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:368)\n\tat com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:205)\n\tat com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:483)\n\tat com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:571)\n\tat com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:101)\n\tat com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:111)\n\tat org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160)\n\tat org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118)\n\tat org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81)\n\t... 29 common frames omitted\n","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:10.760Z","message":"DEFINITIONS: [CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3)]","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.ExMetaConfigurationService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:12.835Z","message":"Не удалось получить метаданные для подключения: sofroracletest, Ошибка: Failed to obtain JDBC Connection","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.generation.ReportServiceImpl","thread_name":"scheduling-1","level":"ERROR","stack_trace":"org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection\n\tat org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84)\n\tat org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:653)\n\tat org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:723)\n\tat org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:754)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.repository.ReportRepositoryImpl.getAllFunctionsInPackage(ReportRepositoryImpl.java:199)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.repository.ReportRepositoryImpl.getAllProceduresMetadata(ReportRepositoryImpl.java:177)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.generation.ReportServiceImpl.getAllProceduresMetadata(ReportServiceImpl.java:121)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.ExMetaConfigurationService.configureCamelExMeta(ExMetaConfigurationService.java:26)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.ExMetaConfigurationService.init(ExMetaConfigurationService.java:40)\n\tat java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)\n\tat java.base/java.lang.reflect.Method.invoke(Unknown Source)\n\tat org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130)\n\tat org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124)\n\tat io.micrometer.observation.Observation.observe(Observation.java:498)\n\tat org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124)\n\tat org.springframework.scheduling.config.Task$OutcomeTrackingRunnable.run(Task.java:85)\n\tat org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)\n\tat java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)\n\tat java.base/java.util.concurrent.FutureTask.runAndReset(Unknown Source)\n\tat java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\nCaused by: java.sql.SQLException: ORA-01017: invalid username/password; logon denied\n\nhttps://docs.oracle.com/error-help/db/ora-01017/\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:715)\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:610)\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:605)\n\tat oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:1701)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:936)\n\tat oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:969)\n\tat oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:237)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:547)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTHWithO5Logon(T4CTTIoauthenticate.java:1746)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:1493)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:1433)\n\tat oracle.jdbc.driver.T4CConnection.authenticateWithPassword(T4CConnection.java:2294)\n\tat oracle.jdbc.driver.T4CConnection.authenticateUserForLogon(T4CConnection.java:2231)\n\tat oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:1155)\n\tat oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:1189)\n\tat oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:106)\n\tat oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:887)\n\tat oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:694)\n\tat com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:139)\n\tat com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:368)\n\tat com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:205)\n\tat com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:483)\n\tat com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:571)\n\tat com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:101)\n\tat com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:111)\n\tat org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160)\n\tat org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118)\n\tat org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81)\n\t... 22 common frames omitted\n"}
{"timestamp":"2026-09-29T12:06:12.836Z","message":"DEFINITIONS: [CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3)]","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.ExMetaConfigurationService","thread_name":"scheduling-1","level":"DEBUG"}
{"timestamp":"2026-09-29T12:06:12.940Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:12.941Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:12.965Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:12.966Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:12.988Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:12.989Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:13.006Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:13.011Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:13.840Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:13.841Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:13.872Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:13.873Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:13.902Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:13.903Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:13.937Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:13.939Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:13.977Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:13.979Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:13.994Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:13.995Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:14.017Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:14.020Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:14.028Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:14.029Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"78e3c301-6052-423a-a697-d27f046509ae"}
{"timestamp":"2026-09-29T12:06:14.835Z","message":"Получено сообщение в kafka: topic=sofr.bduiReport.cache, key=CACHE_RELOAD_KEY, partition=0, offset=941, value={}","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.kafka.consumer.KafkaConsumer","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:10.084Z","message":"HikariPool-5 - Starting...","logger_name":"com.zaxxer.hikari.HikariDataSource","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.149Z","message":"Не удалось получить метаданные для подключения: sofroracletest, Ошибка: Failed to obtain JDBC Connection","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.generation.ReportServiceImpl","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"ERROR","stack_trace":"org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection\n\tat org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84)\n\tat org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:653)\n\tat org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:723)\n\tat org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:754)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.repository.ReportRepositoryImpl.getAllFunctionsInPackage(ReportRepositoryImpl.java:199)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.repository.ReportRepositoryImpl.getAllProceduresMetadata(ReportRepositoryImpl.java:177)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.generation.ReportServiceImpl.getAllProceduresMetadata(ReportServiceImpl.java:121)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.ExMetaConfigurationService.configureCamelExMeta(ExMetaConfigurationService.java:26)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.kafka.consumer.KafkaConsumer.reloadCamelContext(KafkaConsumer.java:130)\n\tat java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)\n\tat java.base/java.lang.reflect.Method.invoke(Unknown Source)\n\tat org.springframework.messaging.handler.invocation.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:169)\n\tat org.springframework.kafka.listener.adapter.KotlinAwareInvocableHandlerMethod.doInvoke(KotlinAwareInvocableHandlerMethod.java:45)\n\tat org.springframework.messaging.handler.invocation.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:119)\n\tat org.springframework.kafka.listener.adapter.HandlerAdapter.invoke(HandlerAdapter.java:78)\n\tat org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:475)\n\tat org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invoke(MessagingMessageListenerAdapter.java:421)\n\tat org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:85)\n\tat org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:50)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeOnMessage(KafkaMessageListenerContainer.java:2887)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeOnMessage(KafkaMessageListenerContainer.java:2865)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeRecordListener(KafkaMessageListenerContainer.java:2777)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeWithRecords(KafkaMessageListenerContainer.java:2614)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeRecordListener(KafkaMessageListenerContainer.java:2503)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeListener(KafkaMessageListenerContainer.java:2152)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeIfHaveRecords(KafkaMessageListenerContainer.java:1528)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.pollAndInvoke(KafkaMessageListenerContainer.java:1466)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.run(KafkaMessageListenerContainer.java:1335)\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\nCaused by: java.sql.SQLException: ORA-01017: invalid username/password; logon denied\n\nhttps://docs.oracle.com/error-help/db/ora-01017/\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:715)\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:610)\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:605)\n\tat oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:1701)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:936)\n\tat oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:969)\n\tat oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:237)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:547)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTHWithO5Logon(T4CTTIoauthenticate.java:1746)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:1493)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:1433)\n\tat oracle.jdbc.driver.T4CConnection.authenticateWithPassword(T4CConnection.java:2294)\n\tat oracle.jdbc.driver.T4CConnection.authenticateUserForLogon(T4CConnection.java:2231)\n\tat oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:1155)\n\tat oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:1189)\n\tat oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:106)\n\tat oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:887)\n\tat oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:694)\n\tat com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:139)\n\tat com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:368)\n\tat com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:205)\n\tat com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:483)\n\tat com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:571)\n\tat com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:101)\n\tat com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:111)\n\tat org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160)\n\tat org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118)\n\tat org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81)\n\t... 29 common frames omitted\n","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.150Z","message":"DEFINITIONS: [CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3)]","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.ExMetaConfigurationService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.151Z","message":"REMOVE ROUTE: 3e984f3a-c72d-465b-8814-a17fc523b04a","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.152Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.153Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.154Z","message":"REMOVE ROUTE: 58ad3ae2-390d-42d7-b7f6-d311c02c476a","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.154Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.155Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.155Z","message":"REMOVE ROUTE: 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.156Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.157Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.157Z","message":"REMOVE ROUTE: 30a321c3-0019-41c1-918b-c5a146da53d3","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.158Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.158Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.224Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.226Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.247Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.248Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.256Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.257Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.265Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.267Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.275Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.276Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.283Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.283Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.291Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.292Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.300Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.301Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.314Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.315Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.323Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.323Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.330Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.331Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.337Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.337Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"7936bc46-dd4e-4088-a0e4-204df4a08475"}
{"timestamp":"2026-09-29T12:08:12.351Z","message":"Получено сообщение в kafka: topic=sofr.bduiReport.cache, key=CACHE_RELOAD_KEY, partition=0, offset=942, value={}","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.kafka.consumer.KafkaConsumer","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:12.789Z","message":"HikariPool-5 - Starting...","logger_name":"com.zaxxer.hikari.HikariDataSource","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.844Z","message":"Не удалось получить метаданные для подключения: sofroracletest, Ошибка: Failed to obtain JDBC Connection","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.generation.ReportServiceImpl","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"ERROR","stack_trace":"org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection\n\tat org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84)\n\tat org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:653)\n\tat org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:723)\n\tat org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:754)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.repository.ReportRepositoryImpl.getAllFunctionsInPackage(ReportRepositoryImpl.java:199)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.repository.ReportRepositoryImpl.getAllProceduresMetadata(ReportRepositoryImpl.java:177)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.generation.ReportServiceImpl.getAllProceduresMetadata(ReportServiceImpl.java:121)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.ExMetaConfigurationService.configureCamelExMeta(ExMetaConfigurationService.java:26)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.kafka.consumer.KafkaConsumer.reloadCamelContext(KafkaConsumer.java:130)\n\tat java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)\n\tat java.base/java.lang.reflect.Method.invoke(Unknown Source)\n\tat org.springframework.messaging.handler.invocation.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:169)\n\tat org.springframework.kafka.listener.adapter.KotlinAwareInvocableHandlerMethod.doInvoke(KotlinAwareInvocableHandlerMethod.java:45)\n\tat org.springframework.messaging.handler.invocation.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:119)\n\tat org.springframework.kafka.listener.adapter.HandlerAdapter.invoke(HandlerAdapter.java:78)\n\tat org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:475)\n\tat org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invoke(MessagingMessageListenerAdapter.java:421)\n\tat org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:85)\n\tat org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:50)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeOnMessage(KafkaMessageListenerContainer.java:2887)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeOnMessage(KafkaMessageListenerContainer.java:2865)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeRecordListener(KafkaMessageListenerContainer.java:2777)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeWithRecords(KafkaMessageListenerContainer.java:2614)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeRecordListener(KafkaMessageListenerContainer.java:2503)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeListener(KafkaMessageListenerContainer.java:2152)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeIfHaveRecords(KafkaMessageListenerContainer.java:1528)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.pollAndInvoke(KafkaMessageListenerContainer.java:1466)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.run(KafkaMessageListenerContainer.java:1335)\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\nCaused by: java.sql.SQLException: ORA-01017: invalid username/password; logon denied\n\nhttps://docs.oracle.com/error-help/db/ora-01017/\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:715)\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:610)\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:605)\n\tat oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:1701)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:936)\n\tat oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:969)\n\tat oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:237)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:547)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTHWithO5Logon(T4CTTIoauthenticate.java:1746)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:1493)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:1433)\n\tat oracle.jdbc.driver.T4CConnection.authenticateWithPassword(T4CConnection.java:2294)\n\tat oracle.jdbc.driver.T4CConnection.authenticateUserForLogon(T4CConnection.java:2231)\n\tat oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:1155)\n\tat oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:1189)\n\tat oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:106)\n\tat oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:887)\n\tat oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:694)\n\tat com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:139)\n\tat com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:368)\n\tat com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:205)\n\tat com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:483)\n\tat com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:571)\n\tat com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:101)\n\tat com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:111)\n\tat org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160)\n\tat org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118)\n\tat org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81)\n\t... 29 common frames omitted\n","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.845Z","message":"DEFINITIONS: [CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3)]","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.ExMetaConfigurationService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.847Z","message":"REMOVE ROUTE: 3e984f3a-c72d-465b-8814-a17fc523b04a","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.849Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.850Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.850Z","message":"REMOVE ROUTE: 58ad3ae2-390d-42d7-b7f6-d311c02c476a","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.853Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.854Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.854Z","message":"REMOVE ROUTE: 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.856Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.856Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.856Z","message":"REMOVE ROUTE: 30a321c3-0019-41c1-918b-c5a146da53d3","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.857Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.857Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.903Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.908Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.922Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.922Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.935Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.936Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.946Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.946Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.952Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.953Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.958Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.959Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.992Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:14.992Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:15.002Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:15.003Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:15.010Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:15.011Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:15.028Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:15.029Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:15.040Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:15.041Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:15.047Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:15.048Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"8c0962b9-8b0f-4b40-b87f-589f3cb9e79f"}
{"timestamp":"2026-09-29T12:09:15.117Z","message":"Получено сообщение в kafka: topic=sofr.bduiReport.cache, key=CACHE_RELOAD_KEY, partition=0, offset=943, value={}","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.kafka.consumer.KafkaConsumer","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:09:37.525Z","message":"HikariPool-5 - Starting...","logger_name":"com.zaxxer.hikari.HikariDataSource","thread_name":"http-nio-8080-exec-6","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:09:39.582Z","message":"Не удалось получить метаданные для подключения: sofroracletest, Ошибка: Failed to obtain JDBC Connection","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.generation.ReportServiceImpl","thread_name":"http-nio-8080-exec-6","level":"ERROR","stack_trace":"org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection\n\tat org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84)\n\tat org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:653)\n\tat org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:723)\n\tat org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:754)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.repository.ReportRepositoryImpl.getAllFunctionsInPackage(ReportRepositoryImpl.java:199)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.repository.ReportRepositoryImpl.getAllProceduresMetadata(ReportRepositoryImpl.java:177)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.generation.ReportServiceImpl.getAllProceduresMetadata(ReportServiceImpl.java:121)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.ReportFacade.getAllUiMetadata(ReportFacade.java:203)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.controller.ApiController.getAllReportsMetadata(ApiController.java:28)\n\tat java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)\n\tat java.base/java.lang.reflect.Method.invoke(Unknown Source)\n\tat org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)\n\tat org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191)\n\tat org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:986)\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:891)\n\tat org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\n\tat org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)\n\tat org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)\n\tat org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)\n\tat org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)\n\tat jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)\n\tat org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)\n\tat jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\n\tat org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.config.MdcHeaderFilter.doFilter(MdcHeaderFilter.java:33)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\n\tat org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\n\tat org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\n\tat org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:114)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\n\tat org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\n\tat org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)\n\tat org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\n\tat org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)\n\tat org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116)\n\tat org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\n\tat org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\n\tat org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:732)\n\tat org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)\n\tat org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)\n\tat org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\n\tat org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\n\tat org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1769)\n\tat org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\n\tat org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)\n\tat org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)\n\tat org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)\n\tat java.base/java.lang.Thread.run(Unknown Source)\nCaused by: java.sql.SQLException: ORA-01017: invalid username/password; logon denied\n\nhttps://docs.oracle.com/error-help/db/ora-01017/\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:715)\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:610)\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:605)\n\tat oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:1701)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:936)\n\tat oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:969)\n\tat oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:237)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:547)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTHWithO5Logon(T4CTTIoauthenticate.java:1746)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:1493)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:1433)\n\tat oracle.jdbc.driver.T4CConnection.authenticateWithPassword(T4CConnection.java:2294)\n\tat oracle.jdbc.driver.T4CConnection.authenticateUserForLogon(T4CConnection.java:2231)\n\tat oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:1155)\n\tat oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:1189)\n\tat oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:106)\n\tat oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:887)\n\tat oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:694)\n\tat com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:139)\n\tat com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:368)\n\tat com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:205)\n\tat com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:483)\n\tat com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:571)\n\tat com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:101)\n\tat com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:111)\n\tat org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160)\n\tat org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118)\n\tat org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81)\n\t... 64 common frames omitted\n","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:16.142Z","message":"HikariPool-5 - Starting...","logger_name":"com.zaxxer.hikari.HikariDataSource","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.191Z","message":"Не удалось получить метаданные для подключения: sofroracletest, Ошибка: Failed to obtain JDBC Connection","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.generation.ReportServiceImpl","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"ERROR","stack_trace":"org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection\n\tat org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84)\n\tat org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:653)\n\tat org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:723)\n\tat org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:754)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.repository.ReportRepositoryImpl.getAllFunctionsInPackage(ReportRepositoryImpl.java:199)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.repository.ReportRepositoryImpl.getAllProceduresMetadata(ReportRepositoryImpl.java:177)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.generation.ReportServiceImpl.getAllProceduresMetadata(ReportServiceImpl.java:121)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.ExMetaConfigurationService.configureCamelExMeta(ExMetaConfigurationService.java:26)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.kafka.consumer.KafkaConsumer.reloadCamelContext(KafkaConsumer.java:130)\n\tat java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)\n\tat java.base/java.lang.reflect.Method.invoke(Unknown Source)\n\tat org.springframework.messaging.handler.invocation.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:169)\n\tat org.springframework.kafka.listener.adapter.KotlinAwareInvocableHandlerMethod.doInvoke(KotlinAwareInvocableHandlerMethod.java:45)\n\tat org.springframework.messaging.handler.invocation.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:119)\n\tat org.springframework.kafka.listener.adapter.HandlerAdapter.invoke(HandlerAdapter.java:78)\n\tat org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:475)\n\tat org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invoke(MessagingMessageListenerAdapter.java:421)\n\tat org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:85)\n\tat org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:50)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeOnMessage(KafkaMessageListenerContainer.java:2887)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeOnMessage(KafkaMessageListenerContainer.java:2865)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeRecordListener(KafkaMessageListenerContainer.java:2777)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeWithRecords(KafkaMessageListenerContainer.java:2614)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeRecordListener(KafkaMessageListenerContainer.java:2503)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeListener(KafkaMessageListenerContainer.java:2152)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeIfHaveRecords(KafkaMessageListenerContainer.java:1528)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.pollAndInvoke(KafkaMessageListenerContainer.java:1466)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.run(KafkaMessageListenerContainer.java:1335)\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\nCaused by: java.sql.SQLException: ORA-01017: invalid username/password; logon denied\n\nhttps://docs.oracle.com/error-help/db/ora-01017/\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:715)\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:610)\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:605)\n\tat oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:1701)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:936)\n\tat oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:969)\n\tat oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:237)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:547)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTHWithO5Logon(T4CTTIoauthenticate.java:1746)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:1493)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:1433)\n\tat oracle.jdbc.driver.T4CConnection.authenticateWithPassword(T4CConnection.java:2294)\n\tat oracle.jdbc.driver.T4CConnection.authenticateUserForLogon(T4CConnection.java:2231)\n\tat oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:1155)\n\tat oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:1189)\n\tat oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:106)\n\tat oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:887)\n\tat oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:694)\n\tat com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:139)\n\tat com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:368)\n\tat com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:205)\n\tat com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:483)\n\tat com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:571)\n\tat com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:101)\n\tat com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:111)\n\tat org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160)\n\tat org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118)\n\tat org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81)\n\t... 29 common frames omitted\n","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.192Z","message":"DEFINITIONS: [CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3)]","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.ExMetaConfigurationService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.192Z","message":"REMOVE ROUTE: 3e984f3a-c72d-465b-8814-a17fc523b04a","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.193Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.193Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.194Z","message":"REMOVE ROUTE: 58ad3ae2-390d-42d7-b7f6-d311c02c476a","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.194Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.194Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.194Z","message":"REMOVE ROUTE: 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.195Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.195Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.195Z","message":"REMOVE ROUTE: 30a321c3-0019-41c1-918b-c5a146da53d3","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.196Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.196Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.226Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.226Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.232Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.233Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.241Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.242Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.255Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.256Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.262Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.263Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.270Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.271Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.280Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.280Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.286Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.286Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.299Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.299Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.305Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.305Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.310Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.310Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.315Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:10:18.316Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"2553bfb7-e630-41b4-8108-1cb058ae0236"}
{"timestamp":"2026-09-29T12:12:07.185Z","message":"Получено сообщение в kafka: topic=sofr.bduiReport.cache, key=CACHE_RELOAD_KEY, partition=0, offset=944, value={}","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.kafka.consumer.KafkaConsumer","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:31.400Z","message":"HikariPool-5 - Starting...","logger_name":"com.zaxxer.hikari.HikariDataSource","thread_name":"http-nio-8080-exec-5","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:33.464Z","message":"HikariPool-5 - Starting...","logger_name":"com.zaxxer.hikari.HikariDataSource","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:33.464Z","message":"Не удалось получить метаданные для подключения: sofroracletest, Ошибка: Failed to obtain JDBC Connection","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.generation.ReportServiceImpl","thread_name":"http-nio-8080-exec-5","level":"ERROR","stack_trace":"org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection\n\tat org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84)\n\tat org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:653)\n\tat org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:723)\n\tat org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:754)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.repository.ReportRepositoryImpl.getAllFunctionsInPackage(ReportRepositoryImpl.java:199)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.repository.ReportRepositoryImpl.getAllProceduresMetadata(ReportRepositoryImpl.java:177)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.generation.ReportServiceImpl.getAllProceduresMetadata(ReportServiceImpl.java:121)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.ReportFacade.getAllUiMetadata(ReportFacade.java:203)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.controller.ApiController.getAllReportsMetadata(ApiController.java:28)\n\tat java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)\n\tat java.base/java.lang.reflect.Method.invoke(Unknown Source)\n\tat org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)\n\tat org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191)\n\tat org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:986)\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:891)\n\tat org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\n\tat org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)\n\tat org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)\n\tat org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)\n\tat org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)\n\tat jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)\n\tat org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)\n\tat jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\n\tat org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.config.MdcHeaderFilter.doFilter(MdcHeaderFilter.java:33)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\n\tat org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\n\tat org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\n\tat org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:114)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\n\tat org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\n\tat org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)\n\tat org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\n\tat org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)\n\tat org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116)\n\tat org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\n\tat org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\n\tat org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:732)\n\tat org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)\n\tat org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)\n\tat org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\n\tat org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\n\tat org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1769)\n\tat org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\n\tat org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)\n\tat org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)\n\tat org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)\n\tat java.base/java.lang.Thread.run(Unknown Source)\nCaused by: java.sql.SQLException: ORA-01017: invalid username/password; logon denied\n\nhttps://docs.oracle.com/error-help/db/ora-01017/\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:715)\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:610)\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:605)\n\tat oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:1701)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:936)\n\tat oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:969)\n\tat oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:237)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:547)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTHWithO5Logon(T4CTTIoauthenticate.java:1746)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:1493)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:1433)\n\tat oracle.jdbc.driver.T4CConnection.authenticateWithPassword(T4CConnection.java:2294)\n\tat oracle.jdbc.driver.T4CConnection.authenticateUserForLogon(T4CConnection.java:2231)\n\tat oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:1155)\n\tat oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:1189)\n\tat oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:106)\n\tat oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:887)\n\tat oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:694)\n\tat com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:139)\n\tat com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:368)\n\tat com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:205)\n\tat com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:483)\n\tat com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:571)\n\tat com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:101)\n\tat com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:111)\n\tat org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160)\n\tat org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118)\n\tat org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81)\n\t... 64 common frames omitted\n","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.538Z","message":"Не удалось получить метаданные для подключения: sofroracletest, Ошибка: Failed to obtain JDBC Connection","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.generation.ReportServiceImpl","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"ERROR","stack_trace":"org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection\n\tat org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84)\n\tat org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:653)\n\tat org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:723)\n\tat org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:754)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.repository.ReportRepositoryImpl.getAllFunctionsInPackage(ReportRepositoryImpl.java:199)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.repository.ReportRepositoryImpl.getAllProceduresMetadata(ReportRepositoryImpl.java:177)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.generation.ReportServiceImpl.getAllProceduresMetadata(ReportServiceImpl.java:121)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.ExMetaConfigurationService.configureCamelExMeta(ExMetaConfigurationService.java:26)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.kafka.consumer.KafkaConsumer.reloadCamelContext(KafkaConsumer.java:130)\n\tat java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)\n\tat java.base/java.lang.reflect.Method.invoke(Unknown Source)\n\tat org.springframework.messaging.handler.invocation.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:169)\n\tat org.springframework.kafka.listener.adapter.KotlinAwareInvocableHandlerMethod.doInvoke(KotlinAwareInvocableHandlerMethod.java:45)\n\tat org.springframework.messaging.handler.invocation.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:119)\n\tat org.springframework.kafka.listener.adapter.HandlerAdapter.invoke(HandlerAdapter.java:78)\n\tat org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:475)\n\tat org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invoke(MessagingMessageListenerAdapter.java:421)\n\tat org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:85)\n\tat org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:50)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeOnMessage(KafkaMessageListenerContainer.java:2887)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeOnMessage(KafkaMessageListenerContainer.java:2865)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeRecordListener(KafkaMessageListenerContainer.java:2777)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeWithRecords(KafkaMessageListenerContainer.java:2614)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeRecordListener(KafkaMessageListenerContainer.java:2503)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeListener(KafkaMessageListenerContainer.java:2152)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeIfHaveRecords(KafkaMessageListenerContainer.java:1528)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.pollAndInvoke(KafkaMessageListenerContainer.java:1466)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.run(KafkaMessageListenerContainer.java:1335)\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\nCaused by: java.sql.SQLException: ORA-01017: invalid username/password; logon denied\n\nhttps://docs.oracle.com/error-help/db/ora-01017/\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:715)\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:610)\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:605)\n\tat oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:1701)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:936)\n\tat oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:969)\n\tat oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:237)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:547)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTHWithO5Logon(T4CTTIoauthenticate.java:1746)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:1493)\n\tat oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:1433)\n\tat oracle.jdbc.driver.T4CConnection.authenticateWithPassword(T4CConnection.java:2294)\n\tat oracle.jdbc.driver.T4CConnection.authenticateUserForLogon(T4CConnection.java:2231)\n\tat oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:1155)\n\tat oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:1189)\n\tat oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:106)\n\tat oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:887)\n\tat oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:694)\n\tat com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:139)\n\tat com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:368)\n\tat com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:205)\n\tat com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:483)\n\tat com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:571)\n\tat com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:101)\n\tat com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:111)\n\tat org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160)\n\tat org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118)\n\tat org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81)\n\t... 29 common frames omitted\n","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.539Z","message":"DEFINITIONS: [CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3)]","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.ExMetaConfigurationService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.539Z","message":"REMOVE ROUTE: 3e984f3a-c72d-465b-8814-a17fc523b04a","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.540Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.540Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.541Z","message":"REMOVE ROUTE: 58ad3ae2-390d-42d7-b7f6-d311c02c476a","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.541Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.541Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.541Z","message":"REMOVE ROUTE: 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.542Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.542Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.542Z","message":"REMOVE ROUTE: 30a321c3-0019-41c1-918b-c5a146da53d3","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.543Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.543Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.576Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.577Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.583Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.584Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.590Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.590Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.596Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.596Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.603Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.603Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.608Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.609Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.615Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.615Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.620Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.620Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.625Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.626Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.635Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.636Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.649Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.650Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.665Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:13:35.665Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1057d85c-e068-431b-916b-b5e1f78295fb"}
{"timestamp":"2026-09-29T12:14:26.023Z","message":"Получено сообщение в kafka: topic=sofr.bduiReport.cache, key=CACHE_RELOAD_KEY, partition=0, offset=945, value={}","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.kafka.consumer.KafkaConsumer","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:16:09.064Z","message":"HikariPool-5 - Starting...","logger_name":"com.zaxxer.hikari.HikariDataSource","thread_name":"http-nio-8080-exec-3","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:16:09.239Z","message":"HikariPool-5 - Added connection oracle.jdbc.driver.T4CConnection@36194221","logger_name":"com.zaxxer.hikari.pool.HikariPool","thread_name":"http-nio-8080-exec-3","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:16:09.239Z","message":"HikariPool-5 - Start completed.","logger_name":"com.zaxxer.hikari.HikariDataSource","thread_name":"http-nio-8080-exec-3","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.134Z","message":"DEFINITIONS: [CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3)]","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.ExMetaConfigurationService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.134Z","message":"REMOVE ROUTE: 3e984f3a-c72d-465b-8814-a17fc523b04a","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.135Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.136Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.136Z","message":"REMOVE ROUTE: 58ad3ae2-390d-42d7-b7f6-d311c02c476a","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.136Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.136Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.137Z","message":"REMOVE ROUTE: 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.137Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.137Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.137Z","message":"REMOVE ROUTE: 30a321c3-0019-41c1-918b-c5a146da53d3","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.138Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.138Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.160Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.161Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.165Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.166Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.171Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.172Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.182Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.182Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.194Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.195Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.204Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.209Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.219Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.220Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.233Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.234Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.239Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.240Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.246Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.251Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.258Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.258Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.276Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.276Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.285Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.285Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.291Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.291Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.298Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.298Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.304Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:17:32.304Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"58173272-53b4-41f8-bd02-ff816b2c3315"}
{"timestamp":"2026-09-29T12:21:32.035Z","message":"Получено сообщение в kafka: topic=sofr.bduiReport.cache, key=CACHE_RELOAD_KEY, partition=0, offset=946, value={}","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.kafka.consumer.KafkaConsumer","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.527Z","message":"DEFINITIONS: [CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3)]","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.ExMetaConfigurationService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.529Z","message":"REMOVE ROUTE: 3e984f3a-c72d-465b-8814-a17fc523b04a","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.530Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.531Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.531Z","message":"REMOVE ROUTE: 58ad3ae2-390d-42d7-b7f6-d311c02c476a","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.535Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.540Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.541Z","message":"REMOVE ROUTE: 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.542Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.542Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.542Z","message":"REMOVE ROUTE: 30a321c3-0019-41c1-918b-c5a146da53d3","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.543Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.544Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.565Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.565Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.570Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.571Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.577Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.577Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.582Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.583Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.588Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.588Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.593Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.594Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.601Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.601Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.607Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.608Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.622Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.623Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.630Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.630Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.637Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.637Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.642Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.643Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.647Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.648Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.652Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.653Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.663Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.663Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.684Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:24:25.685Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"6e34fb84-3858-4fd9-aed0-04f8b766506e"}
{"timestamp":"2026-09-29T12:26:09.998Z","message":"Получено сообщение в kafka: topic=sofr.bduiReport.cache, key=CACHE_RELOAD_KEY, partition=0, offset=947, value={}","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.kafka.consumer.KafkaConsumer","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.406Z","message":"DEFINITIONS: [CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3)]","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.ExMetaConfigurationService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.406Z","message":"REMOVE ROUTE: 3e984f3a-c72d-465b-8814-a17fc523b04a","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.407Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.407Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.407Z","message":"REMOVE ROUTE: 58ad3ae2-390d-42d7-b7f6-d311c02c476a","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.407Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.408Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.408Z","message":"REMOVE ROUTE: 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.408Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.408Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.408Z","message":"REMOVE ROUTE: 30a321c3-0019-41c1-918b-c5a146da53d3","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.409Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.409Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.428Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.431Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.436Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.445Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.451Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.452Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.460Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.460Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.465Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.465Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.469Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.470Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.474Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.474Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.478Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.479Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.484Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.484Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.488Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.489Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.493Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.493Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.497Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.497Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.502Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.503Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.508Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.508Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.515Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.516Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.521Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T12:27:53.522Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"96c86e5d-c546-4eec-806f-1be59fff4dcb"}
{"timestamp":"2026-09-29T13:01:08.951Z","message":"Ошибок в результате генерации отчета с ключом adc1ef65-757c-4726-9c1b-d01e3304353b_moneydepo_rc_reportrun_sofrpostgres не найдено","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.ReportFacade","thread_name":"task-55","level":"DEBUG","x-trace-id":"b0c6a5dc-2eb5-43b7-a74e-2c25633237e3"}
{"timestamp":"2026-09-29T13:01:08.968Z","message":"ProducerConfig values: \n\tacks = -1\n\tauto.include.jmx.reporter = true\n\tbatch.size = 16384\n\tbootstrap.servers = [adapter-ips-appfarm-kafka.isys-sofr-substittuted-dev-links:9092]\n\tbuffer.memory = 33554432\n\tclient.dns.lookup = use_all_dns_ips\n\tclient.id = report-service-producer-1\n\tcompression.gzip.level = -1\n\tcompression.lz4.level = 9\n\tcompression.type = none\n\tcompression.zstd.level = 3\n\tconnections.max.idle.ms = 540000\n\tdelivery.timeout.ms = 120000\n\tenable.idempotence = true\n\tenable.metrics.push = true\n\tinterceptor.classes = []\n\tkey.serializer = class org.apache.kafka.common.serialization.StringSerializer\n\tlinger.ms = 0\n\tmax.block.ms = 60000\n\tmax.in.flight.requests.per.connection = 5\n\tmax.request.size = 1048576\n\tmetadata.max.age.ms = 300000\n\tmetadata.max.idle.ms = 300000\n\tmetadata.recovery.strategy = none\n\tmetric.reporters = []\n\tmetrics.num.samples = 2\n\tmetrics.recording.level = INFO\n\tmetrics.sample.window.ms = 30000\n\tpartitioner.adaptive.partitioning.enable = true\n\tpartitioner.availability.timeout.ms = 0\n\tpartitioner.class = null\n\tpartitioner.ignore.keys = false\n\treceive.buffer.bytes = 32768\n\treconnect.backoff.max.ms = 1000\n\treconnect.backoff.ms = 50\n\trequest.timeout.ms = 30000\n\tretries = 2147483647\n\tretry.backoff.max.ms = 1000\n\tretry.backoff.ms = 100\n\tsasl.client.callback.handler.class = null\n\tsasl.jaas.config = null\n\tsasl.kerberos.kinit.cmd = /usr/bin/kinit\n\tsasl.kerberos.min.time.before.relogin = 60000\n\tsasl.kerberos.service.name = null\n\tsasl.kerberos.ticket.renew.jitter = 0.05\n\tsasl.kerberos.ticket.renew.window.factor = 0.8\n\tsasl.login.callback.handler.class = null\n\tsasl.login.class = null\n\tsasl.login.connect.timeout.ms = null\n\tsasl.login.read.timeout.ms = null\n\tsasl.login.refresh.buffer.seconds = 300\n\tsasl.login.refresh.min.period.seconds = 60\n\tsasl.login.refresh.window.factor = 0.8\n\tsasl.login.refresh.window.jitter = 0.05\n\tsasl.login.retry.backoff.max.ms = 10000\n\tsasl.login.retry.backoff.ms = 100\n\tsasl.mechanism = GSSAPI\n\tsasl.oauthbearer.clock.skew.seconds = 30\n\tsasl.oauthbearer.expected.audience = null\n\tsasl.oauthbearer.expected.issuer = null\n\tsasl.oauthbearer.header.urlencode = false\n\tsasl.oauthbearer.jwks.endpoint.refresh.ms = 3600000\n\tsasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms = 10000\n\tsasl.oauthbearer.jwks.endpoint.retry.backoff.ms = 100\n\tsasl.oauthbearer.jwks.endpoint.url = null\n\tsasl.oauthbearer.scope.claim.name = scope\n\tsasl.oauthbearer.sub.claim.name = sub\n\tsasl.oauthbearer.token.endpoint.url = null\n\tsecurity.protocol = PLAINTEXT\n\tsecurity.providers = null\n\tsend.buffer.bytes = 131072\n\tsocket.connection.setup.timeout.max.ms = 30000\n\tsocket.connection.setup.timeout.ms = 10000\n\tssl.cipher.suites = null\n\tssl.enabled.protocols = [TLSv1.2, TLSv1.3]\n\tssl.endpoint.identification.algorithm = https\n\tssl.engine.factory.class = null\n\tssl.key.password = null\n\tssl.keymanager.algorithm = SunX509\n\tssl.keystore.certificate.chain = null\n\tssl.keystore.key = null\n\tssl.keystore.location = null\n\tssl.keystore.password = null\n\tssl.keystore.type = JKS\n\tssl.protocol = TLSv1.3\n\tssl.provider = null\n\tssl.secure.random.implementation = null\n\tssl.trustmanager.algorithm = PKIX\n\tssl.truststore.certificates = null\n\tssl.truststore.location = null\n\tssl.truststore.password = null\n\tssl.truststore.type = JKS\n\ttransaction.timeout.ms = 60000\n\ttransactional.id = null\n\tvalue.serializer = class org.apache.kafka.common.serialization.StringSerializer\n","logger_name":"org.apache.kafka.clients.producer.ProducerConfig","thread_name":"task-55","level":"INFO","x-trace-id":"b0c6a5dc-2eb5-43b7-a74e-2c25633237e3"}
{"timestamp":"2026-09-29T13:01:08.970Z","message":"initializing Kafka metrics collector","logger_name":"org.apache.kafka.common.telemetry.internals.KafkaMetricsCollector","thread_name":"task-55","level":"INFO","x-trace-id":"b0c6a5dc-2eb5-43b7-a74e-2c25633237e3"}
{"timestamp":"2026-09-29T13:01:08.983Z","message":"[Producer clientId=report-service-producer-1] Instantiated an idempotent producer.","logger_name":"org.apache.kafka.clients.producer.KafkaProducer","thread_name":"task-55","level":"INFO","x-trace-id":"b0c6a5dc-2eb5-43b7-a74e-2c25633237e3"}
{"timestamp":"2026-09-29T13:01:09.007Z","message":"Kafka version: 3.9.1","logger_name":"org.apache.kafka.common.utils.AppInfoParser","thread_name":"task-55","level":"INFO","x-trace-id":"b0c6a5dc-2eb5-43b7-a74e-2c25633237e3"}
{"timestamp":"2026-09-29T13:01:09.007Z","message":"Kafka commitId: f745dfdcee2b9851","logger_name":"org.apache.kafka.common.utils.AppInfoParser","thread_name":"task-55","level":"INFO","x-trace-id":"b0c6a5dc-2eb5-43b7-a74e-2c25633237e3"}
{"timestamp":"2026-09-29T13:01:09.007Z","message":"Kafka startTimeMs: 1790676069007","logger_name":"org.apache.kafka.common.utils.AppInfoParser","thread_name":"task-55","level":"INFO","x-trace-id":"b0c6a5dc-2eb5-43b7-a74e-2c25633237e3"}
{"timestamp":"2026-09-29T13:01:09.932Z","message":"[Producer clientId=report-service-producer-1] Cluster ID: S-3DONBhQFeAfqIFGUIOtQ","logger_name":"org.apache.kafka.clients.Metadata","thread_name":"kafka-producer-network-thread | report-service-producer-1","level":"INFO"}
{"timestamp":"2026-09-29T13:01:09.940Z","message":"[Producer clientId=report-service-producer-1] ProducerId set to 5257252 with epoch 0","logger_name":"org.apache.kafka.clients.producer.internals.TransactionManager","thread_name":"kafka-producer-network-thread | report-service-producer-1","level":"INFO"}
{"timestamp":"2026-09-29T13:01:09.953Z","message":"Ошибок в результате генерации отчета с ключом adc1ef65-757c-4726-9c1b-d01e3304353b_moneydepo_rc_reportrun_sofrpostgres не найдено","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.ReportFacade","thread_name":"task-55","level":"DEBUG","x-trace-id":"b0c6a5dc-2eb5-43b7-a74e-2c25633237e3"}
{"timestamp":"2026-09-29T13:01:11.934Z","message":"Отправлено сообщение в kafka: topic=ips.document-factory.requests.sofr, key=null, partition=1, offset=1557, value=null","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.config.kafka.KafkaConfiguration","thread_name":"kafka-producer-network-thread | report-service-producer-1","level":"DEBUG"}
{"timestamp":"2026-09-29T13:01:11.934Z","message":"Отправлено сообщение в kafka: topic=ips.document-factory.requests.sofr, key=null, partition=1, offset=1558, value=null","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.config.kafka.KafkaConfiguration","thread_name":"kafka-producer-network-thread | report-service-producer-1","level":"DEBUG"}
{"timestamp":"2026-09-29T14:48:29.363Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@2cd91124 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T14:48:44.168Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@365c58fc (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T14:49:11.751Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@11e1ae14 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T14:49:13.107Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@6a19294d (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T14:49:16.289Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@311a75bc (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T14:49:23.475Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@2d17ec85 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T14:49:46.442Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@6284f03a (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T14:49:58.729Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@5d4a1b8a (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T14:50:02.571Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@16c574ca (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T14:50:04.723Z","message":"HikariPool-2 - Pool is empty, failed to create/setup connection (29031c0d-0c0c-42f7-86fe-83ba5e0fb980)","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:connection-adder","level":"WARN","stack_trace":"org.postgresql.util.PSQLException: FATAL: the database system is shutting down\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:777)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:234)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:289)\n\tat org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:57)\n\tat org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:277)\n\tat org.postgresql.Driver.makeConnection(Driver.java:448)\n\tat org.postgresql.Driver.connect(Driver.java:298)\n\tat com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:139)\n\tat com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:368)\n\tat com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:205)\n\tat com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:483)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:747)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:726)\n\tat java.base/java.util.concurrent.FutureTask.run(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\n"}
{"timestamp":"2026-09-29T14:51:09.847Z","message":"HikariPool-2 - Pool is empty, failed to create/setup connection (a584b55a-a1a6-4838-8194-9d4067b93f2f)","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:connection-adder","level":"WARN","stack_trace":"org.postgresql.util.PSQLException: FATAL: the database system is shutting down\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:777)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:234)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:289)\n\tat org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:57)\n\tat org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:277)\n\tat org.postgresql.Driver.makeConnection(Driver.java:448)\n\tat org.postgresql.Driver.connect(Driver.java:298)\n\tat com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:139)\n\tat com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:368)\n\tat com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:205)\n\tat com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:483)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:747)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:726)\n\tat java.base/java.util.concurrent.FutureTask.run(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\n"}
{"timestamp":"2026-09-29T14:52:14.895Z","message":"HikariPool-2 - Pool is empty, failed to create/setup connection (63b1e1f6-11a4-4aa4-b61f-d780ff745221)","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:connection-adder","level":"WARN","stack_trace":"org.postgresql.util.PSQLException: The connection attempt failed.\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:385)\n\tat org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:57)\n\tat org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:277)\n\tat org.postgresql.Driver.makeConnection(Driver.java:448)\n\tat org.postgresql.Driver.connect(Driver.java:298)\n\tat com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:139)\n\tat com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:368)\n\tat com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:205)\n\tat com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:483)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:747)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:726)\n\tat java.base/java.util.concurrent.FutureTask.run(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\nCaused by: java.net.SocketException: Connection reset\n\tat java.base/sun.nio.ch.NioSocketImpl.implRead(Unknown Source)\n\tat java.base/sun.nio.ch.NioSocketImpl.read(Unknown Source)\n\tat java.base/sun.nio.ch.NioSocketImpl$1.read(Unknown Source)\n\tat java.base/java.net.Socket$SocketInputStream.implRead(Unknown Source)\n\tat java.base/java.net.Socket$SocketInputStream.read(Unknown Source)\n\tat org.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:192)\n\tat org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:159)\n\tat org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:144)\n\tat org.postgresql.core.VisibleBufferedInputStream.read(VisibleBufferedInputStream.java:76)\n\tat org.postgresql.core.PGStream.receiveChar(PGStream.java:477)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.enableSSL(ConnectionFactoryImpl.java:627)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:207)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:289)\n\t... 14 common frames omitted\n"}
{"timestamp":"2026-09-29T14:53:19.948Z","message":"HikariPool-2 - Pool is empty, failed to create/setup connection (bdc23930-19f4-4e4c-bd24-08b4cc205a2b)","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:connection-adder","level":"WARN","stack_trace":"org.postgresql.util.PSQLException: The connection attempt failed.\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:385)\n\tat org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:57)\n\tat org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:277)\n\tat org.postgresql.Driver.makeConnection(Driver.java:448)\n\tat org.postgresql.Driver.connect(Driver.java:298)\n\tat com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:139)\n\tat com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:368)\n\tat com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:205)\n\tat com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:483)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:747)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:726)\n\tat java.base/java.util.concurrent.FutureTask.run(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\nCaused by: java.net.SocketException: Connection reset\n\tat java.base/sun.nio.ch.NioSocketImpl.implRead(Unknown Source)\n\tat java.base/sun.nio.ch.NioSocketImpl.read(Unknown Source)\n\tat java.base/sun.nio.ch.NioSocketImpl$1.read(Unknown Source)\n\tat java.base/java.net.Socket$SocketInputStream.implRead(Unknown Source)\n\tat java.base/java.net.Socket$SocketInputStream.read(Unknown Source)\n\tat org.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:192)\n\tat org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:159)\n\tat org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:144)\n\tat org.postgresql.core.VisibleBufferedInputStream.read(VisibleBufferedInputStream.java:76)\n\tat org.postgresql.core.PGStream.receiveChar(PGStream.java:477)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.enableSSL(ConnectionFactoryImpl.java:627)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:207)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:289)\n\t... 14 common frames omitted\n"}
{"timestamp":"2026-09-29T14:54:24.984Z","message":"HikariPool-2 - Pool is empty, failed to create/setup connection (5c2afd2a-c5b5-4c44-bc6a-00192dbb056c)","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:connection-adder","level":"WARN","stack_trace":"org.postgresql.util.PSQLException: The connection attempt failed.\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:385)\n\tat org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:57)\n\tat org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:277)\n\tat org.postgresql.Driver.makeConnection(Driver.java:448)\n\tat org.postgresql.Driver.connect(Driver.java:298)\n\tat com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:139)\n\tat com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:368)\n\tat com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:205)\n\tat com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:483)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:747)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:726)\n\tat java.base/java.util.concurrent.FutureTask.run(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\nCaused by: java.net.SocketException: Connection reset\n\tat java.base/sun.nio.ch.NioSocketImpl.implRead(Unknown Source)\n\tat java.base/sun.nio.ch.NioSocketImpl.read(Unknown Source)\n\tat java.base/sun.nio.ch.NioSocketImpl$1.read(Unknown Source)\n\tat java.base/java.net.Socket$SocketInputStream.implRead(Unknown Source)\n\tat java.base/java.net.Socket$SocketInputStream.read(Unknown Source)\n\tat org.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:192)\n\tat org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:159)\n\tat org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:144)\n\tat org.postgresql.core.VisibleBufferedInputStream.read(VisibleBufferedInputStream.java:76)\n\tat org.postgresql.core.PGStream.receiveChar(PGStream.java:477)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.enableSSL(ConnectionFactoryImpl.java:627)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:207)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:289)\n\t... 14 common frames omitted\n"}
{"timestamp":"2026-09-29T14:55:30.022Z","message":"HikariPool-2 - Pool is empty, failed to create/setup connection (42da0245-96d0-4957-a2b3-db400e32f80e)","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:connection-adder","level":"WARN","stack_trace":"org.postgresql.util.PSQLException: The connection attempt failed.\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:385)\n\tat org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:57)\n\tat org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:277)\n\tat org.postgresql.Driver.makeConnection(Driver.java:448)\n\tat org.postgresql.Driver.connect(Driver.java:298)\n\tat com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:139)\n\tat com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:368)\n\tat com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:205)\n\tat com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:483)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:747)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:726)\n\tat java.base/java.util.concurrent.FutureTask.run(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\nCaused by: java.net.SocketException: Connection reset\n\tat java.base/sun.nio.ch.NioSocketImpl.implRead(Unknown Source)\n\tat java.base/sun.nio.ch.NioSocketImpl.read(Unknown Source)\n\tat java.base/sun.nio.ch.NioSocketImpl$1.read(Unknown Source)\n\tat java.base/java.net.Socket$SocketInputStream.implRead(Unknown Source)\n\tat java.base/java.net.Socket$SocketInputStream.read(Unknown Source)\n\tat org.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:192)\n\tat org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:159)\n\tat org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:144)\n\tat org.postgresql.core.VisibleBufferedInputStream.read(VisibleBufferedInputStream.java:76)\n\tat org.postgresql.core.PGStream.receiveChar(PGStream.java:477)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.enableSSL(ConnectionFactoryImpl.java:627)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:207)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:289)\n\t... 14 common frames omitted\n"}
{"timestamp":"2026-09-29T14:56:35.069Z","message":"HikariPool-2 - Pool is empty, failed to create/setup connection (313ada00-4d3a-451b-af14-4f4e78e9e586)","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:connection-adder","level":"WARN","stack_trace":"org.postgresql.util.PSQLException: The connection attempt failed.\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:385)\n\tat org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:57)\n\tat org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:277)\n\tat org.postgresql.Driver.makeConnection(Driver.java:448)\n\tat org.postgresql.Driver.connect(Driver.java:298)\n\tat com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:139)\n\tat com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:368)\n\tat com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:205)\n\tat com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:483)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:747)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:726)\n\tat java.base/java.util.concurrent.FutureTask.run(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\nCaused by: java.net.SocketException: Connection reset\n\tat java.base/sun.nio.ch.NioSocketImpl.implRead(Unknown Source)\n\tat java.base/sun.nio.ch.NioSocketImpl.read(Unknown Source)\n\tat java.base/sun.nio.ch.NioSocketImpl$1.read(Unknown Source)\n\tat java.base/java.net.Socket$SocketInputStream.implRead(Unknown Source)\n\tat java.base/java.net.Socket$SocketInputStream.read(Unknown Source)\n\tat org.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:192)\n\tat org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:159)\n\tat org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:144)\n\tat org.postgresql.core.VisibleBufferedInputStream.read(VisibleBufferedInputStream.java:76)\n\tat org.postgresql.core.PGStream.receiveChar(PGStream.java:477)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.enableSSL(ConnectionFactoryImpl.java:627)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:207)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:289)\n\t... 14 common frames omitted\n"}
{"timestamp":"2026-09-29T14:57:40.107Z","message":"HikariPool-2 - Pool is empty, failed to create/setup connection (97b34ecf-90fe-4c41-8456-8525c52f2823)","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:connection-adder","level":"WARN","stack_trace":"org.postgresql.util.PSQLException: The connection attempt failed.\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:385)\n\tat org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:57)\n\tat org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:277)\n\tat org.postgresql.Driver.makeConnection(Driver.java:448)\n\tat org.postgresql.Driver.connect(Driver.java:298)\n\tat com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:139)\n\tat com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:368)\n\tat com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:205)\n\tat com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:483)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:747)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:726)\n\tat java.base/java.util.concurrent.FutureTask.run(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\nCaused by: java.net.SocketException: Connection reset\n\tat java.base/sun.nio.ch.NioSocketImpl.implRead(Unknown Source)\n\tat java.base/sun.nio.ch.NioSocketImpl.read(Unknown Source)\n\tat java.base/sun.nio.ch.NioSocketImpl$1.read(Unknown Source)\n\tat java.base/java.net.Socket$SocketInputStream.implRead(Unknown Source)\n\tat java.base/java.net.Socket$SocketInputStream.read(Unknown Source)\n\tat org.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:192)\n\tat org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:159)\n\tat org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:144)\n\tat org.postgresql.core.VisibleBufferedInputStream.read(VisibleBufferedInputStream.java:76)\n\tat org.postgresql.core.PGStream.receiveChar(PGStream.java:477)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.enableSSL(ConnectionFactoryImpl.java:627)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:207)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:289)\n\t... 14 common frames omitted\n"}
{"timestamp":"2026-09-29T14:58:45.141Z","message":"HikariPool-2 - Pool is empty, failed to create/setup connection (5b717a83-c873-4509-bd83-07825fed9e97)","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:connection-adder","level":"WARN","stack_trace":"org.postgresql.util.PSQLException: The connection attempt failed.\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:385)\n\tat org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:57)\n\tat org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:277)\n\tat org.postgresql.Driver.makeConnection(Driver.java:448)\n\tat org.postgresql.Driver.connect(Driver.java:298)\n\tat com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:139)\n\tat com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:368)\n\tat com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:205)\n\tat com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:483)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:747)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:726)\n\tat java.base/java.util.concurrent.FutureTask.run(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\nCaused by: java.net.SocketException: Connection reset\n\tat java.base/sun.nio.ch.NioSocketImpl.implRead(Unknown Source)\n\tat java.base/sun.nio.ch.NioSocketImpl.read(Unknown Source)\n\tat java.base/sun.nio.ch.NioSocketImpl$1.read(Unknown Source)\n\tat java.base/java.net.Socket$SocketInputStream.implRead(Unknown Source)\n\tat java.base/java.net.Socket$SocketInputStream.read(Unknown Source)\n\tat org.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:192)\n\tat org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:159)\n\tat org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:144)\n\tat org.postgresql.core.VisibleBufferedInputStream.read(VisibleBufferedInputStream.java:76)\n\tat org.postgresql.core.PGStream.receiveChar(PGStream.java:477)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.enableSSL(ConnectionFactoryImpl.java:627)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:207)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:289)\n\t... 14 common frames omitted\n"}
{"timestamp":"2026-09-29T14:59:50.198Z","message":"HikariPool-2 - Pool is empty, failed to create/setup connection (1ef9e66a-c0e3-4b9c-9204-809238a08d54)","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:connection-adder","level":"WARN","stack_trace":"org.postgresql.util.PSQLException: The connection attempt failed.\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:385)\n\tat org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:57)\n\tat org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:277)\n\tat org.postgresql.Driver.makeConnection(Driver.java:448)\n\tat org.postgresql.Driver.connect(Driver.java:298)\n\tat com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:139)\n\tat com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:368)\n\tat com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:205)\n\tat com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:483)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:747)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:726)\n\tat java.base/java.util.concurrent.FutureTask.run(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\nCaused by: java.net.SocketException: Connection reset\n\tat java.base/sun.nio.ch.NioSocketImpl.implRead(Unknown Source)\n\tat java.base/sun.nio.ch.NioSocketImpl.read(Unknown Source)\n\tat java.base/sun.nio.ch.NioSocketImpl$1.read(Unknown Source)\n\tat java.base/java.net.Socket$SocketInputStream.implRead(Unknown Source)\n\tat java.base/java.net.Socket$SocketInputStream.read(Unknown Source)\n\tat org.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:192)\n\tat org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:159)\n\tat org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:144)\n\tat org.postgresql.core.VisibleBufferedInputStream.read(VisibleBufferedInputStream.java:76)\n\tat org.postgresql.core.PGStream.receiveChar(PGStream.java:477)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.enableSSL(ConnectionFactoryImpl.java:627)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:207)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:289)\n\t... 14 common frames omitted\n"}
{"timestamp":"2026-09-29T15:00:55.246Z","message":"HikariPool-2 - Pool is empty, failed to create/setup connection (e709bfa5-ed8d-43b7-a02f-381037069802)","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:connection-adder","level":"WARN","stack_trace":"org.postgresql.util.PSQLException: The connection attempt failed.\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:385)\n\tat org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:57)\n\tat org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:277)\n\tat org.postgresql.Driver.makeConnection(Driver.java:448)\n\tat org.postgresql.Driver.connect(Driver.java:298)\n\tat com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:139)\n\tat com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:368)\n\tat com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:205)\n\tat com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:483)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:747)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:726)\n\tat java.base/java.util.concurrent.FutureTask.run(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\nCaused by: java.net.SocketException: Connection reset\n\tat java.base/sun.nio.ch.NioSocketImpl.implRead(Unknown Source)\n\tat java.base/sun.nio.ch.NioSocketImpl.read(Unknown Source)\n\tat java.base/sun.nio.ch.NioSocketImpl$1.read(Unknown Source)\n\tat java.base/java.net.Socket$SocketInputStream.implRead(Unknown Source)\n\tat java.base/java.net.Socket$SocketInputStream.read(Unknown Source)\n\tat org.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:192)\n\tat org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:159)\n\tat org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:144)\n\tat org.postgresql.core.VisibleBufferedInputStream.read(VisibleBufferedInputStream.java:76)\n\tat org.postgresql.core.PGStream.receiveChar(PGStream.java:477)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.enableSSL(ConnectionFactoryImpl.java:627)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:207)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:289)\n\t... 14 common frames omitted\n"}
{"timestamp":"2026-09-29T15:02:00.295Z","message":"HikariPool-2 - Pool is empty, failed to create/setup connection (ba6c1930-972f-4496-8ecc-d17c0599348e)","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:connection-adder","level":"WARN","stack_trace":"org.postgresql.util.PSQLException: The connection attempt failed.\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:385)\n\tat org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:57)\n\tat org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:277)\n\tat org.postgresql.Driver.makeConnection(Driver.java:448)\n\tat org.postgresql.Driver.connect(Driver.java:298)\n\tat com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:139)\n\tat com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:368)\n\tat com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:205)\n\tat com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:483)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:747)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:726)\n\tat java.base/java.util.concurrent.FutureTask.run(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\nCaused by: java.net.SocketException: Connection reset\n\tat java.base/sun.nio.ch.NioSocketImpl.implRead(Unknown Source)\n\tat java.base/sun.nio.ch.NioSocketImpl.read(Unknown Source)\n\tat java.base/sun.nio.ch.NioSocketImpl$1.read(Unknown Source)\n\tat java.base/java.net.Socket$SocketInputStream.implRead(Unknown Source)\n\tat java.base/java.net.Socket$SocketInputStream.read(Unknown Source)\n\tat org.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:192)\n\tat org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:159)\n\tat org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:144)\n\tat org.postgresql.core.VisibleBufferedInputStream.read(VisibleBufferedInputStream.java:76)\n\tat org.postgresql.core.PGStream.receiveChar(PGStream.java:477)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.enableSSL(ConnectionFactoryImpl.java:627)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:207)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:289)\n\t... 14 common frames omitted\n"}
{"timestamp":"2026-09-29T15:03:05.340Z","message":"HikariPool-2 - Pool is empty, failed to create/setup connection (5cdb6073-1412-487a-8b0d-0bf199c5f45f)","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:connection-adder","level":"WARN","stack_trace":"org.postgresql.util.PSQLException: The connection attempt failed.\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:385)\n\tat org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:57)\n\tat org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:277)\n\tat org.postgresql.Driver.makeConnection(Driver.java:448)\n\tat org.postgresql.Driver.connect(Driver.java:298)\n\tat com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:139)\n\tat com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:368)\n\tat com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:205)\n\tat com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:483)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:747)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:726)\n\tat java.base/java.util.concurrent.FutureTask.run(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\nCaused by: java.net.SocketException: Connection reset\n\tat java.base/sun.nio.ch.NioSocketImpl.implRead(Unknown Source)\n\tat java.base/sun.nio.ch.NioSocketImpl.read(Unknown Source)\n\tat java.base/sun.nio.ch.NioSocketImpl$1.read(Unknown Source)\n\tat java.base/java.net.Socket$SocketInputStream.implRead(Unknown Source)\n\tat java.base/java.net.Socket$SocketInputStream.read(Unknown Source)\n\tat org.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:192)\n\tat org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:159)\n\tat org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:144)\n\tat org.postgresql.core.VisibleBufferedInputStream.read(VisibleBufferedInputStream.java:76)\n\tat org.postgresql.core.PGStream.receiveChar(PGStream.java:477)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.enableSSL(ConnectionFactoryImpl.java:627)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:207)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:289)\n\t... 14 common frames omitted\n"}
{"timestamp":"2026-09-29T15:33:30.332Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@d9a42c0 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T15:33:39.940Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@6004d36b (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T15:34:13.102Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@79193a70 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T15:34:40.140Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@1fccb4ba (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T15:34:43.301Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@4e8a772b (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T15:35:11.563Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@70798ae0 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T15:35:16.426Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@74254923 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T15:38:04.814Z","message":"Получено сообщение в kafka: topic=sofr.bduiReport.cache, key=CACHE_RELOAD_KEY, partition=0, offset=948, value={}","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.kafka.consumer.KafkaConsumer","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.224Z","message":"DEFINITIONS: [CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3)]","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.ExMetaConfigurationService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.230Z","message":"REMOVE ROUTE: 3e984f3a-c72d-465b-8814-a17fc523b04a","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.231Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.231Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.231Z","message":"REMOVE ROUTE: 58ad3ae2-390d-42d7-b7f6-d311c02c476a","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.232Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.232Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.232Z","message":"REMOVE ROUTE: 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.232Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.232Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.232Z","message":"REMOVE ROUTE: 30a321c3-0019-41c1-918b-c5a146da53d3","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.233Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.233Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.256Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.256Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.261Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.261Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.271Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.272Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.277Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.277Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.286Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.286Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.290Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.291Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.295Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.295Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.302Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.302Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.307Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.307Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.313Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.317Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.323Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.323Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.328Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.328Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.332Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.332Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.336Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.337Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.341Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.342Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.347Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:44:49.347Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"9e1b6195-af6d-4981-951b-559a15c64264"}
{"timestamp":"2026-09-29T15:58:05.685Z","message":"Получено сообщение в kafka: topic=sofr.bduiReport.cache, key=CACHE_RELOAD_KEY, partition=0, offset=949, value={}","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.kafka.consumer.KafkaConsumer","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.008Z","message":"DEFINITIONS: [CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3)]","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.ExMetaConfigurationService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.009Z","message":"REMOVE ROUTE: 3e984f3a-c72d-465b-8814-a17fc523b04a","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.009Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.010Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.010Z","message":"REMOVE ROUTE: 58ad3ae2-390d-42d7-b7f6-d311c02c476a","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.011Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.011Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.012Z","message":"REMOVE ROUTE: 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.012Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.012Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.013Z","message":"REMOVE ROUTE: 30a321c3-0019-41c1-918b-c5a146da53d3","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.013Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.013Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.036Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.040Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.047Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.047Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.052Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.053Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.059Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.059Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.063Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.064Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.069Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.069Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.074Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.074Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.084Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.084Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.088Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.088Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.092Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.092Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.097Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.098Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.103Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.103Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.107Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.108Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.112Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.113Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.117Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.117Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.122Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:02:40.122Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"1edfb77c-209b-4bc4-9302-6128f899e16a"}
{"timestamp":"2026-09-29T16:12:14.306Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@16acace1 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T16:12:22.865Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@70236ca4 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T16:12:35.057Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@23e72239 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T16:13:03.124Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@35d3a326 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T16:13:05.813Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@571b134 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T16:13:15.162Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@2e34e5b1 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T16:13:18.546Z","message":"HikariPool-2 - Pool is empty, failed to create/setup connection (d9f028b5-771a-4e9c-b91d-72fc90d75ef7)","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:connection-adder","level":"WARN","stack_trace":"org.postgresql.util.PSQLException: FATAL: the database system is shutting down\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:777)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:234)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:289)\n\tat org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:57)\n\tat org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:277)\n\tat org.postgresql.Driver.makeConnection(Driver.java:448)\n\tat org.postgresql.Driver.connect(Driver.java:298)\n\tat com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:139)\n\tat com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:368)\n\tat com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:205)\n\tat com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:483)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:747)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:726)\n\tat java.base/java.util.concurrent.FutureTask.run(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\n"}
{"timestamp":"2026-09-29T16:14:23.670Z","message":"HikariPool-2 - Pool is empty, failed to create/setup connection (65d3de66-8cb4-40cc-ae37-a94c32b7bf5b)","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:connection-adder","level":"WARN","stack_trace":"org.postgresql.util.PSQLException: FATAL: the database system is shutting down\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:777)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:234)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:289)\n\tat org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:57)\n\tat org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:277)\n\tat org.postgresql.Driver.makeConnection(Driver.java:448)\n\tat org.postgresql.Driver.connect(Driver.java:298)\n\tat com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:139)\n\tat com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:368)\n\tat com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:205)\n\tat com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:483)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:747)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:726)\n\tat java.base/java.util.concurrent.FutureTask.run(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\n"}
{"timestamp":"2026-09-29T16:41:52.489Z","message":"Получено сообщение в kafka: topic=sofr.bduiReport.cache, key=CACHE_RELOAD_KEY, partition=0, offset=950, value={}","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.kafka.consumer.KafkaConsumer","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:42:51.243Z","message":"Не удалось получить метаданные для подключения: sofrpostgresift, Ошибка: PreparedStatementCallback; SQL [SELECT p.proname AS function_name\nFROM pg_proc p\nJOIN pg_namespace n ON p.pronamespace = n.oid\nWHERE n.nspname = ?\nORDER BY function_name;\n]; ERROR: could not open shared memory segment \"/PostgreSQL.3405504512\": No such file or directory\n  Position: 40","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.generation.ReportServiceImpl","thread_name":"http-nio-8080-exec-10","level":"ERROR","stack_trace":"org.springframework.dao.DataAccessResourceFailureException: PreparedStatementCallback; SQL [SELECT p.proname AS function_name\nFROM pg_proc p\nJOIN pg_namespace n ON p.pronamespace = n.oid\nWHERE n.nspname = ?\nORDER BY function_name;\n]; ERROR: could not open shared memory segment \"/PostgreSQL.3405504512\": No such file or directory\n  Position: 40\n\tat org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:121)\n\tat org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107)\n\tat org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:116)\n\tat org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1556)\n\tat org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:677)\n\tat org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:723)\n\tat org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:754)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.repository.ReportRepositoryImpl.getAllFunctionsInPackage(ReportRepositoryImpl.java:199)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.repository.ReportRepositoryImpl.getAllProceduresMetadata(ReportRepositoryImpl.java:177)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.generation.ReportServiceImpl.getAllProceduresMetadata(ReportServiceImpl.java:121)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.ReportFacade.getAllUiMetadata(ReportFacade.java:203)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.controller.ApiController.getAllReportsMetadata(ApiController.java:28)\n\tat java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)\n\tat java.base/java.lang.reflect.Method.invoke(Unknown Source)\n\tat org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)\n\tat org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191)\n\tat org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:986)\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:891)\n\tat org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\n\tat org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)\n\tat org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)\n\tat org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)\n\tat org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)\n\tat jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)\n\tat org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)\n\tat jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\n\tat org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.config.MdcHeaderFilter.doFilter(MdcHeaderFilter.java:33)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\n\tat org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\n\tat org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\n\tat org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:114)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\n\tat org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\n\tat org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)\n\tat org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\n\tat org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)\n\tat org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116)\n\tat org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\n\tat org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\n\tat org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:732)\n\tat org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)\n\tat org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)\n\tat org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\n\tat org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\n\tat org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1769)\n\tat org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\n\tat org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)\n\tat org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)\n\tat org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)\n\tat java.base/java.lang.Thread.run(Unknown Source)\nCaused by: org.postgresql.util.PSQLException: ERROR: could not open shared memory segment \"/PostgreSQL.3405504512\": No such file or directory\n  Position: 40\n\tat org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2734)\n\tat org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2421)\n\tat org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:372)\n\tat org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:518)\n\tat org.postgresql.jdbc.PgStatement.execute(PgStatement.java:435)\n\tat org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:196)\n\tat org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:139)\n\tat com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52)\n\tat com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java)\n\tat org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:732)\n\tat org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:658)\n\t... 63 common frames omitted\n","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:42:51.254Z","message":"Не удалось получить метаданные для подключения: sofrpostgresift, Ошибка: PreparedStatementCallback; uncategorized SQLException for SQL [SELECT p.proname AS function_name\nFROM pg_proc p\nJOIN pg_namespace n ON p.pronamespace = n.oid\nWHERE n.nspname = ?\nORDER BY function_name;\n]; SQL state [XX000]; error code [0]; ERROR: can't attach the same segment more than once\n  Position: 40","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.generation.ReportServiceImpl","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"ERROR","stack_trace":"org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [SELECT p.proname AS function_name\nFROM pg_proc p\nJOIN pg_namespace n ON p.pronamespace = n.oid\nWHERE n.nspname = ?\nORDER BY function_name;\n]; SQL state [XX000]; error code [0]; ERROR: can't attach the same segment more than once\n  Position: 40\n\tat org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1557)\n\tat org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:677)\n\tat org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:723)\n\tat org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:754)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.repository.ReportRepositoryImpl.getAllFunctionsInPackage(ReportRepositoryImpl.java:199)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.repository.ReportRepositoryImpl.getAllProceduresMetadata(ReportRepositoryImpl.java:177)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.generation.ReportServiceImpl.getAllProceduresMetadata(ReportServiceImpl.java:121)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.ExMetaConfigurationService.configureCamelExMeta(ExMetaConfigurationService.java:26)\n\tat ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.kafka.consumer.KafkaConsumer.reloadCamelContext(KafkaConsumer.java:130)\n\tat java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)\n\tat java.base/java.lang.reflect.Method.invoke(Unknown Source)\n\tat org.springframework.messaging.handler.invocation.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:169)\n\tat org.springframework.kafka.listener.adapter.KotlinAwareInvocableHandlerMethod.doInvoke(KotlinAwareInvocableHandlerMethod.java:45)\n\tat org.springframework.messaging.handler.invocation.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:119)\n\tat org.springframework.kafka.listener.adapter.HandlerAdapter.invoke(HandlerAdapter.java:78)\n\tat org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:475)\n\tat org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invoke(MessagingMessageListenerAdapter.java:421)\n\tat org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:85)\n\tat org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:50)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeOnMessage(KafkaMessageListenerContainer.java:2887)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeOnMessage(KafkaMessageListenerContainer.java:2865)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeRecordListener(KafkaMessageListenerContainer.java:2777)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeWithRecords(KafkaMessageListenerContainer.java:2614)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeRecordListener(KafkaMessageListenerContainer.java:2503)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeListener(KafkaMessageListenerContainer.java:2152)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeIfHaveRecords(KafkaMessageListenerContainer.java:1528)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.pollAndInvoke(KafkaMessageListenerContainer.java:1466)\n\tat org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.run(KafkaMessageListenerContainer.java:1335)\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\nCaused by: org.postgresql.util.PSQLException: ERROR: can't attach the same segment more than once\n  Position: 40\n\tat org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2734)\n\tat org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2421)\n\tat org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:372)\n\tat org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:518)\n\tat org.postgresql.jdbc.PgStatement.execute(PgStatement.java:435)\n\tat org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:196)\n\tat org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:139)\n\tat com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52)\n\tat com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java)\n\tat org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:732)\n\tat org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:658)\n\t... 28 common frames omitted\n","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:44:59.194Z","message":"HikariPool-2 - Pool is empty, failed to create/setup connection (2fa8ecf7-ab10-45ab-afb8-2f8e5b74b48b)","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:connection-adder","level":"WARN","stack_trace":"org.postgresql.util.PSQLException: FATAL: could not open shared memory segment \"/PostgreSQL.3405504512\": No such file or directory\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:777)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:234)\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:289)\n\tat org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:57)\n\tat org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:277)\n\tat org.postgresql.Driver.makeConnection(Driver.java:448)\n\tat org.postgresql.Driver.connect(Driver.java:298)\n\tat com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:139)\n\tat com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:368)\n\tat com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:205)\n\tat com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:483)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:747)\n\tat com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:726)\n\tat java.base/java.util.concurrent.FutureTask.run(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\n"}
{"timestamp":"2026-09-29T16:47:06.533Z","message":"DEFINITIONS: [CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3), CamelScriptDefinition(script=<route id=\"3e984f3a-c72d-465b-8814-a17fc523b04a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:3e984f3a-c72d-465b-8814-a17fc523b04a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setProperty name=\"dateMoex\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.dateMoex}_.*\" }, { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.dateMoex}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=3e984f3a-c72d-465b-8814-a17fc523b04a, routeUri=direct:3e984f3a-c72d-465b-8814-a17fc523b04a), CamelScriptDefinition(script=<route id=\"58ad3ae2-390d-42d7-b7f6-d311c02c476a\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader>  <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesForex\", \"fileMask\": \".*MB01347_CUX23_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then  { error: {  sharePath: .[].sharePath  } + (  [ .[]  | select(.isError)  | (.fileName)  | select(. != null)  ] | if length > 0 then  { searchPath: (join(\"&lt;br&gt;\")) }  else {}  end  ) }  else { files: [ .[] | .fileData | select(. != null) ] }  end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=58ad3ae2-390d-42d7-b7f6-d311c02c476a, routeUri=direct:58ad3ae2-390d-42d7-b7f6-d311c02c476a), CamelScriptDefinition(script=<route id=\"71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader><setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"dd.MM.yy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesFutures\", \"fileMask\": \".*${exchangeProperty.date}/.*f04_.*.csv\" }, { \"folder\": \"FORTSMICEX\", \"identity\": \"marketFilesOptions\", \"fileMask\": \".*${exchangeProperty.date}/.*o04_.*.csv\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then{ error: {sharePath: .[].sharePath} + ([ .[]| select(.isError)| (.fileName)| select(. != null)] | if length > 0 then{ searchPath: (join(\"&lt;br&gt;\")) }else {}end) }else { files: [ .[] | .fileData | select(. != null) ] }end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform> </route>, routeId=71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9, routeUri=direct:71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9), CamelScriptDefinition(script=<route id=\"30a321c3-0019-41c1-918b-c5a146da53d3\" xmlns=\"http://camel.apache.org/schema/spring\"> <from uri=\"direct:30a321c3-0019-41c1-918b-c5a146da53d3\"/> <setProperty name=\"originalBody\"> <simple>${body}</simple> </setProperty> <unmarshal> <json library=\"Jackson\"/> </unmarshal> <setHeader name=\"Content-Type\"> <constant>application/json</constant> </setHeader> <setProperty name=\"date\"> <groovy> def inFmt = java.time.format.DateTimeFormatter.ofPattern(\"yyyy-MM-dd\"); def outFmt = java.time.format.DateTimeFormatter.ofPattern(\"ddMMyy\"); return java.time.LocalDate.parse(request.body.reportDate, inFmt).format(outFmt); </groovy> </setProperty> <setBody> <simple> { \"searchList\": [ { \"folder\": \"moex\", \"identity\": \"marketFilesStocks\", \"fileMask\": \".*MC01347_SEM03_.*_${exchangeProperty.date}_.*\" } ] } </simple> </setBody> <toD uri=\"{{APP_FILE_SHARE_SERVICE_URL}}?throwExceptionOnFailure=false\"/> <setProperty name=\"httpStatus\"> <simple>${header.CamelHttpResponseCode}</simple> </setProperty> <choice> <when> <simple>${exchangeProperty.httpStatus} == 400</simple> <setBody> <simple> { \"errorCode\": \"ER_02\", \"errorMessage\": \"СОФР не смог сформировать отчет: на указанную дату нет биржевого файла ${jq(\".fileName | map(tostring) | join(\"&lt;br&gt;\")\")}\" } </simple> </setBody> <transform> <jq>{ \"errorDto\": . }</jq> </transform> <stop/> </when> </choice> <transform> <jq><![CDATA[ .files | group_by(.fileIdentity) | map( { key: .[0].fileIdentity, value: ( (if any(.[]; .isError) then { error: { sharePath: .[].sharePath } + ( [ .[] | select(.isError) | (.fileName) | select(. != null) ] | if length > 0 then { searchPath: (join(\"&lt;br&gt;\")) } else {} end ) } else { files: [ .[] | .fileData | select(. != null) ] } end) ) } ) | from_entries ]]></jq> </transform> <setBody> <simple> ${jq(\"(property(\"originalBody\") | fromjson) + .\")} </simple> </setBody> <transform> <jq>{ \"response\": ( . | tostring ) }</jq> </transform></route>, routeId=30a321c3-0019-41c1-918b-c5a146da53d3, routeUri=direct:30a321c3-0019-41c1-918b-c5a146da53d3)]","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.ExMetaConfigurationService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.533Z","message":"REMOVE ROUTE: 3e984f3a-c72d-465b-8814-a17fc523b04a","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.534Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.534Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.534Z","message":"REMOVE ROUTE: 58ad3ae2-390d-42d7-b7f6-d311c02c476a","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.535Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.535Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.535Z","message":"REMOVE ROUTE: 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.535Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.538Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.538Z","message":"REMOVE ROUTE: 30a321c3-0019-41c1-918b-c5a146da53d3","logger_name":"ru.rshbintech.itinvest.backoffice.sofrsubstittuted.rmk.reportservice.service.exmeta.camel.CamelConfigurerService","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"DEBUG","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.538Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.538Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.560Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.560Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.566Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.566Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.570Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.570Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.574Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.574Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.578Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.578Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.584Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.584Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.589Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.589Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.596Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.596Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.601Z","message":"Stopped 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.601Z","message":"Shutdown 3e984f3a-c72d-465b-8814-a17fc523b04a (direct://3e984f3a-c72d-465b-8814-a17fc523b04a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.616Z","message":"Stopped 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.616Z","message":"Shutdown 58ad3ae2-390d-42d7-b7f6-d311c02c476a (direct://58ad3ae2-390d-42d7-b7f6-d311c02c476a)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.621Z","message":"Stopped 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.621Z","message":"Shutdown 71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9 (direct://71f7e581-ca6c-4c76-aa5b-c9ef49ee68d9)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.626Z","message":"Stopped 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T16:47:06.627Z","message":"Shutdown 30a321c3-0019-41c1-918b-c5a146da53d3 (direct://30a321c3-0019-41c1-918b-c5a146da53d3)","logger_name":"org.apache.camel.impl.engine.AbstractCamelContext","thread_name":"org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1","level":"INFO","x-trace-id":"bc361185-b91b-4515-9d0a-1f1d98115dfe"}
{"timestamp":"2026-09-29T17:01:09.965Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@3a146b44 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T17:01:15.378Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@18ae28cc (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T17:01:29.578Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@275b32cb (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T17:01:29.883Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@1df35199 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T17:01:37.216Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@42a0c6aa (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T17:01:41.297Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@5f7e8729 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T17:01:44.106Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@58867ac6 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T17:02:21.730Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@1c5772ea (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T17:02:28.662Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@10c5263d (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
{"timestamp":"2026-09-29T17:02:38.481Z","message":"HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@5c99d31e (This connection has been closed.). Possibly consider using a shorter maxLifetime value.","logger_name":"com.zaxxer.hikari.pool.PoolBase","thread_name":"HikariPool-2:housekeeper","level":"WARN"}
dmitriev-aal@VDI-Dmitriev-A:~$