Package org.apache.sandesha2.workers

Examples of org.apache.sandesha2.workers.WorkerLock$Holder


     
      //setting a dummy property been to stop Sandesha2 from throwing exceptions.
      SandeshaPolicyBean policyBean = new SandeshaPolicyBean ();
      axisConfiguration.addParameter(new Parameter (Sandesha2Constants.SANDESHA_PROPERTY_BEAN,policyBean));
     
      InMemoryStorageManager storageManager = new InMemoryStorageManager (configurationContext);
     
      Transaction transaction = storageManager.getTransaction();
     
      RMSBeanMgr rmsBeanMgr = storageManager.getRMSBeanMgr();
     
      RMSBean rmsBean = new RMSBean ();
      RMSBean duplicateRMSBean = new RMSBean ();
     
      rmsBean.setCreateSeqMsgID(SandeshaUtil.getUUID());
View Full Code Here


    rmdBean.setSequenceID(seqID);
    rmdBean.setToEPR(AddressingConstants.Final.WSA_ANONYMOUS_URL);
    rmdBean.setAcksToEPR(AddressingConstants.Final.WSA_ANONYMOUS_URL);
    rmdBean.setReplyToEPR(AddressingConstants.Final.WSA_ANONYMOUS_URL);
    rmdBean.setRMVersion(Sandesha2Constants.SPEC_VERSIONS.v1_1);
    rmdBean.setServerCompletedMessages(new RangeString());
    // Flag that the sequence is closed.
    rmdBean.setClosed(true);
   
    // Create a transaction and insert the RMSBean
    Transaction tran = storageManager.getTransaction();
View Full Code Here

    rmsBean.setInternalSequenceID(SandeshaUtil.getInternalSequenceID(seqID, null));
    rmsBean.setToEPR(AddressingConstants.Final.WSA_ANONYMOUS_URL);
    rmsBean.setAcksToEPR(AddressingConstants.Final.WSA_ANONYMOUS_URL);
    rmsBean.setReplyToEPR(AddressingConstants.Final.WSA_ANONYMOUS_URL);
    rmsBean.setRMVersion(Sandesha2Constants.SPEC_VERSIONS.v1_1);
    rmsBean.setClientCompletedMessages(new RangeString());
    rmsBean.setNextMessageNumber(1);
   
    // Create a transaction and insert the RMSBean
    Transaction tran = storageManager.getTransaction();
   
View Full Code Here

    rmsBean.setInternalSequenceID(SandeshaUtil.getInternalSequenceID(seqID, null));
    rmsBean.setToEPR(AddressingConstants.Final.WSA_ANONYMOUS_URL);
    rmsBean.setAcksToEPR(AddressingConstants.Final.WSA_ANONYMOUS_URL);
    rmsBean.setReplyToEPR(AddressingConstants.Final.WSA_ANONYMOUS_URL);
    rmsBean.setRMVersion(Sandesha2Constants.SPEC_VERSIONS.v1_1);
    rmsBean.setClientCompletedMessages(new RangeString());
    rmsBean.setNextMessageNumber(4);
    rmsBean.setHighestOutMessageNumber(3);
   
    SenderBean bean1 = getSenderBean(seqID, 1, 1);
    SenderBean bean2 = getSenderBean(seqID, 0, 2);
