Search in sources :

Example 1 with InvalidVersionException

use of com.swiftmq.jms.InvalidVersionException in project swiftmq-client by iitsoftware.

the class Connector method visit.

public void visit(PODataAvailable po) {
    if (debug)
        System.out.println(toString() + ", visit, po=" + po + " ...");
    try {
        if (po.getIoException() != null)
            throw po.getIoException();
        Dumpable obj = po.getDumpable();
        if (debug)
            System.out.println(toString() + ", dataAvailable, obj=" + obj);
        if (!recreateStarted) {
            if (obj.getDumpId() == SMQPFactory.DID_BULK_REQ) {
                SMQPBulkRequest bulkRequest = (SMQPBulkRequest) obj;
                for (int i = 0; i < bulkRequest.len; i++) {
                    Dumpable dumpable = (Dumpable) bulkRequest.dumpables[i];
                    if (dumpable.getDumpId() != SMQPFactory.DID_KEEPALIVE_REQ)
                        setReply(dumpable);
                }
            } else
                setReply(obj);
            current = null;
        } else if (obj.getDumpId() == SMQPFactory.DID_BULK_REQ) {
            SMQPBulkRequest bulkRequest = (SMQPBulkRequest) obj;
            for (int i = 0; i < bulkRequest.len; i++) {
                Dumpable dumpable = (Dumpable) bulkRequest.dumpables[i];
                if (dumpable.getDumpId() != SMQPFactory.DID_KEEPALIVE_REQ) {
                    currentRecreatePO.getRecreatable().setRecreateReply((Reply) dumpable);
                    currentRecreatePO.setSuccess(true);
                    if (currentRecreatePO.getSemaphore() != null)
                        currentRecreatePO.getSemaphore().notifySingleWaiter();
                }
            }
        } else {
            currentRecreatePO.getRecreatable().setRecreateReply((Reply) obj);
            currentRecreatePO.setSuccess(true);
            if (currentRecreatePO.getSemaphore() != null)
                currentRecreatePO.getSemaphore().notifySingleWaiter();
        }
        currentRecreatePO = null;
        requestTime = -1;
    } catch (Exception e) {
        if (debug)
            System.out.println(toString() + ", visit, po=" + po + ", exception=" + e + ", recreateStarted=" + recreateStarted);
        if (currentRecreatePO != null) {
            currentRecreatePO.setSuccess(false);
            currentRecreatePO.setException(e.toString());
            if (currentRecreatePO.getSemaphore() != null)
                currentRecreatePO.getSemaphore().notifySingleWaiter();
            currentRecreatePO = null;
            recreateStarted = false;
            if (debug)
                System.out.println(toString() + ", set recreateStarted to " + recreateStarted);
        }
        reconnector.invalidateConnection();
        connection = null;
        reconnectInProgress = false;
        currentRecreatePO = null;
        requestTime = -1;
        if (debug)
            System.out.println(toString() + ", ((e instanceof JMSSecurityException) || (e instanceof InvalidVersionException))?" + ((e instanceof JMSSecurityException) || (e instanceof InvalidVersionException)));
        if ((e instanceof JMSSecurityException) || (e instanceof InvalidVersionException)) {
            if (sem != null)
                sem.notifySingleWaiter();
        } else {
            if (debug)
                System.out.println(toString() + ", e is instanceof " + e.getClass().getName());
            dispatch(new POReconnect(sem, recreatableConnection, true));
        }
    }
    if (debug)
        System.out.println(toString() + ", visit, po=" + po + " done");
}
Also used : JMSSecurityException(javax.jms.JMSSecurityException) InvalidVersionException(com.swiftmq.jms.InvalidVersionException) SMQPBulkRequest(com.swiftmq.jms.smqp.v750.SMQPBulkRequest) Reply(com.swiftmq.tools.requestreply.Reply) InvalidVersionException(com.swiftmq.jms.InvalidVersionException) IOException(java.io.IOException) JMSSecurityException(javax.jms.JMSSecurityException) Dumpable(com.swiftmq.tools.dump.Dumpable)

Example 2 with InvalidVersionException

use of com.swiftmq.jms.InvalidVersionException in project swiftmq-client by iitsoftware.

the class Connector method visit.

