|
|
@ -1,19 +1,21 @@ |
|
|
|
package com.fr.design.env; |
|
|
|
package com.fr.design.env; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.fr.base.operator.common.CommonOperator; |
|
|
|
import com.fr.cluster.engine.rpc.remote.ClusterOperator; |
|
|
|
import com.fr.cluster.engine.rpc.remote.ClusterOperator; |
|
|
|
import com.fr.design.i18n.Toolkit; |
|
|
|
import com.fr.design.i18n.Toolkit; |
|
|
|
import com.fr.base.operator.common.CommonOperator; |
|
|
|
|
|
|
|
import com.fr.rpc.ExceptionHandler; |
|
|
|
import com.fr.rpc.ExceptionHandler; |
|
|
|
import com.fr.rpc.RPCInvokerExceptionInfo; |
|
|
|
import com.fr.rpc.RPCInvokerExceptionInfo; |
|
|
|
import com.fr.stable.AssistUtils; |
|
|
|
import com.fr.stable.AssistUtils; |
|
|
|
import com.fr.workspace.WorkContext; |
|
|
|
import com.fr.workspace.WorkContext; |
|
|
|
|
|
|
|
import com.fr.workspace.WorkRpcContext; |
|
|
|
import com.fr.workspace.Workspace; |
|
|
|
import com.fr.workspace.Workspace; |
|
|
|
import com.fr.workspace.connect.WorkspaceClient; |
|
|
|
import com.fr.workspace.connect.WorkspaceClient; |
|
|
|
import com.fr.workspace.connect.WorkspaceConnection; |
|
|
|
import com.fr.workspace.connect.WorkspaceConnection; |
|
|
|
import com.fr.workspace.connect.WorkspaceConnectionInfo; |
|
|
|
import com.fr.workspace.connect.WorkspaceConnectionInfo; |
|
|
|
import com.fr.workspace.server.authority.decision.DecisionOperator; |
|
|
|
import com.fr.workspace.engine.client.FineWorkspaceStubPool; |
|
|
|
import com.fr.workspace.engine.rpc.WorkspaceProxyPool; |
|
|
|
|
|
|
|
import com.fr.workspace.pool.WorkObjectPool; |
|
|
|
import com.fr.workspace.pool.WorkObjectPool; |
|
|
|
|
|
|
|
import com.fr.workspace.server.authority.decision.DecisionOperator; |
|
|
|
|
|
|
|
|
|
|
|
import javax.swing.SwingWorker; |
|
|
|
import javax.swing.SwingWorker; |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
@ -123,8 +125,8 @@ public class RemoteWorkspace implements Workspace { |
|
|
|
public <T> T get(Class<T> type, ExceptionHandler exceptionHandler){ |
|
|
|
public <T> T get(Class<T> type, ExceptionHandler exceptionHandler){ |
|
|
|
if(exceptionHandler != null) { |
|
|
|
if(exceptionHandler != null) { |
|
|
|
WorkObjectPool objectPool = client.getPool(); |
|
|
|
WorkObjectPool objectPool = client.getPool(); |
|
|
|
if (objectPool instanceof WorkspaceProxyPool) { |
|
|
|
if (objectPool instanceof FineWorkspaceStubPool) { |
|
|
|
return ((WorkspaceProxyPool) objectPool).get(type, exceptionHandler); |
|
|
|
return objectPool.get(type, exceptionHandler); |
|
|
|
}else { |
|
|
|
}else { |
|
|
|
return client.getPool().get(type); |
|
|
|
return client.getPool().get(type); |
|
|
|
} |
|
|
|
} |
|
|
@ -134,7 +136,11 @@ public class RemoteWorkspace implements Workspace { |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public void close() { |
|
|
|
public void close() { |
|
|
|
|
|
|
|
|
|
|
|
swingWorker.execute(); |
|
|
|
swingWorker.execute(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 关闭时移除上下文
|
|
|
|
|
|
|
|
WorkRpcContext.removeContext(client.getConnection()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|