Examples of MsgHeader


Examples of org.apache.geronimo.datastore.impl.remote.messaging.MsgHeader

        aRequest.setTarget(gFile);
        return aRequest.execute();
    }
   
    protected void handleRequest(Msg aMsg) {
        MsgHeader header = aMsg.getHeader();
        MsgBody body = aMsg.getBody();
       
        Object id = header.getHeader(MsgHeaderConstants.CORRELATION_ID);
        Object srcNode = header.getHeader(MsgHeaderConstants.SRC_NODE);

        CommandRequest command = (CommandRequest) body.getContent();

        command.setTarget(this);
       
View Full Code Here

Examples of org.apache.geronimo.datastore.impl.remote.messaging.MsgHeader

        }
    }

    protected void handleRequest(Msg aMsg) {
        MsgBody body = aMsg.getBody();
        MsgHeader header = aMsg.getHeader();
        Object sourceNode = header.getHeader(MsgHeaderConstants.SRC_NODE);
        Object id = header.getHeader(MsgHeaderConstants.CORRELATION_ID);
        CommandRequest command;
        String gateway;
        command = (CommandRequest) body.getContent();
        command.setTarget(this);
        CommandResult result = command.execute();
View Full Code Here

Examples of org.apache.geronimo.messaging.MsgHeader

     * Adds an header to the Msg and pushes it to the next interceptor.
     *
     * @param aMsg Msg to process.
     */
    public void push(Msg aMsg) {
        MsgHeader header = aMsg.getHeader();
        header.addHeader(key, value);
        next.push(aMsg);
    }
View Full Code Here

Examples of org.apache.geronimo.messaging.MsgHeader

     * @param aMsg Msg to be dispatched.
     * @exception RuntimeException Indicates that no Msg output is registered
     * for this Msg.
     */
    public void push(Msg aMsg) {
        MsgHeader header = aMsg.getHeader();
        Object opaque;
        opaque = header.getHeader(headerKey);
        MsgOutInterceptor out;
        synchronized (outputs) {
            out = (MsgOutInterceptor) outputs.get(opaque);
        }
        if ( null == out ) {
View Full Code Here

Examples of org.apache.geronimo.messaging.MsgHeader

        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() {
View Full Code Here

Examples of org.apache.geronimo.messaging.MsgHeader

     * Msg consumer.
     */
    private class RemoteNodeRouter implements MsgOutInterceptor {

        public void push(Msg aMsg) {
            MsgHeader header = aMsg.getHeader();
            Object destNode = header.getHeader(MsgHeaderConstants.DEST_NODES);
            if (destNode instanceof NodeInfo) {
                destNode = new NodeInfo[] {(NodeInfo) destNode };
            }
            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);
                if ( null != path ) {
                    // A path has already been computed. Gets the next hop.
                    target = path[0];
                    // Pops the next hop from the path.
                    header2.addHeader(
                        MsgHeaderConstants.DEST_NODE_PATH,
                        NodeInfo.pop(path));
                    RemoteNode remoteNode = findRemoteNode(target);
                    if ( null == remoteNode ) {
                        throw new CommunicationException(target +
                            " has failed during a topology reconfiguration.");
                    }
                    out = remoteNode.getMsgConsumerOut();
                } else {
                    // A path has not already been computed. Computes one.
                    NodeInfo src = (NodeInfo)
                        header2.getHeader(MsgHeaderConstants.SRC_NODE);
                    NodeTopology topo = markTopology(header2);
                    path = topo.getPath(src, target);
                    if (null == path) {
                        throw new CommunicationException("{" + target
                            + "} is not reachable by {" + src +
                            "} in the topology " + topo);
                    }
                    RemoteNode remoteNode = findRemoteNode(path[0]);
                    if ( null == remoteNode ) {
                        throw new CommunicationException(path[0] +
                            " has failed during a topology reconfiguration.");
                    }
                    out = remoteNode.getMsgConsumerOut();
                   
                    // Inserts the computed path and the new dests.
                    header2.addHeader(MsgHeaderConstants.DEST_NODE_PATH, NodeInfo.pop(path));
                    header2.addHeader(MsgHeaderConstants.DEST_NODES, target);
                }
                out.push(msg2);
            }
        }
View Full Code Here

Examples of org.apache.geronimo.messaging.MsgHeader

    }
   
    public void afterPop(StreamInputStream anIn, Msg aMsg, Object anOpaque)
        throws IOException {
        List prePop = (List) anOpaque;
        MsgHeader header = aMsg.getHeader();
        header.addHeader(MsgHeaderConstants.BODY_TYPE, prePop.get(0));
        header.addHeader(MsgHeaderConstants.CORRELATION_ID, prePop.get(1));
        if ( 5 != prePop.size() ) {
            return;
        }
        header.addHeader(MsgHeaderConstants.SRC_NODE, prePop.get(2));
        header.addHeader(MsgHeaderConstants.DEST_NODE, prePop.get(3));
        header.addHeader(MsgHeaderConstants.DEST_NODES, prePop.get(4));
    }
View Full Code Here

Examples of org.apache.geronimo.messaging.MsgHeader

        header.addHeader(MsgHeaderConstants.DEST_NODES, prePop.get(4));
    }
   
    public Object beforePush(StreamOutputStream anOut, Msg aMsg)
        throws IOException {
        MsgHeader header = aMsg.getHeader();
        MsgBody.Type type  = (MsgBody.Type)
            header.resetHeader(MsgHeaderConstants.BODY_TYPE);
        if ( type == MsgBody.Type.REQUEST ) {
            anOut.writeByte(REQUEST);
        } else {
            anOut.writeByte(RESPONSE);
        }
        RequestSender.RequestID reqID  = (RequestSender.RequestID)
            header.resetHeader(MsgHeaderConstants.CORRELATION_ID);
        anOut.writeByte(reqID.getID());
        Integer version = (Integer)
            header.getHeader(MsgHeaderConstants.TOPOLOGY_VERSION);
        NodeTopology topology = getTopology(version.intValue());
        // Uses only the current topology to compress the data.
        if ( null == topology || preparedTopology == topology ) {
            anOut.writeByte(NULL);
            return null;
        }
        anOut.writeByte(TOPOLOGY);
        anOut.writeInt(topology.getVersion());
       
        NodeInfo info =
            (NodeInfo) header.resetHeader(MsgHeaderConstants.SRC_NODE);
        anOut.writeInt(topology.getIDOfNode(info));
       
        info =
           (NodeInfo) header.resetHeader(MsgHeaderConstants.DEST_NODE);
        anOut.writeInt(topology.getIDOfNode(info));
       
        NodeInfo target =
            (NodeInfo) header.resetHeader(MsgHeaderConstants.DEST_NODES);
        anOut.writeInt(topology.getIDOfNode(target));
        return null;
    }
View Full Code Here

Examples of org.apache.geronimo.messaging.MsgHeader

    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());
View Full Code Here

Examples of org.apache.geronimo.messaging.MsgHeader

       
        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);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.