Package org.apache.geronimo.messaging

Examples of org.apache.geronimo.messaging.Msg


            popSynchronization = aSynchronization;
        }
    }
   
    public Msg pop() {
        Msg msg;
        try {
            synchronized (rawIn) {
                Object opaque = popSynchronization.beforePop(streamInputStream);
                msg = (Msg) streamInputStream.readObject();
                popSynchronization.afterPop(streamInputStream, msg, opaque);
View Full Code Here


     * specific header.
     *
     * @return Msg poped from the previous interceptor.
     */
    public Msg pop() {
        Msg msg = prev.pop();
        headerValue = msg.getHeader().getHeader(header);
        return msg;
    }
View Full Code Here

     * Removes a Message from this queue.
     *
     * @return Message.
     */
    public Msg remove() {
        Msg message;
        try {
            message = (Msg) queue.take();
        } catch (InterruptedException e) {
            log.error(e);
            throw new MsgInterceptorStoppedException(e);
View Full Code Here

            popSynchronization = aSynchronization;
        }
    }
   
    private void dispatch() throws ProtocolException {
        Msg msg;
        try {
            synchronized (in) {
                Object opaque = popSynchronization.beforePop(streamInputStream);
                msg = (Msg) streamInputStream.readObject();
                popSynchronization.afterPop(streamInputStream, msg, opaque);
View Full Code Here

            remoteNodeInfo = (NodeInfo) body.getContent();
           
            if ( null != manager.findRemoteNode(remoteNodeInfo) ) {
                log.error(remoteNodeInfo +
                    " tried to join twice this node; rejecting request.");
                Msg msg = aMsg.reply();
                msg.getBody().setContent(Boolean.FALSE);
                getMsgConsumerOut().push(msg);
                return;
            }
            Msg msg = aMsg.reply();
            msg.getBody().setContent(Boolean.TRUE);
            getMsgConsumerOut().push(msg);

            manager.registerRemoteNode(RemoteNodeJoined.this);
        }
View Full Code Here

    public void join() throws NodeException {
        RemoteNodeConnection connection =
            new RemoteNodeJoinerConnection(remoteNodeInfo, ioContext, sm);
        setConnection(connection);

        Msg msg = new Msg();
        MsgHeader header = msg.getHeader();
        header.addHeader(MsgHeaderConstants.SRC_NODE, localNodeInfo);
        header.addHeader(MsgHeaderConstants.DEST_NODE, remoteNodeInfo);
       
        // Only set to comply with a valid request.
        header.addHeader(MsgHeaderConstants.DEST_NODES, remoteNodeInfo);
        header.addHeader(MsgHeaderConstants.SRC_ENDPOINT, "");
        header.addHeader(MsgHeaderConstants.CORRELATION_ID,
            new RequestSender.RequestID((byte) 0));
        header.addHeader(MsgHeaderConstants.BODY_TYPE, MsgBody.Type.REQUEST);
        header.addHeader(MsgHeaderConstants.TOPOLOGY_VERSION, new Integer(0));
       
        msg.getBody().setContent(localNodeInfo);

        final FutureResult result = new FutureResult();
        setMsgProducerOut(new MsgOutInterceptor() {
            public void push(Msg aMsg) {
                result.set(aMsg);
            }
        });
        getMsgConsumerOut().push(msg);
        Msg reply;
        try {
            // waits 3 seconds for a reply.
            reply = (Msg) result.get();
            reply = (Msg) result.timedGet(3000);
        } catch (TimeoutException e) {
            throw new NodeException("Join request submitted by " +
                localNodeInfo + " to " + remoteNodeInfo + " has timed out.");
        } catch (InterruptedException e) {
            throw new NodeException(e);
        } catch (InvocationTargetException e) {
            throw new NodeException(e);
        }
        Boolean isOK = (Boolean) reply.getBody().getContent();
        if ( Boolean.FALSE == isOK ) {
            throw new NodeException(remoteNodeInfo + " has refused the " +
                "join request submitted by " + localNodeInfo);
        }
        manager.registerRemoteNode(this);
View Full Code Here

            }
            MsgOutInterceptor out;
            NodeInfo[] dests = (NodeInfo[]) destNode;
            for (int i = 0; i < dests.length; i++) {
                NodeInfo target = dests[i];
                Msg msg2 = new Msg(aMsg);
                MsgHeader header2 = msg2.getHeader();
                // A path is defined if this Msg is routed via the node
                // owning this instance.
                NodeInfo[] path =
                    (NodeInfo[]) header2.getOptionalHeader(
                        MsgHeaderConstants.DEST_NODE_PATH);
View Full Code Here

     */
    public void testPreparedGetMsgOut() throws Exception {
        TestGetMsgOutInfo info = newGetMsgOutInfo();

        MsgOutInterceptor out = manager.getMsgConsumerOut();
        Msg msg = new Msg();
        MsgHeader header = msg.getHeader();
        Integer id = new Integer(1234);
        header.addHeader(MsgHeaderConstants.CORRELATION_ID, id);
        header.addHeader(MsgHeaderConstants.SRC_NODE, info.srcNode);
        header.addHeader(MsgHeaderConstants.DEST_NODES, info.node1);
        header.addHeader(MsgHeaderConstants.TOPOLOGY_VERSION,
            new Integer(info.topology.getVersion()));
        out.push(msg);
       
        List receivedMsgs = info.remoteNode1.getPushedMsg();
        assertEquals(1, receivedMsgs.size());
        msg = (Msg) receivedMsgs.get(0);
        assertEquals(id, msg.getHeader().getHeader(MsgHeaderConstants.CORRELATION_ID));
        receivedMsgs.clear();
       
        receivedMsgs = info.remoteNode2.getPushedMsg();
        assertEquals(0, receivedMsgs.size());
       
        msg = new Msg();
        header = msg.getHeader();
        header.addHeader(MsgHeaderConstants.CORRELATION_ID, id);
        header.addHeader(MsgHeaderConstants.SRC_NODE, info.srcNode);
        header.addHeader(MsgHeaderConstants.DEST_NODES, info.node2);
        header.addHeader(MsgHeaderConstants.TOPOLOGY_VERSION,
            new Integer(info.topology.getVersion()));
        out.push(msg);
       
        receivedMsgs = info.remoteNode2.getPushedMsg();
        assertEquals(1, receivedMsgs.size());
        msg = (Msg) receivedMsgs.get(0);
        assertEquals(id, msg.getHeader().getHeader(MsgHeaderConstants.CORRELATION_ID));
        receivedMsgs.clear();
       
        receivedMsgs = info.remoteNode1.getPushedMsg();
        assertEquals(0, receivedMsgs.size());
    }
View Full Code Here

        TestGetMsgOutInfo info = newGetMsgOutInfo();
       
        manager.commitTopology();

        MsgOutInterceptor out = manager.getMsgConsumerOut();
        Msg msg = new Msg();
        MsgHeader header = msg.getHeader();
        Integer id = new Integer(1234);
        header.addHeader(MsgHeaderConstants.CORRELATION_ID, id);
        header.addHeader(MsgHeaderConstants.SRC_NODE, info.srcNode);
        header.addHeader(MsgHeaderConstants.DEST_NODES, info.node1);
        out.push(msg);
       
        List receivedMsgs = info.remoteNode1.getPushedMsg();
        assertEquals(1, receivedMsgs.size());
        msg = (Msg) receivedMsgs.get(0);
        assertEquals(id, msg.getHeader().getHeader(MsgHeaderConstants.CORRELATION_ID));
        receivedMsgs.clear();
       
        receivedMsgs = info.remoteNode2.getPushedMsg();
        assertEquals(0, receivedMsgs.size());
       
        msg = new Msg();
        header = msg.getHeader();
        header.addHeader(MsgHeaderConstants.CORRELATION_ID, id);
        header.addHeader(MsgHeaderConstants.SRC_NODE, info.srcNode);
        header.addHeader(MsgHeaderConstants.DEST_NODES, info.node2);
        out.push(msg);
       
        receivedMsgs = info.remoteNode2.getPushedMsg();
        assertEquals(1, receivedMsgs.size());
        msg = (Msg) receivedMsgs.get(0);
        assertEquals(id, msg.getHeader().getHeader(MsgHeaderConstants.CORRELATION_ID));
        receivedMsgs.clear();
       
        receivedMsgs = info.remoteNode1.getPushedMsg();
        assertEquals(0, receivedMsgs.size());
    }
View Full Code Here

            remoteNodeInfo = (NodeInfo) body.getContent();
           
            if ( null != manager.findRemoteNode(remoteNodeInfo) ) {
                log.error(remoteNodeInfo +
                    " tried to join twice this node; rejecting request.");
                Msg msg = aMsg.reply();
                msg.getBody().setContent(Boolean.FALSE);
                getMsgConsumerOut().push(msg);
                return;
            }
            Msg msg = aMsg.reply();
            msg.getBody().setContent(Boolean.TRUE);
            getMsgConsumerOut().push(msg);

            manager.registerRemoteNode(RemoteNodeJoined.this);
        }
View Full Code Here

TOP

Related Classes of org.apache.geronimo.messaging.Msg

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.