diff --git a/Common/Common.csproj b/Common/Common.csproj
index d760f782b..102aae1ed 100644
--- a/Common/Common.csproj
+++ b/Common/Common.csproj
@@ -42,6 +42,7 @@
+
diff --git a/Common/Const.cs b/Common/Const.cs
new file mode 100644
index 000000000..a67d74546
--- /dev/null
+++ b/Common/Const.cs
@@ -0,0 +1,12 @@
+///
+/// Copyright (c) 2023 Sensus Slovensko a.s.
+///
+using System;
+
+namespace Common
+{
+ public static class Const
+ {
+ public const string MySqlConnectTimeoutSec = "120";
+ }
+}
diff --git a/EventViewer/EViewerDB.cs b/EventViewer/EViewerDB.cs
index cc38ab846..c24819127 100644
--- a/EventViewer/EViewerDB.cs
+++ b/EventViewer/EViewerDB.cs
@@ -76,11 +76,17 @@ namespace EventViewer
if (createDB)
{
- return cfg.ExposeConfiguration(BuildSchemaCreate).BuildSessionFactory();
+ return cfg.ExposeConfiguration(BuildSchemaCreate)
+ .BuildConfiguration()
+ .SetProperty("hibernate.connection.connect_timeout", Const.MySqlConnectTimeoutSec)
+ .BuildSessionFactory();
}
else
{
- return cfg.ExposeConfiguration(BuildSchema).BuildSessionFactory();
+ return cfg.ExposeConfiguration(BuildSchema)
+ .BuildConfiguration()
+ .SetProperty("hibernate.connection.connect_timeout", Const.MySqlConnectTimeoutSec)
+ .BuildSessionFactory();
}
}
diff --git a/Results/DB.cs b/Results/DB.cs
index 0066f18ce..4507d12ba 100644
--- a/Results/DB.cs
+++ b/Results/DB.cs
@@ -78,11 +78,17 @@ namespace Results
if (createDB)
{
- return cfg.ExposeConfiguration(BuildSchemaCreate).BuildSessionFactory();
+ return cfg.ExposeConfiguration(BuildSchemaCreate)
+ .BuildConfiguration()
+ .SetProperty("hibernate.connection.connect_timeout", Common.Const.MySqlConnectTimeoutSec)
+ .BuildSessionFactory();
}
else
{
- return cfg.ExposeConfiguration(BuildSchema).BuildSessionFactory();
+ return cfg.ExposeConfiguration(BuildSchema)
+ .BuildConfiguration()
+ .SetProperty("hibernate.connection.connect_timeout", Common.Const.MySqlConnectTimeoutSec)
+ .BuildSessionFactory();
}
}
diff --git a/Results/DBase.cs b/Results/DBase.cs
index db9ffb07c..513e47cf2 100644
--- a/Results/DBase.cs
+++ b/Results/DBase.cs
@@ -40,6 +40,8 @@ namespace Results
.Database(MySQLConfiguration.Standard.ConnectionString(connectionString))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf())
.ExposeConfiguration(BuildSchema)
+ .BuildConfiguration()
+ .SetProperty("hibernate.connection.connect_timeout", Common.Const.MySqlConnectTimeoutSec)
.BuildSessionFactory();
}
diff --git a/ResultsParser/Program.cs b/ResultsParser/Program.cs
index 8ef444333..a01ea2f5e 100644
--- a/ResultsParser/Program.cs
+++ b/ResultsParser/Program.cs
@@ -31,6 +31,8 @@ namespace ResultsParser
.Database(MySQLConfiguration.Standard.ConnectionString(connStr))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf())
.ExposeConfiguration(BuildSchema)
+ .BuildConfiguration()
+ .SetProperty("hibernate.connection.connect_timeout", Common.Const.MySqlConnectTimeoutSec)
.BuildSessionFactory()
.OpenSession();
diff --git a/Statistics/Statistics.csproj b/Statistics/Statistics.csproj
index 5ae871b2a..a10775265 100644
--- a/Statistics/Statistics.csproj
+++ b/Statistics/Statistics.csproj
@@ -133,6 +133,10 @@
+
+ {c8939821-ba5c-4988-a3d0-bf53b74865c7}
+ Common
+
{9D0DCC88-DC81-47EB-9FDD-4C3907871BFB}
Results
diff --git a/Statistics/StatisticsDlg.cs b/Statistics/StatisticsDlg.cs
index 90bcd501b..83e12f29d 100644
--- a/Statistics/StatisticsDlg.cs
+++ b/Statistics/StatisticsDlg.cs
@@ -13,6 +13,7 @@ using NHibernate;
using FluentNHibernate;
using FluentNHibernate.Cfg;
using FluentNHibernate.Cfg.Db;
+using Common;
using Results;
using Results.Entities;
using Statistics.Resources;
@@ -98,6 +99,8 @@ namespace Statistics
.Database(MySQLConfiguration.Standard.ConnectionString(connStr))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf())
.ExposeConfiguration(BuildSchema)
+ .BuildConfiguration()
+ .SetProperty("hibernate.connection.connect_timeout", Const.MySqlConnectTimeoutSec)
.BuildSessionFactory();
}
catch (Exception)
diff --git a/TBF/DB.cs b/TBF/DB.cs
index bd92e1095..d7eb1aaab 100644
--- a/TBF/DB.cs
+++ b/TBF/DB.cs
@@ -11,6 +11,7 @@ using FluentNHibernate.Cfg.Db;
using Common;
using Events;
using TBF.Resources;
+using System.Collections.Generic;
namespace TBF
{
@@ -95,27 +96,35 @@ namespace TBF
/// NHibernate session factory (to create the database session 'SessionFactory')
///
/// A database session
- public static ISessionFactory CreateSessionFactory(Action mappings, Common.DBType dbType,
+ public static ISessionFactory CreateSessionFactory(Action mappings, DBType dbType,
string connectionString, bool createDB = false)
{
try
{
- FluentConfiguration cfg;
+ var buildSchema = createDB ? (Action)BuildSchemaCreate : (Action)BuildSchema;
switch (dbType)
{
default:
- case Common.DBType.MySql:
- cfg = Fluently.Configure().Database(MySQLConfiguration.Standard.ConnectionString(connectionString));
- break;
- case Common.DBType.SQLite:
- cfg = Fluently.Configure().Database(SQLiteConfiguration.Standard.UsingFile(connectionString));
- break;
+ case DBType.MySql:
+
+ return Fluently.Configure()
+ .Database(MySQLConfiguration.Standard.ConnectionString(connectionString))
+ .Mappings(mappings)
+ .ExposeConfiguration(buildSchema)
+ .BuildConfiguration()
+ .SetProperty("hibernate.connection.connect_timeout", Const.MySqlConnectTimeoutSec)
+ .BuildSessionFactory();
+
+ case DBType.SQLite:
+
+ return Fluently.Configure()
+ .Database(SQLiteConfiguration.Standard.UsingFile(connectionString))
+ .Mappings(mappings)
+ .ExposeConfiguration(buildSchema)
+ .BuildSessionFactory();
+
}
-
- var action = createDB ? (System.Action)BuildSchemaCreate : (System.Action)BuildSchema;
-
- return cfg.Mappings(mappings).ExposeConfiguration(action).BuildSessionFactory();
}
catch (Exception exc)
{
diff --git a/TBF/Properties/AssemblyInfo.cs b/TBF/Properties/AssemblyInfo.cs
index 0638d485a..896234f5a 100644
--- a/TBF/Properties/AssemblyInfo.cs
+++ b/TBF/Properties/AssemblyInfo.cs
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
-[assembly: AssemblyVersion("2.32.2039.0")]
-[assembly: AssemblyFileVersion("2.32.2039.0")]
+[assembly: AssemblyVersion("2.32.2050.0")]
+[assembly: AssemblyFileVersion("2.32.2050.0")]
diff --git a/TBF/Rig/Output/DB/ProductionTracing/Tracing.cs b/TBF/Rig/Output/DB/ProductionTracing/Tracing.cs
index 6728a1c8b..0d6c96120 100644
--- a/TBF/Rig/Output/DB/ProductionTracing/Tracing.cs
+++ b/TBF/Rig/Output/DB/ProductionTracing/Tracing.cs
@@ -6,6 +6,8 @@ using System.Collections.Generic;
using System.Linq;
using System.Net;
using log4net;
+using FluentNHibernate.Cfg;
+using FluentNHibernate.Cfg.Db;
using NHibernate;
using NHibernate.Criterion;
using Common;
@@ -117,20 +119,24 @@ namespace TBF.Rig.Output.DB.ProductionTracing
if (tracingCfg.DebugLevel == DebugMode.Normal)
{
/// Session factory is used to create database sessions
- sessionFactory = FluentNHibernate.Cfg.Fluently.Configure()
- .Database(FluentNHibernate.Cfg.Db.MySQLConfiguration.Standard.ConnectionString(tracingCfg.ConnStr))
- .Mappings(m => m.FluentMappings.AddFromAssemblyOf())
- .ExposeConfiguration(TracingDB.DB.BuildSchema)
- .BuildSessionFactory();
+ sessionFactory = Fluently.Configure()
+ .Database(MySQLConfiguration.Standard.ConnectionString(tracingCfg.ConnStr))
+ .Mappings(m => m.FluentMappings.AddFromAssemblyOf())
+ .ExposeConfiguration(TracingDB.DB.BuildSchema)
+ .BuildConfiguration()
+ .SetProperty("hibernate.connection.connect_timeout", Const.MySqlConnectTimeoutSec)
+ .BuildSessionFactory();
/// Session factory 2 is used to create the 2nd database sessions
if (!string.IsNullOrEmpty(tracingCfg.ConnStr2))
{
- sessionFactory2 = FluentNHibernate.Cfg.Fluently.Configure()
- .Database(FluentNHibernate.Cfg.Db.MySQLConfiguration.Standard.ConnectionString(tracingCfg.ConnStr2))
- .Mappings(m => m.FluentMappings.AddFromAssemblyOf())
- .ExposeConfiguration(TracingDB.DB.BuildSchema)
- .BuildSessionFactory();
+ sessionFactory2 = Fluently.Configure()
+ .Database(FluentNHibernate.Cfg.Db.MySQLConfiguration.Standard.ConnectionString(tracingCfg.ConnStr2))
+ .Mappings(m => m.FluentMappings.AddFromAssemblyOf())
+ .ExposeConfiguration(TracingDB.DB.BuildSchema)
+ .BuildConfiguration()
+ .SetProperty("hibernate.connection.connect_timeout", Const.MySqlConnectTimeoutSec)
+ .BuildSessionFactory();
}
/// Register this test bench in the tracing DB for approx. 2 weeks
diff --git a/TracingDB/DB.cs b/TracingDB/DB.cs
index 77c78edfb..5e36094bc 100644
--- a/TracingDB/DB.cs
+++ b/TracingDB/DB.cs
@@ -6,6 +6,7 @@ using NHibernate;
using NHibernate.Cfg;
using NHibernate.Tool.hbm2ddl;
using log4net;
+using Common;
using TracingDB.Entities;
namespace TracingDB
@@ -49,11 +50,17 @@ namespace TracingDB
if (createDB)
{
- return cfg.ExposeConfiguration(BuildSchemaCreate).BuildSessionFactory();
+ return cfg.ExposeConfiguration(BuildSchemaCreate)
+ .BuildConfiguration()
+ .SetProperty("hibernate.connection.connect_timeout", Const.MySqlConnectTimeoutSec)
+ .BuildSessionFactory();
}
else
{
- return cfg.ExposeConfiguration(BuildSchema).BuildSessionFactory();
+ return cfg.ExposeConfiguration(BuildSchema)
+ .BuildConfiguration()
+ .SetProperty("hibernate.connection.connect_timeout", Const.MySqlConnectTimeoutSec)
+ .BuildSessionFactory();
}
}
diff --git a/Users/DB.cs b/Users/DB.cs
index c217977f0..4e2b29ecf 100644
--- a/Users/DB.cs
+++ b/Users/DB.cs
@@ -72,11 +72,17 @@ namespace Users
if (createDB)
{
- return cfg.ExposeConfiguration(BuildSchemaCreate).BuildSessionFactory();
+ return cfg.ExposeConfiguration(BuildSchemaCreate)
+ .BuildConfiguration()
+ .SetProperty("hibernate.connection.connect_timeout", Const.MySqlConnectTimeoutSec)
+ .BuildSessionFactory();
}
else
{
- return cfg.ExposeConfiguration(BuildSchema).BuildSessionFactory();
+ return cfg.ExposeConfiguration(BuildSchema)
+ .BuildConfiguration()
+ .SetProperty("hibernate.connection.connect_timeout", Const.MySqlConnectTimeoutSec)
+ .BuildSessionFactory();
}
}