protected void doStart() throws Exception { synchronized (running) { endpoint.getServiceUnit().getComponent().getExecutor(MessageExchange.Role.CONSUMER).execute(new Runnable() { public void run() { StandardConsumerProcessor.this.poll(); } }); running.wait(); } }
public void onMessage(final Message message) { logger.debug("Received jms message {}", message); endpoint.getServiceUnit().getComponent().getExecutor(MessageExchange.Role.CONSUMER).execute(new Runnable() { public void run() { try { logger.debug("Handling jms message {}", message); Context context = createContext(); MessageExchange exchange = toNMS(message, context); // TODO: copy protocol messages //inMessage.setProperty(JbiConstants.PROTOCOL_HEADERS, getHeaders(message)); pendingMessages.put(exchange.getExchangeId(), context); channel.send(exchange); } catch (Throwable e) { logger.error("Error while handling jms message", e); } } }); }
public void onMessage(final Message message) { logger.debug("Received jms message {}", message); endpoint.getServiceUnit().getComponent().getExecutor(MessageExchange.Role.PROVIDER).execute(new Runnable() { public void run() { InOut exchange = null;
@Override public void start() throws Exception { super.start(); if (executor == null) { executor = getServiceUnit().getComponent().getExecutor(MessageExchange.Role.CONSUMER); } BlockingQueue<MessageExchange> queue = new LinkedBlockingQueue<MessageExchange>(); reseq = new ResequencerEngine<MessageExchange>(comparator, capacity); reseq.setTimeout(timeout); reseq.setOutQueue(queue); reader.setQueue(queue); reader.start(executor); }
public synchronized void start() throws Exception { if (!started) { started = true; if (scheduler == null) { scheduler = new Scheduler(true); } if (scheduleIterator == null) { scheduleIterator = new PollingEndpoint.PollScheduleIterator(); } if (executor == null) { executor = getServiceUnit().getComponent().getExecutor(MessageExchange.Role.CONSUMER); } if (schedulerTask != null) { schedulerTask.cancel(); } schedulerTask = new PollingEndpoint.PollSchedulerTask(); this.scheduler.schedule(schedulerTask, scheduleIterator); } super.start(); }
public synchronized void start() throws Exception { if (bootstrapContext == null) { Executor executor = getServiceUnit().getComponent().getExecutor(MessageExchange.Role.CONSUMER); WorkManager wm = new WorkManagerWrapper(executor); bootstrapContext = new SimpleBootstrapContext(wm); } resourceAdapter.start(bootstrapContext); activationSpec.setResourceAdapter(resourceAdapter); if (endpointFactory == null) { TransactionManager tm = (TransactionManager) getContext().getTransactionManager(); endpointFactory = new SingletonEndpointFactory(new MessageListener() { public void onMessage(Message message) { try { JmsJcaConsumerEndpoint.this.onMessage(message, null); } catch (JMSException e) { throw new ListenerExecutionFailedException("Unable to handle message", e); } } }, tm); } resourceAdapter.endpointActivation(endpointFactory, activationSpec); super.start(); }