Skip to content

[FEATURE] Redeclare Kafka pool in consumer #7546

@aneterial

Description

@aneterial

Is your feature request related to a problem? Please describe.
If I want to redeclare a Kafka pool in a consumer, I can only do it in an annotation, it doesn't work in an abstract class.

#[Consumer]
class FooKafkaConsumer extends AbstractConsumer
{
    public string $pool = 'foo'; // Didn't work, pool is 'default', came from Consumer annotation

    public function consume(ConsumeMessage $message): ?string {return null;}
}
#[Consumer(pool: 'foo')] // Will work, pool is 'foo'
class FooKafkaConsumer extends AbstractConsumer
{
    public function consume(ConsumeMessage $message): ?string {return null;}
}

Describe the solution you'd like
Make Hyperf\Kafka\Annotation\Consumer::$pool empty by default and then

#[Consumer]
class FooKafkaConsumer extends AbstractConsumer
{
    public string $pool = 'foo'; // Will work, pool is 'foo'

    public function consume(ConsumeMessage $message): ?string {return null;}
}
#[Consumer(pool: 'foo')] // Will work, pool is 'foo'
class FooKafkaConsumer extends AbstractConsumer
{
    public function consume(ConsumeMessage $message): ?string {return null;}
}

Additional context
#7547

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions