Package com.caucho.jms.message

Examples of com.caucho.jms.message.MessageImpl


        Iterator<QueueEntry> iterator = queueEntryList.iterator();
        while (iterator.hasNext()) {
         
          // Copying the message. So that if client actor tampers the message
          // will not affect the message in the Queue.
          MessageImpl messageCopy
               = _messageFactory.copy((MessageImpl)iterator.next().getPayload());
          list.add(messageCopy);
        }
      }
    }
View Full Code Here


    }

    public Object nextElement()
    {
      if (_index < _messages.size()) {
        MessageImpl msg = _messages.get(_index);

        _index++;
        nextValidMessage();

        return msg;
View Full Code Here

    private void nextValidMessage()
    {
      try {
        for (; _index < _messages.size(); _index++) {
          MessageImpl msg = _messages.get(_index);

          if (_selector == null || _selector.isMatch(msg))
            return;
        }
      } catch (RuntimeException e) {
View Full Code Here

        selectStmt.setLong(1, minId);
        selectStmt.setInt(2, getId());
        selectStmt.setLong(3, Alarm.getCurrentTime());

        MessageImpl msg = null;

        ResultSet rs = selectStmt.executeQuery();
        if (rs.next()) {
          hasValue = true;
        }
View Full Code Here

        id = -1;

        selectStmt.setLong(1, minId);
        selectStmt.setInt(2, queue);

        MessageImpl msg = null;

        ResultSet rs = selectStmt.executeQuery();
        while (rs.next()) {
          id = rs.getLong(1);
View Full Code Here

  {
    int msgType = rs.getInt(2);
    String msgId = rs.getString(3);
    boolean redelivered = rs.getInt(4) == 1;

    MessageImpl msg;
   
    switch (msgType) {
    case TEXT:
      {
        InputStream is = rs.getBinaryStream(5);

        try {
          msg = readTextMessage(is);
        } finally {
          if (is != null)
            is.close();
        }
        break;
      }

    case BYTES:
      {
        InputStream is = rs.getBinaryStream(5);

        try {
          msg = readBytesMessage(is);
        } finally {
          if (is != null)
            is.close();
        }
        break;
      }

    case STREAM:
      {
        InputStream is = rs.getBinaryStream(5);

        try {
          msg = readStreamMessage(is);
        } finally {
          if (is != null)
            is.close();
        }
        break;
      }

    case OBJECT:
      {
        InputStream is = rs.getBinaryStream(5);

        try {
          msg = readObjectMessage(is);
        } finally {
          if (is != null)
            is.close();
        }
        break;
      }

    case MAP:
      {
        InputStream is = rs.getBinaryStream(5);

        try {
          msg = readMapMessage(is);
        } finally {
          if (is != null)
            is.close();
        }
        break;
      }

    case MESSAGE:
    default:
      {
        msg = new MessageImpl();
        break;
      }
    }

    InputStream is = rs.getBinaryStream(6);
   
    if (is != null) {
      try {
        readMessageHeader(is, msg);
      } finally {
        is.close();
      }
    }

    msg.setJMSMessageID(msgId);
    msg.setJMSRedelivered(redelivered);

    return msg;
  }
View Full Code Here

  public Message createMessage()
    throws JMSException
  {
    checkOpen();
   
    return new MessageImpl();
  }
View Full Code Here

   
    appMessage.setJMSTimestamp(now);
   
    appMessage.setJMSDeliveryMode(deliveryMode);
   
    MessageImpl message = _messageFactory.copy(appMessage);
   
    // ejb/0970

    boolean isXA = false;
    try {
      if (_isTransacted && _tm != null && _tm.getTransaction() != null)
        isXA = true;
    } catch (Exception e) {
      log.log(Level.FINE, e.toString(), e);
    }
   
    if (_isTransacted || isXA) {
      if (_transactedMessages == null)
        _transactedMessages = new ArrayList<TransactedMessage>();

      TransactedMessage transMsg = new SendMessage(queue,
                                                   message,
                                                   expireTime);
     
      _transactedMessages.add(transMsg);

      if (_xid == null)
        enlist();
    }
    else {
      if (log.isLoggable(Level.FINE))
        log.fine(queue + " sending " + message);

      queue.send(message.getJMSMessageID(),
                 message,
                 priority,
                 expireTime,
                 getPublisherId());
    }
View Full Code Here

      E payload = entry.getPayload();

      if (payload == null)
        return null;
     
      MessageImpl msg = null;

      if (payload instanceof MessageImpl) {
        msg = (MessageImpl) payload;
      }
      else if (payload instanceof String) {
        msg = new TextMessageImpl((String) payload);
        msg.setJMSMessageID(entry.getMsgId());
      }
      else {
        msg = new ObjectMessageImpl((Serializable) payload);
        msg.setJMSMessageID(entry.getMsgId());
      }

      msg.setReceive();
     
      /*if (_selector != null && ! _selector.isMatch(msg)) {
        _queue.acknowledge(msg.getJMSMessageID());
        continue;
      }*/
 
View Full Code Here

      listener = _messageListener;

    if (listener == null)
      return false;

    MessageImpl msg = null;
    try {
      // MessageCallback<E> callback = _messageCallback;
     
      // XXX: not correct with new model

      // _queue.listen(callback);

      /*
      if (msg == null)
        System.out.println(_queue + " NOMESSAGE:");
      */

      if (msg != null) {
        if (log.isLoggable(Level.FINE)) {
          log.fine(_queue + " deliver " + msg + " to listener " + listener);
        }

        msg.setSession(_session);

        // XXX: ejb30/bb/mdb/activationconfig/queue/selectorauto/annotated/negativeTest1
        if (_selector == null || _selector.isMatch(msg)) {
          _session.addTransactedReceive(_queue, msg);

          Thread thread = Thread.currentThread();
          ClassLoader oldLoader = thread.getContextClassLoader();
          try {
            thread.setContextClassLoader(_listenerClassLoader);

            listener.onMessage(msg);
          } finally {
            thread.setContextClassLoader(oldLoader);
          }
        }

        if (_session.getTransacted())
          _session.commit();
        else
          msg.acknowledge();

        return true;
      }
    } catch (Exception e) {
      log.log(Level.WARNING, L.l("{0}: message listener '{1}' failed for message '{2}' with exception\n{3}",
View Full Code Here

TOP

Related Classes of com.caucho.jms.message.MessageImpl

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.