Search in sources :

Example 71 with Semaphore

use of com.swiftmq.tools.concurrent.Semaphore in project swiftmq-ce by iitsoftware.

the class Consumer method consume.

public void consume() {
    sem = new Semaphore();
    sem.waitHere();
    if (exception != null)
        failFast("failed: " + exception);
}
Also used : Semaphore(com.swiftmq.tools.concurrent.Semaphore)

Example 72 with Semaphore

use of com.swiftmq.tools.concurrent.Semaphore in project swiftmq-ce by iitsoftware.

the class Consumer method consume.

public void consume() {
    sem = new Semaphore();
    sem.waitHere();
    if (exception != null)
        failFast("failed: " + exception);
    try {
        verifier.verify();
    } catch (Exception e) {
        failFast("failed: " + e);
    }
}
Also used : Semaphore(com.swiftmq.tools.concurrent.Semaphore)

Example 73 with Semaphore

use of com.swiftmq.tools.concurrent.Semaphore in project swiftmq-ce by iitsoftware.

the class Consumer method consume.

public void consume() {
    sem = new Semaphore();
    sem.waitHere();
    if (exception != null)
        failFast("failed: " + exception);
    try {
        verifier.verify();
    } catch (Exception e) {
        failFast("failed: " + e);
    }
}
Also used : Semaphore(com.swiftmq.tools.concurrent.Semaphore)

Example 74 with Semaphore

use of com.swiftmq.tools.concurrent.Semaphore in project swiftmq-client by iitsoftware.

the class Session method createConsumer.

/**
 * Creates a temporary destination and a message consumer on it. The temporary destination has a lifetime of
 * the connection.
 *
 * @param qoS quality of service
 * @return message consumer
 * @throws AMQPException on error
 */
public Consumer createConsumer(int linkCredit, int qoS) throws AMQPException {
    verifyState();
    QoS.verify(qoS);
    Semaphore sem = new Semaphore();
    POAttachConsumer po = new POAttachConsumer(sem, null, linkCredit, qoS, false, null, new DefaultDeliveryMemory());
    sessionDispatcher.dispatch(po);
    sem.waitHere();
    if (!po.isSuccess())
        throw new AMQPException(po.getException());
    Consumer c = (Consumer) po.getLink();
    links.add(c);
    return c;
}
Also used : Semaphore(com.swiftmq.tools.concurrent.Semaphore)

Example 75 with Semaphore

use of com.swiftmq.tools.concurrent.Semaphore in project swiftmq-client by iitsoftware.

the class Session method createConsumer.

/**
 * Creates a message consumer on a source without a link credit. This is required for transactional acquisition.
 *
 * @param source   the source, e.g. queue name
 * @param qoS      quality of service
 * @param noLocal  if true means it won't receive messages sent on the same topic and connection
 * @param selector message selector (for SwiftMQ this would be a JMS message selector string)
 * @return message consumer
 * @throws AMQPException on error
 */
public Consumer createConsumer(String source, int qoS, boolean noLocal, String selector) throws AMQPException {
    verifyState();
    QoS.verify(qoS);
    Semaphore sem = new Semaphore();
    POAttachConsumer po = new POAttachConsumer(sem, source, -1, qoS, noLocal, selector, new DefaultDeliveryMemory());
    sessionDispatcher.dispatch(po);
    sem.waitHere();
    if (!po.isSuccess())
        throw new AMQPException(po.getException());
    Consumer c = (Consumer) po.getLink();
    links.add(c);
    return c;
}
Also used : Semaphore(com.swiftmq.tools.concurrent.Semaphore)

Aggregations

Semaphore (com.swiftmq.tools.concurrent.Semaphore)149 MsgNoVerifier (jms.base.MsgNoVerifier)18 IOException (java.io.IOException)8 SwiftletException (com.swiftmq.swiftlet.SwiftletException)6 ArrayList (java.util.ArrayList)6 CommitLogRecord (com.swiftmq.impl.store.standard.log.CommitLogRecord)5 DataStreamOutputStream (com.swiftmq.tools.util.DataStreamOutputStream)5 List (java.util.List)5 StartBackup (com.swiftmq.impl.store.standard.backup.po.StartBackup)2 StartShrink (com.swiftmq.impl.store.standard.cache.po.StartShrink)2 UnknownHostException (java.net.UnknownHostException)2 POAttachDurableConsumer (com.swiftmq.amqp.v100.client.po.POAttachDurableConsumer)1 POAuthenticate (com.swiftmq.amqp.v100.client.po.POAuthenticate)1 POCloseLink (com.swiftmq.amqp.v100.client.po.POCloseLink)1 POOpen (com.swiftmq.amqp.v100.client.po.POOpen)1 POProtocolRequest (com.swiftmq.amqp.v100.client.po.POProtocolRequest)1 POSendClose (com.swiftmq.amqp.v100.client.po.POSendClose)1 POSendMessage (com.swiftmq.amqp.v100.client.po.POSendMessage)1 AddressString (com.swiftmq.amqp.v100.generated.messaging.message_format.AddressString)1 Header (com.swiftmq.amqp.v100.generated.messaging.message_format.Header)1