powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Java в Oracle DB не перечитывает конфигурационный файл
4 сообщений из 4, страница 1 из 1
Java в Oracle DB не перечитывает конфигурационный файл
    #40076651
saneka_shrek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

в БД Оракл 19 есть java-класс, который ссылается на конфигурационный файл .properties в каталоге ОС.
При внесении изменений в этот конфигурационный файл поведение метода класса меняется неизвестным для меня образом.
Изменения не применяются очень долго или применяются сразу.

Подскажите, какой механизм работы? Как управлять этим?


java-класс был загружен в БД утилитой loadjava в виде скомпилированного jar-файла.
...
Рейтинг: 0 / 0
Java в Oracle DB не перечитывает конфигурационный файл
    #40076671
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
saneka_shrek

Подскажите, какой механизм работы?

Спросить у автора java-класса.
Или декомпилировать и попытаться разобраться самому по декомпилированной версии, что и как там происходить.

saneka_shrek

Изменения не применяются очень долго или применяются сразу.
...
Как управлять этим?

Семь бед - один reset
...
Рейтинг: 0 / 0
Java в Oracle DB не перечитывает конфигурационный файл
    #40076679
saneka_shrek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,

я склонялся к тому что это особенности СУБД. так как JVM встроена в СУБД, и она даже использует область PGA.
Возможно после вызова функции она кешируется и обновление произойдет только по какому то внутреннему триггеру

код класса могу предоставить

код класса
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
import org.apache.kafka.clients.CommonClientConfigs;
import org.apache.kafka.clients.producer.Callback;
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.clients.producer.RecordMetadata;
import org.apache.kafka.common.config.SaslConfigs;

import java.io.*;
import java.sql.Timestamp;
import java.util.Date;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.LogManager;
import java.util.logging.Logger;

public class KafkaProducerCustom {
    private static Properties props;
    private static KafkaProducer kafkaProducer;
    private final static String propFileName = "/u01/app/oracle/kafka/kafka.properties";
    private final static StringWriter errors = new StringWriter();


    static {
        try {

            FileInputStream fis = new FileInputStream(propFileName);
            if (fis != null) {
                props = new Properties();
                props.load(fis);
                props.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, "SASL_SSL");
                props.put(SaslConfigs.SASL_MECHANISM, "PLAIN");
				// остальные строки получения значений из файла конфига убрал
                kafkaProducer = new KafkaProducer(props);
                fis.close();
            } else {
                props = null;
                kafkaProducer = null;
            }
        } catch (Exception e) {
            e.printStackTrace(new PrintWriter(errors));
        }
    }

    public static String sendMessage(Object topicName, Object value) {

        final StringWriter errors = new StringWriter();

        Integer partition = props.getProperty("partition") == null ? null : Integer.valueOf(props.getProperty("partition"));

        ProducerRecord<Object, Object> record = partition == null ?
                new ProducerRecord<Object, Object>((String) topicName, value) :
                new ProducerRecord<Object, Object>((String) topicName, partition, value);

        try {
            kafkaProducer.send(record, new Callback() {
                @Override
                public void onCompletion(RecordMetadata recordMetadata, Exception e) {
                    if (enablelogger){
                        LOGGER.info("onCompletion() inside");
                    }
                    if (enablelogger && recordMetadata != null){
                        LOGGER.info("Logging the response");
                        LOGGER.info("Successfully received the details as: " +
                                "   Topic: " + recordMetadata.topic() +
                                "   Partition: " + recordMetadata.partition() +
                                "   Offset: " + recordMetadata.offset() +
                                "   Timestamp: " + new Date(new Timestamp(recordMetadata.timestamp()).getTime()));
                    }
                }
            }).get();

    
        } catch (Exception e) {
            e.printStackTrace(new PrintWriter(errors));
            return errors.toString();
        }
        return "";
    }

    public static void main(String[] args) {
        System.out.println(KafkaProducerCustom.sendMessage("", ""));
    }
}





reset чего вы имеете ввиду? БД перезагрузить?
...
Рейтинг: 0 / 0
Java в Oracle DB не перечитывает конфигурационный файл
    #40076694
Фотография stdio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
saneka_shrek
Leonid Kudryavtsev,

я склонялся к тому что это особенности СУБД. так как JVM встроена в СУБД, и она даже использует область PGA.
Возможно после вызова функции она кешируется и обновление произойдет только по какому то внутреннему триггеру
Горе от ума.
Кто кешируется? Область PGA?
Какому внутреннему триггеру? Это что такое?

Сделай тестовый пример и обратись в техподдержку.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Java в Oracle DB не перечитывает конфигурационный файл
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]