Search in sources :

Example 1 with ProducerId

use of pers.cy.iris.commons.network.netty.session.ProducerId in project iris by chicc999.

the class NettyClientTest method init.

private void init() {
    nettyClient = new NettyClient(new NettyClientConfig());
    try {
        nettyClient.start();
    } catch (Exception e) {
        e.printStackTrace();
    }
    try {
        Channel channel = nettyClient.createChannelSync(new InetSocketAddress("localhost", 50088));
        PutMessage command = new PutMessage();
        command.setProducerId(new ProducerId(new ConnectionId(new ClientId("1.0", "localhost", System.currentTimeMillis()))));
        Message message = new Message("test", "第一条消息", "1");
        message.setApp("app");
        Message[] messages = new Message[1];
        messages[0] = message;
        command.setMessages(messages);
        Command command1 = nettyClient.sync(channel, command, 10000);
        if (command1.getHeader().getStatus() != 200) {
            System.out.println(command1.getHeader().getError());
        }
    } catch (ConnectException e) {
        e.printStackTrace();
    } catch (RequestTimeoutException e) {
        e.printStackTrace();
    } catch (RemotingIOException e) {
        e.printStackTrace();
    }
}
Also used : Message(pers.cy.iris.commons.model.message.Message) PutMessage(pers.cy.iris.commons.network.protocol.request.PutMessage) ProducerId(pers.cy.iris.commons.network.netty.session.ProducerId) InetSocketAddress(java.net.InetSocketAddress) Channel(io.netty.channel.Channel) RemotingIOException(pers.cy.iris.commons.exception.RemotingIOException) RequestTimeoutException(pers.cy.iris.commons.exception.RequestTimeoutException) ConnectException(pers.cy.iris.commons.exception.ConnectException) RemotingIOException(pers.cy.iris.commons.exception.RemotingIOException) NettyClient(pers.cy.iris.commons.network.netty.client.NettyClient) RequestTimeoutException(pers.cy.iris.commons.exception.RequestTimeoutException) ConnectionId(pers.cy.iris.commons.network.netty.session.ConnectionId) Command(pers.cy.iris.commons.network.protocol.Command) NettyClientConfig(pers.cy.iris.commons.network.netty.client.NettyClientConfig) ClientId(pers.cy.iris.commons.network.netty.session.ClientId) PutMessage(pers.cy.iris.commons.network.protocol.request.PutMessage) ConnectException(pers.cy.iris.commons.exception.ConnectException)

Example 2 with ProducerId

use of pers.cy.iris.commons.network.netty.session.ProducerId in project iris by chicc999.

the class PutMessage method decodeBody.

@Override
protected void decodeBody(ByteBuf in) throws Exception {
    producerId = new ProducerId(Serializer.readByteString(in));
    //读取消息条数
    int count = in.readInt();
    // 需要解码为BrokerMessage类型
    messages = new Message[count];
    for (int i = 0; i < count; i++) {
        Message message = new Message();
        messages[i] = message.decode(in);
    }
    // 队列ID
    queueId = in.readShort();
}
Also used : Message(pers.cy.iris.commons.model.message.Message) ProducerId(pers.cy.iris.commons.network.netty.session.ProducerId)

Aggregations

Message (pers.cy.iris.commons.model.message.Message)2 ProducerId (pers.cy.iris.commons.network.netty.session.ProducerId)2 Channel (io.netty.channel.Channel)1 InetSocketAddress (java.net.InetSocketAddress)1 ConnectException (pers.cy.iris.commons.exception.ConnectException)1 RemotingIOException (pers.cy.iris.commons.exception.RemotingIOException)1 RequestTimeoutException (pers.cy.iris.commons.exception.RequestTimeoutException)1 NettyClient (pers.cy.iris.commons.network.netty.client.NettyClient)1 NettyClientConfig (pers.cy.iris.commons.network.netty.client.NettyClientConfig)1 ClientId (pers.cy.iris.commons.network.netty.session.ClientId)1 ConnectionId (pers.cy.iris.commons.network.netty.session.ConnectionId)1 Command (pers.cy.iris.commons.network.protocol.Command)1 PutMessage (pers.cy.iris.commons.network.protocol.request.PutMessage)1