Подключение к Qemu с помощью Libvirt Java API

Постановка задачи:

  1. Создайте подключение к Qemu. Выполняется вызовом call-conn1 = new Connect("qemu+ssh://login_name@IP/system", false). Это делается в одном классе (connect.java).

  2. Создайте новые виртуальные машины на указанной выше машине по IP-адресу. Выполняется вызовом функции create() в ДРУГОМ классе (create.java)

Сомнение: 1. Когда я запускаю указанную выше программу, каждый раз, когда я хочу создать виртуальную машину, мне приходится создавать объект connect.java. Могу ли я каким-либо образом установить только ОДНО подключение к Qemu и продолжить свои операции (create.suspend) на работающих на нем виртуальных машинах? Я использую Swing для создания пользовательского интерфейса каждый раз, когда пользователь хочет создать/приостановить виртуальную машину.


person P R    schedule 07.08.2011    source источник
comment
Я не могу дать ответ относительно того, нужно ли вам создавать новый объект connect.java, поскольку я не знаком с этим классом, но я могу сказать, что не должно быть необходимости создавать новый объект Swing GUI, если он закодирован правильно. Сказав это, я не понимаю, как Swing действительно связан с вашей основной проблемой.   -  person Hovercraft Full Of Eels    schedule 07.08.2011
comment
@Hovercraft, полный угрей: Спасибо! Я получил ответ на свой вопрос. Я опубликую код, как только протестирую его!   -  person P R    schedule 07.08.2011
comment
здорово. Я с нетерпением жду вашего ответа.   -  person Hovercraft Full Of Eels    schedule 07.08.2011
comment
@P Рамеш: ты добился успеха? Какой код показать?   -  person kanaka    schedule 12.11.2011
comment
@kanaka- Эй, я обновил свой ответ ниже. поскольку мой код является частью большого проекта, я воздержался от публикации кода как такового, но я объяснил метод ниже.   -  person P R    schedule 24.01.2012


Ответы (1)


Все, что мне нужно было сделать, чтобы решить эту проблему, — это создать глобальную переменную подключения, которая подключалась к гипервизору KVM/Xen, и передать ее приложению Swing, которое я вызывал внутри этого класса. Одна важная вещь, которую я обнаружил, заключалась в том, что по умолчанию к любому гипервизору, использующему Libvirt, можно было установить только 20 подключений. следовательно, глобальная переменная.

person P R    schedule 13.11.2011