Package org.marketcetera.strategy
Class StrategyRpcClient
- java.lang.Object
-
- org.marketcetera.rpc.client.AbstractRpcClient<StrategyRpcServiceGrpc.StrategyRpcServiceBlockingStub,StrategyRpcServiceGrpc.StrategyRpcServiceStub,StrategyRpcClientParameters>
-
- org.marketcetera.strategy.StrategyRpcClient
-
- All Implemented Interfaces:
Closeable,AutoCloseable,BaseClient,RpcClient,StrategyClient
@Component @Scope("prototype") public class StrategyRpcClient extends AbstractRpcClient<StrategyRpcServiceGrpc.StrategyRpcServiceBlockingStub,StrategyRpcServiceGrpc.StrategyRpcServiceStub,StrategyRpcClientParameters> implements StrategyClientProvides an RPC Client for StrategyRpc services.- Since:
- $Release$
- Version:
- $Id$
- Author:
- Colin DuPlantis
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classStrategyRpcClient.FileUploadObserverObserves the file upload process.private classStrategyRpcClient.StrategyEventListenerProxyProvides an interface between trade message stream listeners and their handlers.
-
Field Summary
Fields Modifier and Type Field Description static org.marketcetera.util.ws.tags.AppIdAPP_IDThe client's application ID: the ID.static StringAPP_ID_NAMEThe client's application ID: the application name.static VersionInfoAPP_ID_VERSIONThe client's application ID: the version.private com.google.common.cache.LoadingCache<Object,BaseRpcUtil.AbstractClientListenerProxy<?,?,?>>listenerProxiesholds listener proxies keyed by the listenerprivate com.google.common.cache.Cache<String,BaseRpcUtil.AbstractClientListenerProxy<?,?,?>>listenerProxiesByIdholds report listeners by their idprivate StrategyInstanceFactorystrategyInstanceFactorycreates newStrategyInstanceobjectsprivate StrategyInstanceHolderstrategyInstanceHolderprovides access to the current strategy instanceprivate StrategyMessageFactorystrategyMessageFactorycreates newStrategyMessageobjectsprivate org.marketcetera.admin.UserFactoryuserFactorycreates newUserobjects
-
Constructor Summary
Constructors Modifier Constructor Description protectedStrategyRpcClient(StrategyRpcClientParameters inParameters)Create a new StrategyRpc instance.
-
Method Summary
-
Methods inherited from class org.marketcetera.rpc.client.AbstractRpcClient
addClientStatusListener, cancelHeartbeat, executeCall, getAsyncStub, getBlockingStub, getSessionId, isRunning, onHeartbeat, onStatusChange, removeClientStatusListener, scheduleHeartbeat, start, stop
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.marketcetera.core.BaseClient
addClientStatusListener, close, isRunning, removeClientStatusListener, start, stop
-
-
-
-
Field Detail
-
listenerProxiesById
private final com.google.common.cache.Cache<String,BaseRpcUtil.AbstractClientListenerProxy<?,?,?>> listenerProxiesById
holds report listeners by their id
-
listenerProxies
private final com.google.common.cache.LoadingCache<Object,BaseRpcUtil.AbstractClientListenerProxy<?,?,?>> listenerProxies
holds listener proxies keyed by the listener
-
strategyInstanceHolder
@Autowired(required=false) private StrategyInstanceHolder strategyInstanceHolder
provides access to the current strategy instance
-
strategyMessageFactory
@Autowired private StrategyMessageFactory strategyMessageFactory
creates newStrategyMessageobjects
-
strategyInstanceFactory
@Autowired private StrategyInstanceFactory strategyInstanceFactory
creates newStrategyInstanceobjects
-
userFactory
@Autowired private org.marketcetera.admin.UserFactory userFactory
creates newUserobjects
-
APP_ID_NAME
public static final String APP_ID_NAME
The client's application ID: the application name.- See Also:
- Constant Field Values
-
APP_ID_VERSION
public static final VersionInfo APP_ID_VERSION
The client's application ID: the version.
-
APP_ID
public static final org.marketcetera.util.ws.tags.AppId APP_ID
The client's application ID: the ID.
-
-
Constructor Detail
-
StrategyRpcClient
protected StrategyRpcClient(StrategyRpcClientParameters inParameters)
Create a new StrategyRpc instance.- Parameters:
inParameters- aStrategyRpcClientParametersvalue
-
-
Method Detail
-
findByName
public Optional<? extends StrategyInstance> findByName(String inName)
- Specified by:
findByNamein interfaceStrategyClient
-
getStrategyInstances
public Collection<? extends StrategyInstance> getStrategyInstances()
- Specified by:
getStrategyInstancesin interfaceStrategyClient
-
getStrategyMessages
public CollectionPageResponse<? extends StrategyMessage> getStrategyMessages(String inStrategyName, INotification.Severity inSeverity, PageRequest inPageRequest)
- Specified by:
getStrategyMessagesin interfaceStrategyClient
-
unloadStrategyInstance
public void unloadStrategyInstance(String inStrategyInstanceName)
- Specified by:
unloadStrategyInstancein interfaceStrategyClient
-
loadStrategyInstance
public StrategyStatus loadStrategyInstance(StrategyInstance inStrategyInstance)
- Specified by:
loadStrategyInstancein interfaceStrategyClient
-
startStrategyInstance
public void startStrategyInstance(String inStrategyInstanceName)
- Specified by:
startStrategyInstancein interfaceStrategyClient
-
stopStrategyInstance
public void stopStrategyInstance(String inStrategyInstanceName)
- Specified by:
stopStrategyInstancein interfaceStrategyClient
-
uploadFile
public void uploadFile(FileUploadRequest inRequest) throws IOException, NoSuchAlgorithmException
- Specified by:
uploadFilein interfaceStrategyClient- Throws:
IOExceptionNoSuchAlgorithmException
-
addStrategyEventListener
public void addStrategyEventListener(StrategyEventListener inListener)
- Specified by:
addStrategyEventListenerin interfaceStrategyClient
-
removeStrategyEventListener
public void removeStrategyEventListener(StrategyEventListener inListener)
- Specified by:
removeStrategyEventListenerin interfaceStrategyClient
-
emitMessage
public void emitMessage(INotification.Severity inSeverity, String inMessage)
- Specified by:
emitMessagein interfaceStrategyClient
-
deleteStrategyMessage
public void deleteStrategyMessage(long inStrategyMessageId)
- Specified by:
deleteStrategyMessagein interfaceStrategyClient
-
deleteAllStrategyMessages
public void deleteAllStrategyMessages(String inStrategyInstanceName)
- Specified by:
deleteAllStrategyMessagesin interfaceStrategyClient
-
getBlockingStub
protected StrategyRpcServiceGrpc.StrategyRpcServiceBlockingStub getBlockingStub(io.grpc.Channel inChannel)
-
getAsyncStub
protected StrategyRpcServiceGrpc.StrategyRpcServiceStub getAsyncStub(io.grpc.Channel inChannel)
-
executeLogin
protected BaseRpc.LoginResponse executeLogin(BaseRpc.LoginRequest inRequest)
-
executeLogout
protected BaseRpc.LogoutResponse executeLogout(BaseRpc.LogoutRequest inRequest)
-
executeHeartbeat
protected BaseRpc.HeartbeatResponse executeHeartbeat(BaseRpc.HeartbeatRequest inRequest)
-
getAppId
protected org.marketcetera.util.ws.tags.AppId getAppId()
-
getVersionInfo
protected VersionInfo getVersionInfo()
-
getListenerFor
private BaseRpcUtil.AbstractClientListenerProxy<?,?,?> getListenerFor(Object inListener)
Creates the appropriate proxy for the given listener.- Parameters:
inListener- anObjectvalue- Returns:
- an
AbstractListenerProxy<?,?,?>value
-
-