Quantcast
Channel: Apache Timeline
Viewing all articles
Browse latest Browse all 5648

How do I pair @Consume with @Produce on an interface?

$
0
0
Using Camel 2.13.1

So, I have defined a @Produce on an interface, which appears to be producing
messages correctly (verified via logging):

public interface Producer extends CriteriaServiceObserver {
@InOnly
void created(CriteriaDocument criteria, Map state);

@InOnly
void updated(CriteriaDocument criteria, Map state);

@InOnly
void beforeDelete(CriteriaDocument criteria, Map state);

@InOnly
void afterDelete(CriteriaDocument criteria, Map state);

@Produce(uri = "direct://criteria.event")
private Producer
jmsEventProducer;

Elsewhere, I am trying to consume these messages:

@Component
public class SampleGroupWatcherServiceImpl implements
CriteriaServiceObserver {

...

@Override
@Consume(uri = "direct://criteria.event")
public void created(final CriteriaDocument criteria, final Map state) {
LOG.debug(" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Criteria created");

@Override
@Consume(uri = "direct://criteria.event")
public void updated(final CriteriaDocument criteria, final Map state) {
LOG.debug(" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Criteria updated");

@Override
@Consume(uri = "direct://criteria.event")
public void beforeDelete(final CriteriaDocument criteria, final Map
state) {
LOG.debug(" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Criteria before delete");

@Override
@Consume(uri = "direct://criteria.event")
public void afterDelete(final CriteriaDocument criteria, final Map
state) {
LOG.debug(" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Criteria after delete");

...

However, the exception I get from Camel is:

java.lang.IllegalArgumentException: Cannot add a 2nd consumer to the same
endpoint. Endpoint Endpoint[direct://criteria.event] only allows one
consumer.

I am trying to "remote" and interface via Camel/ActiveMQ. So, my intent is
to have one box make the API call, message queued onto the Queue, and
another box de-queue and process the message.

I am sure I am doing something wrong as the @Produce part seems to be
working correctly. I am just stuck at the @Consume.

Thanks.

Viewing all articles
Browse latest Browse all 5648

Trending Articles