I'm getting the following exception thrown when executing the AfterPropertiesSet():
Not allowed to create destination
From Java guys I was given these:
pt-jndi-url: tibjmsnaming://tibjndi-pt.mycompany.com:12420
pt-project1-username: ticketsappsgreeks-ext
pt-project1-password: tickets41040
queue name: ALS.QA.tickets.TEST.QUEUE_CONNECTION
pt-project1-jndi-queue-connection-factory-name: ALS.PT.tickets.greeks.QCF.MS
I translated these into the following in the C# calls:
Uri : tibjndi-pt.mycompany.com:12420
User : ticketsappsgreeks-ext
Pwd : tickets41040
TargetHostName : tibjndi-pt.mycompany.com
Destination : ALS.QA.tickets.TEST.QUEUE_CONNECTION
Environment:
- Windows 10 Using
- VS 2017
- TIBCO.EMS.DLL 1.0.851.4
- Spring.Messaging.Ems 2.0.1
C# Code:
private readonly SimpleMessageListenerContainer listenerContainer = new SimpleMessageListenerContainer();
connectionFactory = new Spring.Messaging.Ems.Common.EmsConnectionFactory(Uri);
if (!string.IsNullOrEmpty(User))
{
connectionFactory.UserName = User;
Logger.Info($"User : {User}");
}
if (!string.IsNullOrEmpty(Pwd))
{
connectionFactory.UserPassword = Pwd;
Logger.Info($"Pwd : {Pwd}");
}
if (!string.IsNullOrEmpty(TargetHostName))
{
connectionFactory.TargetHostName = TargetHostName;
Logger.Info($"TargetHostName : {TargetHostName}");
}
connectionFactory.ClientID = "testClient1";
try
{
Logger.Debug($"Destination - {DestinationName}");
this.listenerContainer.ConnectionFactory = connectionFactory;
this.listenerContainer.DestinationName = DestinationName;
this.listenerContainer.ConcurrentConsumers = 1;
this.listenerContainer.PubSubDomain = false;
this.listenerContainer.MessageListener = new MessageListener(Logger);
this.listenerContainer.ExceptionListener = new ExceptionListener(Logger);
this.listenerContainer.MaxRecoveryTime = new TimeSpan(MaxRecoveryTimeInDays, 0, 0, 0);
this.listenerContainer.RecoveryInterval = new TimeSpan(0, 0, 0, 10, 0); // set to 10 Minutes
this.listenerContainer.AcceptMessagesWhileStopping = false;
this.listenerContainer.SessionAcknowledgeMode = AckMode;
this.listenerContainer.AfterPropertiesSet();
if (this.listenerContainer.IsRunning)
{
Logger.Debug("Listener IsRunning.");
}
}
catch (EMSException e)
{
Logger.Error($"EMSException : {e.Message}");
if (e.LinkedException != null)
{
Logger.Error($"EMSException Linked Exception error msg : {e.LinkedException.Message}");
}
}