簡體   English   中英

我的Java程序如何能夠連續使用MATLAB,而不必每次都建立連接?

[英]How can my Java program use MATLAB continuously without having to establish a connection everytime?

我有一個通過matlabcontrol.jar包在Java Eclipse項目上運行的MATLAB腳本。

我有以下設置

MatlabProxyFactoryOptions options = new MatlabProxyFactoryOptions.Builder()
            .setUsePreviouslyControlledSession(true)
            .setHidden(true)
            .setMatlabLocation(null).build();

MatlabProxyFactory factory = new MatlabProxyFactory(options);

MatlabProxy proxy = factory.getProxy();

//some code invoking the proxy.eval() method

問題是我在仿真的運行過程中使MATLAB腳本多次運行。 如何使Java不必每次都想使用MATLAB函數重新與MATLAB連接?

任何幫助,將不勝感激。

謝謝!

我不是JAVA的專家,所以我將用簡單的詞來介紹我的解決方案,您可以將其翻譯為JAVA world。 :)

  1. 創建一個JAVA單例類,該類負責處理連接。
  2. 提供指向單例對象的公共靜態只讀屬性。
  3. 現在使用單例對象調用MATLAB函數。

例如:

public class MATLABConnector
{
      private MATLABConnector con=new MATLABConnector();
      MatlabProxyFactoryOptions options = new MatlabProxyFactoryOptions.Builder()
        .setUsePreviouslyControlledSession(true)
        .setHidden(true)
        .setMatlabLocation(null).build();

      MatlabProxyFactory factory = new MatlabProxyFactory(options);

      private MATLABConnector() 
      {
            // Do basic initializations.
      }        

      private boolean checkConnecionStatus();
      private boolean establishConnection();
      public static MATLABProxy getProxy()
         {
              if(!con.checkConnectionStatus())
                    con.establishConnection();
              return con.factory.getProxy();
         }
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM