2016-10-02 4 views
0

新しい仮想マシンの作成方法を呼び出す必要があります。私はUUID以外のすべてを持っています。メソッドを呼び出すための引数に、ランダムに生成されたUUIDを挿入するにはどうすればよいですか?引数JavaサーブレットのUUID Libvirt

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // TODO Auto-generated method stub 


    response.getWriter().append("Served at: ").append(request.getContextPath()); 

    createVM("test",,20000,2,"/home/jur/Downloads/debian-8.6.0-amd64-netinst.iso"); 
} 


    public boolean createVM(String vmName, 
      UUID vmUuid, 
      long vmMemory, 
      int vmCpu, 
      String vmImage) { 
String template; 

Connect conn; 

try { 
System.out.println("Connecting to local hypervisor"); 
conn = new Connect("qemu:///system"); 

System.out.println("Creating template"); 
vmUuid = UUID.randomUUID(); 
template = TEMPLATE; 
template = template.replace("$vmName", vmName); 
template = template.replace("$vmMemory", String.valueOf(vmMemory)); 
template = template.replace("$vmCpu", String.valueOf(vmCpu)); 
template = template.replace("$vmImage", vmImage); 
template = template.replace("$vmUuid", vmUuid.toString()); 

System.out.println("Resulting template: \n" + template); 
System.out.println("Creating VM"); 
Domain domain = conn.domainCreateXML(template, 0); 

conn.close(); 
} catch (LibvirtException e) { 
e.printStackTrace(); 
return false; 
} 

return true; 
} 
+0

メソッド内でランダムな値( 'vmUuid = UUID.randomUUID();')に再割り当てする場合、なぜあなたのメソッドシグネチャにuuidが必要ですか? –

+0

'createVM(" test "、UUID.randomUUID()、20000,2、"/home/jur/Downloads/debian-8.6.0-amd64-netinst.iso ");'あなたのメソッドで上書きしていますとにかくUUID? –

答えて

1

これは動作します:

createVM("test",UUID.randomUUID(),20000,2,"/home/jur/Downloa‌​ds/debian-8.6.0-amd6‌​4-netinst.iso"); 
をしかし、あなたのメソッド内 vmUuid = UUID.randomUUID();ラインフォームを除外するようにしてください。