You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pulsar.apache.org by GitBox <gi...@apache.org> on 2022/10/11 10:32:48 UTC
[GitHub] [pulsar] amareshmad edited a discussion: Dot Pulsar consumer Issue :DotPulsar.Exceptions.ChannelNotReadyException: The channnel is not ready yet
GitHub user amareshmad edited a discussion: Dot Pulsar consumer Issue :DotPulsar.Exceptions.ChannelNotReadyException: The channnel is not ready yet
**When I create .NET framework/.net core console app, I could be able to create a client and able to create consumer and receiving the messages as well but when I integrate it into my actual project it is not building the consumer **
For the first time from console got the issue DotPulsar.Exceptions.ChannelNotReadyException: The channnel is not ready yet later it is not generated, created the consumer and able consume messages
when I integrated same code with my actual project which supposed to create consumer, it is not creating the client consumer.
I always getting the exceptin DotPulsar.Exceptions.ChannelNotReadyException: The channnel is not ready yet
DotPulsar.Exceptions.ChannelNotReadyException: The channnel is not ready yet
at DotPulsar.Internal.NotReadyChannel`1.Receive(CancellationToken cancellationToken)
at DotPulsar.Internal.Consumer`1.<ReceiveMessage>d__24.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Threading.Tasks.ValueTask`1.get_Result()
at System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.GetResult()
at DotPulsar.Internal.Executor.<Execute>d__9`1.MoveNext()
More info
both test app & actual product code are running in same machine.
.Net framework :4.8
Installed .net core sdk 6.0
async Task TestConsumer(){
const string myTopic = "global.qa.xxxxRequestV1.Queue";
string SERVICE_URL = "pulsar+ssl://xxxxx.xxxx.com:6651";
string username = "xxxxxxx";
string password = "xxxxxxxx";
Uri sURl = new(SERVICE_URL);
Console.WriteLine($"Build consumer client.....");
ExceptionHandler pException = new ExceptionHandler();
await using var client = PulsarClient.Builder()
.Authentication(new AuthenticationBasic(username, password))
.ServiceUrl(sURl)
.VerifyCertificateName(false)
.VerifyCertificateAuthority(false)
.ExceptionHandler(pException.OnException)
.Build();
Console.WriteLine($"creating Consumer.......");
await using var consumer = client.NewConsumer()
.Topic(myTopic)
.SubscriptionType(SubscriptionType.Shared)
.SubscriptionName("xxxxxxxxxxxxxxxx)
.Create();
Console.WriteLine($"Waiting for consumer message.......");
await foreach (var message in consumer.Messages())
{
Console.WriteLine($"Received consumer: {Encoding.UTF8.GetString(message.Data.ToArray())}");
await consumer.Acknowledge(message);
}
}
public class AuthenticationBasic : IAuthentication
{
private string username;
private string password;
public AuthenticationBasic(string uname, string passwd)
{
username = uname;
password = passwd;
}
public string AuthenticationMethodName
{
get { return "oms3.0"; }
}
public ValueTask<byte[]> GetAuthenticationData(CancellationToken cancellationToken)
{
return new ValueTask<byte[]>(Encoding.UTF8.GetBytes(username + ":" + password));
}
}
public interface IHandleException
{
/// <summary>
/// Called after an action has thrown an Exception.
/// </summary>
ValueTask OnException(ExceptionContext exceptionContext);
}
public class ExceptionHandler : IHandleException
{
//static private readonly ILog log = LogManager.GetLogger(typeof(DESPulsarQueue));
public ValueTask OnException(ExceptionContext exceptionContext)
{
Console.WriteLine("An error occured while creating pulsar client:{0}", exceptionContext.Exception.StackTrace.ToString());
return new ValueTask();
}
}
GitHub link: https://github.com/apache/pulsar/discussions/18001
----
This is an automatically sent email for dev@pulsar.apache.org.
To unsubscribe, please send an email to: dev-unsubscribe@pulsar.apache.org