使用 Libvirt Java API 连接到 Qemu
问题陈述:
创建到 Qemu 的连接。通过 call-conn1 = new Connect("qemu+ssh://login_name@IP/system", false) 完成。这是在一个类 (connect.java) 中完成的。
在上述计算机上的 IP 上创建新虚拟机。通过另一个类 (create.java) 中的函数调用 create() 完成
怀疑: 1.当我运行上面的程序时,每次我想创建一个虚拟机,我都必须创建一个 connect.java 对象。有没有什么方法可以让我只与 Qemu 建立一个连接,并在其上运行的虚拟机上继续我的操作(create.suspend)?每当用户想要创建/挂起虚拟机时,我都会使用 Swing 创建 UI。
Problem statement:
Create a connection to Qemu. Done by the call-conn1 = new Connect("qemu+ssh://login_name@IP/system", false). This is done in one class (connect.java).
Create new VMs on the above machine at the IP. Done by the function call create() in ANOTHER class (create.java)
Doubt:
1. When I run the above program, every time I want to create a VM, I have to create an object of connect.java . Is there any way I could make just ONE connection to Qemu and proceed with my operations (create.suspend) on the VMs running on it? I'm using Swing to create the UI everytime the user wants to create/suspend a VM.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为了解决这个问题,我所要做的就是创建一个连接到 KVM/Xen Hypervisor 的全局连接变量,并将其传递给我在此类中调用的 Swing 应用程序。我发现的一件重要的事情是,默认情况下,使用 Libvirt 只能与任何虚拟机管理程序建立 20 个连接。因此是全局变量。
All I had to do to solve this was to create a Global connect variable which connected to the KVM/Xen Hypervisor and pass it to the Swing application I was calling inside this class. One important thing which I'd found out was by default, only 20 connections could ba made to any hypervisor using Libvirt. hence the global variable.