Skip to content

Commit 0fdbcff

Browse files
author
“寧々”
committed
Add password feature
1 parent 0e9445d commit 0fdbcff

File tree

4 files changed

+41
-11
lines changed

4 files changed

+41
-11
lines changed

ReservoirServer/AMQCommunicator.cs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,18 @@ public AMQCommunicator(string uri,string queue_name,string topic_name,string pla
3131
//Init will start communication
3232
public void Initialization()
3333
{
34+
string user = null, pass = null;
35+
if (GlobalConfig.AMQIsAuth != 0)
36+
{
37+
user = GlobalConfig.AMQUsername;
38+
pass = GlobalConfig.AMQPassword;
39+
}
40+
3441
Dispose();
35-
_sender = new SimpleQueueSender(queue_name, uri);
36-
_subscriber = new SimpleTopicSubscriber(topic_name, uri, "client_"+ platform_id, "consumer_"+ platform_id, null);
42+
_sender = new SimpleQueueSender(queue_name, uri, user, pass);
43+
_subscriber = new SimpleTopicSubscriber(topic_name, uri, "client_" + platform_id, "consumer_" + platform_id, null, user, pass);
3744
_subscriber.OnMessageReceived += _subscriber_OnMessageReceived;
45+
3846
}
3947

4048
public void SendQueue(string data)

ReservoirServer/Driver/SimpleAMQSamples.cs

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,16 @@ public class SimpleTopicPublisher : IDisposable
1717
private readonly ISession session;
1818
private readonly IMessageProducer producer;
1919
private bool isDisposed = false;
20+
2021

21-
public SimpleTopicPublisher(string topicName, string brokerUri)
22+
public SimpleTopicPublisher(string topicName, string brokerUri, string UserName, string PassWord)
2223
{
2324
this.topicName = topicName;
2425
this.connectionFactory = new ConnectionFactory(brokerUri);
25-
this.connection = this.connectionFactory.CreateConnection();
26+
if(UserName == null)
27+
this.connection = this.connectionFactory.CreateConnection();
28+
else
29+
this.connection = this.connectionFactory.CreateConnection(UserName,PassWord);
2630
this.connection.Start();
2731
this.session = connection.CreateSession();
2832
ActiveMQTopic topic = new ActiveMQTopic(topicName);
@@ -71,12 +75,17 @@ public class SimpleTopicSubscriber : IDisposable
7175
private bool isDisposed = false;
7276
public event MessageReceivedDelegate OnMessageReceived;
7377

74-
public SimpleTopicSubscriber(string topicName, string brokerUri, string clientId, string consumerId,string filter)
78+
79+
80+
public SimpleTopicSubscriber(string topicName, string brokerUri, string clientId, string consumerId,string filter, string UserName, string PassWord)
7581
{
7682
string ft = filter == null ? null : $"filter='{filter}'";
7783
this.topicName = topicName;
7884
this.connectionFactory = new ConnectionFactory(brokerUri);
79-
this.connection = this.connectionFactory.CreateConnection();
85+
if(UserName == null)
86+
this.connection = this.connectionFactory.CreateConnection();
87+
else
88+
this.connection = this.connectionFactory.CreateConnection(UserName,PassWord);
8089
this.connection.ClientId = clientId;
8190
this.connection.Start();
8291
this.session = connection.CreateSession();
@@ -122,11 +131,16 @@ public class SimpleQueueSender : IDisposable
122131
private readonly IMessageProducer producer;
123132
private string queue_name;
124133

125-
public SimpleQueueSender(string queueName, string brokerUri, AcknowledgementMode ackmode = AcknowledgementMode.AutoAcknowledge)
134+
135+
136+
public SimpleQueueSender(string queueName, string brokerUri,string UserName,string PassWord, AcknowledgementMode ackmode = AcknowledgementMode.AutoAcknowledge)
126137
{
127138
this.queue_name = queueName;
128139
factory = new ConnectionFactory(brokerUri);
129-
connection = factory.CreateConnection();
140+
if (UserName == null)
141+
connection = factory.CreateConnection();
142+
else
143+
connection = factory.CreateConnection(UserName, PassWord);
130144
this.connection.Start();
131145
session = connection.CreateSession(ackmode);
132146
ActiveMQQueue queue = new ActiveMQQueue(queueName);
@@ -168,11 +182,16 @@ public class SimpleQueueReciever : IDisposable
168182
private readonly IMessageConsumer consumer;
169183
public event MessageReceivedDelegate OnMessageReceived;
170184

171-
public SimpleQueueReciever(string queueName, string brokerUri, string clientId, string filter, AcknowledgementMode ackmode = AcknowledgementMode.AutoAcknowledge)
185+
186+
187+
public SimpleQueueReciever(string queueName, string brokerUri, string clientId, string filter, string UserName, string PassWord, AcknowledgementMode ackmode = AcknowledgementMode.AutoAcknowledge)
172188
{
173189
string ft = filter == null ? null : $"filter='{filter}'";
174190
connectionFactory = new ConnectionFactory(brokerUri);
175-
connection = connectionFactory.CreateConnection();
191+
if (UserName == null)
192+
connection = connectionFactory.CreateConnection();
193+
else
194+
connection = connectionFactory.CreateConnection(UserName, PassWord);
176195
connection.ClientId = clientId;
177196
connection.Start();
178197
session = connection.CreateSession(ackmode);

ReservoirServer/GlobalConfig.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ static class GlobalConfig
2222
public static byte ReporterMaxCoreUsage => (byte)ini.GetInteger("reporter", "maxcoreusage");
2323
public static int ReportInterval => ini.GetInteger("reporter", "reportinterval");
2424
public static string BoxServerCharset=> ini.GetValue("boxserver", "charset");
25+
public static int AMQIsAuth => ini.GetInteger("activemq", "isauth");
26+
public static string AMQUsername => ini.GetValue("activemq", "username");
27+
public static string AMQPassword => ini.GetValue("activemq", "password");
2528

2629
public static void ParseConfigFile(string fname)
2730
{

ReservoirServer/Program.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ namespace ReservoirServer
1616
class Program
1717
{
1818
//TODO: Log file, Safety(Encryption), JSON error catch, system service
19-
public static readonly string version = "1.09";
19+
public static readonly string version = "1.10";
2020

2121
#if DEBUG
2222
public static string VERSION => version + "a";

0 commit comments

Comments
 (0)