Java 无法将代理接收器绑定到RMI注册表

Java 无法将代理接收器绑定到RMI注册表,java,matlab,Java,Matlab,我正在尝试从java文件连接到matlab并执行一些操作。有时它工作正常,但有时在尝试从java连接到matlab时,我会遇到一个错误 我用来连接matlab的代码是 MatlabProxyFactoryOptions options = new MatlabProxyFactoryOptions.Builder() .setMatlabLocation("/usr/local/MATLAB/R2014a/bin/matlab") .build(); M

我正在尝试从java文件连接到matlab并执行一些操作。有时它工作正常,但有时在尝试从java连接到matlab时,我会遇到一个错误

我用来连接matlab的代码是

MatlabProxyFactoryOptions options = new MatlabProxyFactoryOptions.Builder()
        .setMatlabLocation("/usr/local/MATLAB/R2014a/bin/matlab")
            .build();

MatlabProxyFactory factory = new MatlabProxyFactory(options); //Create a proxy, which we will use to control MATLAB
MatlabProxy proxy = factory.getProxy();

proxy.eval("addpath SourceCode/Hipc/");
String executeThis = "run_BVD(" + upload2Bean.getUserImage2FileName() + ",1);";
proxy.eval(executeThis);
proxy.exit();

proxy.disconnect(); //Disconnect the proxy from MATLAB
错误是

matlabcontrol.MatlabConnectionException:无法将代理接收器绑定到RMI注册表
位于matlabcontrol.RemoteMatlabProxyFactory.requestProxy(RemoteMatlabProxyFactory.java:104)
位于matlabcontrol.RemoteMatlabProxyFactory.getProxy(RemoteMatlabProxyFactory.java:144)
位于matlabcontrol.MatlabProxyFactory.getProxy(MatlabProxyFactory.java:81)
在com.Daos.Upload2Dao.upload(Upload2Dao.java:43)
在com.ActionClasses.Upload2Action.execute上(Upload2Action.java:94)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:483)
在com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:440)
位于com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:279)
位于com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:242)
在com.opensymphony.xwork2.intercept.DefaultWorkflowIntercept.doIntercept(DefaultWorkflowIntercept.java:163)
在com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
位于com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
位于com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:249)
位于org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
在com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
位于com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
在com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept上(ConversionErrorInterceptor.java:122)
位于com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
在com.opensymphony.xwork2.interceptor.parameters-sinterceptor.doIntercept(parameters-sinterceptor.java:195)
在com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
位于com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
在com.opensymphony.xwork2.interceptor.parameters-sinterceptor.doIntercept(parameters-sinterceptor.java:195)
在com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
位于com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
在com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept上(StaticParametersInterceptor.java:148)
位于com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
位于org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:93)
位于com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
位于org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:306)
位于com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
在com.opensymphony.xwork2.interceptor.modeldriventerceptor.intercept(modeldriventerceptor.java:89)
位于com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
位于com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:128)
位于com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
位于org.apache.struts2.interceptor.ProfilingActivationInterceptor.interceptor(ProfilingActivationInterceptor.java:104)
位于com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
位于org.apache.struts2.interceptor.debug.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
位于com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
位于com.opensymphony.xwork2.interceptor.ChainingInterceptor.interceptor(ChainingInterceptor.java:126)
位于com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
位于com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
在com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
位于com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
位于com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:148)
位于com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
位于org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
位于com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
在com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept上(AliasInterceptor.java:128)
位于com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
在com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
位于com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
位于org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:306)
位于com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
在org.apache.struts上
final Long MATLAB_PROXY_TIMEOUT = 200000L;

  options = new MatlabProxyFactoryOptions.Builder()
               .setHidden(true)
               .setUsePreviouslyControlledSession(true)
               .setProxyTimeout(MATLAB_PROXY_TIMEOUT)
               .build(); 
  factory = new MatlabProxyFactory(options);  
  proxy = factory.getProxy(); // Create a proxy that controls MATLAB