Как расширить путь модуля во время выполнения

Обратитесь к django docs в непосредственно за выполнением пользовательского запроса . Укажите базу данных в вашем соединении, как показано ниже:

from django.db import connections
cursor = connections['db_alias'].cursor()
# Your code here...

И затем совершите использование

transaction.commit_unless_managed(using='db_alias')

4
задан Naman 17 January 2019 в 16:39
поделиться

1 ответ

Оказывается, я использовал неправильные параметры командной строки (я не знал, что не должен был использовать java -jar с модульными банками). Используя правильные команды, ответ @ Holger работал, за исключением того, что набор, переданный в Configuration.resolve, должен содержать все имена загружаемых модулей, что было достаточно легко исправить:

var path = Path.of("myjar.jar");
var cl = new URLClassLoader(new URL[]{path.toUri().toURL()});
var mf = ModuleFinder.of(path);
var cfg = Configuration.resolve(mf, List.of(ModuleLayer.boot().configuration()), mf, mf.findAll().stream().map(module -> module.descriptor().name()).collect(Collectors.toSet()));
var ml = ModuleLayer.defineModulesWithOneLoader(cfg, List.of(ModuleLayer.boot()), cl).layer();
var services = ServiceLoader.load(ml, MyService.class);
services.forEach(System.out::println);
0
ответ дан Anonymous 17 January 2019 в 16:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: