Как безопасно передавать конфигурацию отчета между двумя отдельными JAR-файлами в INET (механизм отчетов)?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как безопасно передавать конфигурацию отчета между двумя отдельными JAR-файлами в INET (механизм отчетов)?

Сообщение Anonymous »

Я работаю с корпоративной системой (многоэкземплярная система, т. е. каждый клиент имеет собственную базу данных со своим URL-адресом), где отчеты выполняются на одной JVM. Отчеты могут выполняться в течение нескольких минут, и несколько отчетов могут перекрываться, каждый из которых использует другую базу данных.
Вот подробная ситуация:
У меня есть два отдельных JAR-файла:
  • JAR A содержит методprocessData(String input), которому во время выполнения требуется некоторое значение конфигурации для преобразования поля базы данных, и он напрямую используется в файлах INET rpt.
  • JAR B отвечает за подготовку этой конфигурации. значение перед запуском отчета, поскольку этот jar-файл имеет соединение с БД.
Я не могу изменять сами отчеты, не могу добавлять параметры (поскольку в настоящее время параметры обрабатываются по-другому в базе кода) и не могу добавлять новые таблицы или представления для отчетов.
Отчеты выполняются, и у меня нет четкого привязки для начала или окончания выполнения отчета. Несколько отчетов могут выполняться одновременно, каждый из которых использует свою собственную базу данных.
Моя цель — сделать значение конфигурации (значение поступает из БД) доступным для метода в JAR A во время выполнения отчета и гарантировать, что:
  • Каждый отчет использует свою собственную конфигурацию, специфичную для базы данных.
  • Отчеты не мешают друг другу, если они выполняются одновременно.
  • Ни одно постоянное глобальное состояние не является общим для всех отчеты.
Мне известен ThreadLocal , но я не уверен, как механизм отчетов обрабатывает потоки внутри себя. Я не знаю, создает ли он рабочие потоки или повторно использует пул, и в документации это неясно.
При таком сценарии, каковы безопасные подходы к тому, чтобы сделать конфигурацию для каждого отчета доступной в двух отдельных JAR-файлах? Как я могу обеспечить изоляцию между перекрывающимися отчетами в разных базах данных, если я не могу контролировать жизненный цикл отчета?
Мне нужно решение, которое не требует изменения существующих отчетов и может обрабатывать несколько перекрывающихся отчетов в одной JVM.
Для справки INET: https://www.inetsoftware.de/en/i-net-clear-reports/

Подробнее здесь: https://stackoverflow.com/questions/798 ... -in-inet-r
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»