public void visit(PODataAvailable po) {
    if (debug)
        System.out.println(toString() + ", visit, po=" + po + " ...");
    DataInput in = po.getIn();
    try {
        Dumpable obj = Dumpalizer.construct(in, dumpableFactory);
        if (debug)
            System.out.println(toString() + ", dataAvailable, obj=" + obj);
        if (obj == null || obj.getDumpId() == SMQPFactory.DID_KEEPALIVE_REQ) {
            return;
        }
        if (!recreateStarted) {
            if (obj.getDumpId() == SMQPFactory.DID_BULK_REQ) {
                SMQPBulkRequest bulkRequest = (SMQPBulkRequest) obj;
                for (int i = 0; i < bulkRequest.len; i++) {
                    Dumpable dumpable = (Dumpable) bulkRequest.dumpables[i];
                    if (dumpable.getDumpId() != SMQPFactory.DID_KEEPALIVE_REQ)
                        setReply(dumpable);
                }
            } else
                setReply(obj);
            current = null;
        } else if (obj.getDumpId() == SMQPFactory.DID_BULK_REQ) {
            SMQPBulkRequest bulkRequest = (SMQPBulkRequest) obj;
            for (int i = 0; i < bulkRequest.len; i++) {
                Dumpable dumpable = (Dumpable) bulkRequest.dumpables[i];
                if (dumpable.getDumpId() != SMQPFactory.DID_KEEPALIVE_REQ) {
                    currentRecreatePO.getRecreatable().setRecreateReply((Reply) dumpable);
                    currentRecreatePO.setSuccess(true);
                    if (currentRecreatePO.getSemaphore() != null)
                        currentRecreatePO.getSemaphore().notifySingleWaiter();
                }
            }
        } else {
            currentRecreatePO.getRecreatable().setRecreateReply((Reply) obj);
            currentRecreatePO.setSuccess(true);
            if (currentRecreatePO.getSemaphore() != null)
                currentRecreatePO.getSemaphore().notifySingleWaiter();
        }
        currentRecreatePO = null;
        requestTime = -1;
    } catch (Exception e) {
        if (debug)
            System.out.println(toString() + ", visit, po=" + po + ", exception=" + e);
        if (currentRecreatePO != null) {
            currentRecreatePO.setSuccess(false);
            currentRecreatePO.setException(e.toString());
            if (currentRecreatePO.getSemaphore() != null)
                currentRecreatePO.getSemaphore().notifySingleWaiter();
            currentRecreatePO = null;
        }
        reconnector.invalidateConnection();
        connection = null;
        reconnectInProgress = false;
        currentRecreatePO = null;
        requestTime = -1;
        if (debug)
            System.out.println(toString() + ", ((e instanceof JMSSecurityException) || (e instanceof InvalidVersionException))?" + ((e instanceof JMSSecurityException) || (e instanceof InvalidVersionException)));
        if ((e instanceof JMSSecurityException) || (e instanceof InvalidVersionException)) {
            if (sem != null)
                sem.notifySingleWaiter();
        } else {
            if (debug)
                System.out.println(toString() + ", e is instanceof " + e.getClass().getName());
            dispatch(new POReconnect(sem, recreatableConnection, true));
        }
    }
    if (debug)
        System.out.println(toString() + ", visit, po=" + po + " done");
}
Also used : LengthCaptureDataInput(com.swiftmq.tools.util.LengthCaptureDataInput) DataInput(java.io.DataInput) JMSSecurityException(javax.jms.JMSSecurityException) InvalidVersionException(com.swiftmq.jms.InvalidVersionException) SMQPBulkRequest(com.swiftmq.jms.smqp.v630.SMQPBulkRequest) Reply(com.swiftmq.tools.requestreply.Reply) InvalidVersionException(com.swiftmq.jms.InvalidVersionException) IOException(java.io.IOException) JMSSecurityException(javax.jms.JMSSecurityException) Dumpable(com.swiftmq.tools.dump.Dumpable)

Aggregations

InvalidVersionException (com.swiftmq.jms.InvalidVersionException)2 Dumpable (com.swiftmq.tools.dump.Dumpable)2 Reply (com.swiftmq.tools.requestreply.Reply)2 IOException (java.io.IOException)2 JMSSecurityException (javax.jms.JMSSecurityException)2 SMQPBulkRequest (com.swiftmq.jms.smqp.v630.SMQPBulkRequest)1 SMQPBulkRequest (com.swiftmq.jms.smqp.v750.SMQPBulkRequest)1 LengthCaptureDataInput (com.swiftmq.tools.util.LengthCaptureDataInput)1 DataInput (java.io.DataInput)1