View Full Code Here

        // Lock the sender bean before we insert it, if we are planning to send it ourselves
        String workId = createSeqEntry.getMessageID() + createSeqEntry.getTimeToSend();
        SandeshaThread sender = storageManager.getSender();

        ConfigurationContext context = createSeqMsg.getConfigurationContext();
        WorkerLock lock = sender.getWorkerLock();
   
        SenderWorker worker = new SenderWorker(context, createSeqEntry, rmsBean.getRMVersion());
        worker.setLock(lock);
        worker.setWorkId(workId);
        // Actually take the lock
        lock.addWork(workId, worker);
       
        // Commit the transaction, so that the sender worker starts with a clean slate.
        if(appMsgProcTran.isActive()) appMsgProcTran.commit();       
           
        if(worker != null) {
View Full Code Here

    SenderWorker worker = null;
    if(sendingNow) {
      String workId = appMsgEntry.getMessageID() + appMsgEntry.getTimeToSend();
      SandeshaThread sender = storageManager.getSender();
      ConfigurationContext context = msg.getConfigurationContext();
      WorkerLock lock = sender.getWorkerLock();
     
      worker = new SenderWorker(context, appMsgEntry, rmsBean.getRMVersion());
      worker.setLock(lock);
      worker.setWorkId(workId);
      // Actually take the lock
      lock.addWork(workId, worker);
    }
   
    // Commit the transaction, so that the sender worker starts with a clean slate.
    if(appMsgProcTran != null && appMsgProcTran.isActive()) appMsgProcTran.commit();
    
View Full Code Here

      // this transaction should be commited out before gettting the worker lock.
      // otherwise a dead lock can happen.
      if (transaction != null && transaction.isActive()) transaction.commit();

      SandeshaThread sender = storageManager.getSender();
      WorkerLock lock = sender.getWorkerLock();

      String workId = matchingMessage.getMessageID();
      SenderWorker worker = new SenderWorker(pollMessage.getConfigurationContext(), matchingMessage, pollMessage.getRMSpecVersion());
      worker.setLock(lock);
      worker.setWorkId(workId);
      while (!lock.addWork(workId, worker)) {
        try {
          // wait on the lock.
          lock.awaitRemoval(workId);
        } catch (InterruptedException e) {
          e.printStackTrace();
        }

      }
View Full Code Here

    if (sequenceExists && !storageManager.hasUserTransaction(msgContext)) {

      String workId = msgContext.getMessageID()
          + senderBean.getTimeToSend();
      SandeshaThread sender = storageManager.getSender();
      WorkerLock lock = sender.getWorkerLock();

      SenderWorker worker = new SenderWorker(configurationContext,
          senderBean, rmsBean.getRMVersion());
      worker.setLock(lock);
      worker.setWorkId(workId);
      // Actually take the lock
      lock.addWork(workId, worker);

      // Commit the transaction, so that the sender worker starts with a clean state
      if (transaction != null && transaction.isActive())
        transaction.commit();
View Full Code Here

    }

    //In case of ack request messages RM Namespace is decided based on the sequenceId of the last
    //ack request.
    for (Iterator iter = elements.getAckRequests();iter.hasNext();) {
      AckRequested ackRequest = (AckRequested) iter.next();
      rmMsgContext.setMessagePart(Sandesha2Constants.MessageParts.ACK_REQUEST, ackRequest);
      rmNamespace = ackRequest.getNamespaceValue();
    }

    if (elements.getCloseSequence() != null) {
      rmMsgContext.setMessagePart(Sandesha2Constants.MessageParts.CLOSE_SEQUENCE, elements.getCloseSequence());
      rmNamespace = elements.getCloseSequence().getNamespaceValue();
View Full Code Here

      //if there is only on sequenceAck, sequenceId will be set. Otherwise it will not be.
      if (!sequenceAcknowledgementsIter.hasNext())
        sequenceID = sequenceAcknowledgement.getIdentifier().getIdentifier();
    } else if (ackRequestedIter.hasNext()) {
      rmMsgCtx.setMessageType(Sandesha2Constants.MessageTypes.ACK_REQUEST);
      AckRequested ackRequest = (AckRequested) ackRequestedIter.next();

      //if there is only on sequenceAck, sequenceId will be set. Otherwise it will not be.
      if (!ackRequestedIter.hasNext())
        sequenceID = ackRequest.getIdentifier().getIdentifier();
    } else if (closeSequence != null) {
      rmMsgCtx.setMessageType(Sandesha2Constants.MessageTypes.CLOSE_SEQUENCE);
      sequenceID = closeSequence.getIdentifier().getIdentifier();
    } else if (closeSequenceResponse != null) {
      rmMsgCtx.setMessageType(Sandesha2Constants.MessageTypes.CLOSE_SEQUENCE_RESPONSE);
View Full Code Here

TOP

Related Classes of org.apache.sandesha2.workers.WorkerLock$Holder

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.