diff --git a/Quanter.Persistence/PersistenceActor.cs b/Quanter.Persistence/PersistenceActor.cs
index ae068d5..ceacfda 100644
--- a/Quanter.Persistence/PersistenceActor.cs
+++ b/Quanter.Persistence/PersistenceActor.cs
@@ -31,41 +31,49 @@ public PersistenceActor()
protected override void OnReceive(object message)
{
- PersistenceRequest pr = message as PersistenceRequest;
- if(pr != null)
- {
- switch(pr.Type)
+ try {
+ PersistenceRequest pr = message as PersistenceRequest;
+ if (pr != null)
{
- case PersistenceType.INIT_DATABASE:
- _createTables();
- break;
- case PersistenceType.OPEN:
- _log.Debug("初始化,并打开Session");
- _init();
- _openSession();
- break;
- case PersistenceType.SAVE:
- _save(pr.Body);
- break;
- case PersistenceType.LOAD:
- //_load((int)pr.Body);
- break;
- case PersistenceType.UPDATE:
- _update(pr.Body);
- break;
- case PersistenceType.LIST:
- _list((String)pr.Body);
- break;
- case PersistenceType.FIND:
- _find((String)pr.Body);
- break;
- case PersistenceType.CLOSE:
- _log.Debug("关闭Session");
- // _closeSession();
- break;
- default:
- break;
+ switch (pr.Type)
+ {
+ case PersistenceType.INIT_DATABASE:
+ _createTables();
+ break;
+ case PersistenceType.OPEN:
+ _log.Debug("初始化,并打开Session");
+ _init();
+ _openSession();
+ break;
+ case PersistenceType.SAVE:
+ _save(pr.Body);
+ break;
+ case PersistenceType.LOAD:
+ //_load((int)pr.Body);
+ break;
+ case PersistenceType.DELETE:
+ _delete(pr.Body);
+ break;
+ case PersistenceType.UPDATE:
+ _update(pr.Body);
+ break;
+ case PersistenceType.LIST:
+ _list((String)pr.Body);
+ break;
+ case PersistenceType.FIND:
+ _find((String)pr.Body);
+ break;
+ case PersistenceType.CLOSE:
+ _log.Debug("关闭Session");
+ // _closeSession();
+ break;
+ default:
+ break;
+ }
}
+ } catch (Exception e)
+ {
+ _log.Error("PersistenceActor.OnReceive 发生异常: {0}", e.StackTrace);
}
}
@@ -103,8 +111,8 @@ private void _save(Object obj)
_log.Debug("保存对象 {0}", obj.GetType().ToString());
try {
session.Save(obj);
+ session.Flush();
Sender.Tell(obj);
-
} catch (Exception e)
{
_log.Error("保存发生异常 {0}", e.StackTrace);
@@ -115,6 +123,8 @@ private void _update(Object obj)
{
_log.Debug("更新对象 {0}", obj.GetType().ToString());
session.Update(obj);
+ session.Flush();
+ Sender.Tell(obj);
}
private void _delete(Type theType, int id)
@@ -126,6 +136,7 @@ private void _delete(Type theType, int id)
private void _delete(Object obj)
{
session.Delete(obj);
+ session.Flush();
}
private void _load(Type theType, int id)
diff --git a/Quanter.Persistence/Quanter.Persistence.Server.csproj b/Quanter.Persistence/Quanter.Persistence.Server.csproj
index 5a90aca..859a488 100644
--- a/Quanter.Persistence/Quanter.Persistence.Server.csproj
+++ b/Quanter.Persistence/Quanter.Persistence.Server.csproj
@@ -32,8 +32,8 @@
4
-
- ..\packages\Akka.1.0.5\lib\net45\Akka.dll
+
+ ..\..\quanter.private\packages\Akka.1.0.6\lib\net45\Akka.dll
True
diff --git a/Quanter.Persistence/packages.config b/Quanter.Persistence/packages.config
index 35b5cef..a4850bf 100644
--- a/Quanter.Persistence/packages.config
+++ b/Quanter.Persistence/packages.config
@@ -1,6 +1,6 @@
-
+
diff --git a/Quanter.Trader.Messages/Constants.cs b/Quanter.Trader.Messages/Constants.cs
index 3b93db5..77a1fb3 100644
--- a/Quanter.Trader.Messages/Constants.cs
+++ b/Quanter.Trader.Messages/Constants.cs
@@ -8,6 +8,7 @@ namespace Quanter.Trader.Messages
{
public class ConstantsHelper
{
+ public static String AKKA_PATH_SERVER = "server";
public static String AKKA_PATH_STRATEGY_MANAGER = "strategy";
public static String AKKA_PATH_MARKET_MANAGER = "market";
public static String AKKA_PATH_PERSISTENCE = "persistence";
diff --git a/Quanter.Trader.Messages/MarketMessages.cs b/Quanter.Trader.Messages/MarketMessages.cs
index 2d74241..6b117d4 100644
--- a/Quanter.Trader.Messages/MarketMessages.cs
+++ b/Quanter.Trader.Messages/MarketMessages.cs
@@ -23,13 +23,17 @@ public class MarketRequest
{
public enum RequestType
{
+ INIT,
START,
STOP,
+ ADD_SECURITIES,
ADD_STRATEGY,
REMOVE_STARTEGY,
}
public RequestType Type { get; set; }
+
+ public Object Body { get; set; }
}
public class StopMarketRequest
diff --git a/Quanter.Trader.Messages/Quanter.Trader.Messages.csproj b/Quanter.Trader.Messages/Quanter.Trader.Messages.csproj
index 8a619d4..bcde391 100644
--- a/Quanter.Trader.Messages/Quanter.Trader.Messages.csproj
+++ b/Quanter.Trader.Messages/Quanter.Trader.Messages.csproj
@@ -30,8 +30,8 @@
4
-
- ..\packages\Akka.1.0.5\lib\net45\Akka.dll
+
+ ..\..\quanter.private\packages\Akka.1.0.6\lib\net45\Akka.dll
True
diff --git a/Quanter.Trader.Messages/TradeMessages.cs b/Quanter.Trader.Messages/TradeMessages.cs
index 67dc555..53418b0 100644
--- a/Quanter.Trader.Messages/TradeMessages.cs
+++ b/Quanter.Trader.Messages/TradeMessages.cs
@@ -58,6 +58,15 @@ public class Order
public class TradeRequest
{
+ public enum RequestType
+ {
+ INIT,
+ BUY,
+ SELL,
+ }
+
+ public RequestType Type { get; set; }
+
public OrderType OrderType { get; set; }
public TradeInterface TradeInterface { get; set; }
@@ -72,4 +81,16 @@ public class TradeResponse
public int EntrustNo { get; set; }
public String Message { get; set; }
}
+
+ public class TradeManagerRequest
+ {
+ public enum RequestType
+ {
+ INIT,
+ }
+
+ public RequestType Type { get; set; }
+ public Object Body { get; set; }
+ }
+
}
diff --git a/Quanter.Trader.Messages/packages.config b/Quanter.Trader.Messages/packages.config
index 0934726..f4b0d4d 100644
--- a/Quanter.Trader.Messages/packages.config
+++ b/Quanter.Trader.Messages/packages.config
@@ -1,6 +1,6 @@
-
+