2013-10-16 30 views
0

我的工作溝通,FreeSWITCH的兩個應用程序之間,我做了Java程序之後,如何分享共同的ID爲兩個通道在呼叫

ProcessBuilder processBuilder = new ProcessBuilder("/bin/bash", "-c", "cd /usr/local/freeswitch/bin && ./fs_cli -x \"originate loopback/1234/default &bridge(sofia/internal/1789)\""); 
processBuilder.start(); 

它的工作很好,我只是想運行同樣的程序更多的時間來測試系統的能力,所以如果我需要運行它更多的時間,我只是想分享一個共同的ID之間的通信溝通渠道,請建議一些方法,我們可以共享共同的變量,請幫我

回答

0

有一個類的工具可運行

class myRunnable implements Runnable 
{ 

    int commonId = 1234; // all threads have this same common id 
    public void run() 
    { 

     // do something with the common id 

     // all threads share this common code 
     ProcessBuilder processBuilder = new ProcessBuilder("/bin/bash", "-c", "cd /usr/local/freeswitch/bin && ./fs_cli -x \"originate loopback/1234/default &bridge(sofia/internal/1789)\""); 
     processBuilder.start(); 
    } 
} 

創建並啓動一個線程

int i=0,n=5; 
for(i=0;i<n;i++) new Thread(new myRunnable).start(); // this will fire off 5 threads 

因此你必須使用相同的通用ID 5個不同的過程。

+0

感謝您的回覆,我很抱歉它純粹是freeswitch-java相關的問題,所以我需要一個ESL客戶端方法來共享通道中的兩個通道之間的通用變量或ID,而不是進程的ID –