java remote addr_Java RemotingHelper.parseChannelRemoteAddr方法代碼示例

本文整理匯總了Java中org.apache.rocketmq.remoting.common.RemotingHelper.parseChannelRemoteAddr方法的典型用法代碼示例。如果您正苦於以下問題:Java RemotingHelper.parseChannelRemoteAddr方法的具體用法?Java RemotingHelper.parseChannelRemoteAddr怎麽用?Java RemotingHelper.parseChannelRemoteAddr使用的例子?那麽恭喜您, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.apache.rocketmq.remoting.common.RemotingHelper的用法示例。

在下文中一共展示了RemotingHelper.parseChannelRemoteAddr方法的18個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於我們的係統推薦出更棒的Java代碼示例。

示例1: userEventTriggered

​點讚 3

import org.apache.rocketmq.remoting.common.RemotingHelper; //導入方法依賴的package包/類

@Override

public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {

if (evt instanceof IdleStateEvent) {

IdleStateEvent event = (IdleStateEvent) evt;

if (event.state().equals(IdleState.ALL_IDLE)) {

final String remoteAddress = RemotingHelper.parseChannelRemoteAddr(ctx.channel());

log.warn("NETTY CLIENT PIPELINE: IDLE exception [{}]", remoteAddress);

closeChannel(ctx.channel());

if (NettyRemotingClient.this.channelEventListener != null) {

NettyRemotingClient.this

.putNettyEvent(new NettyEvent(NettyEventType.IDLE, remoteAddress, ctx.channel()));

}

}

}

ctx.fireUserEventTriggered(evt);

}

開發者ID:lirenzuo,項目名稱:rocketmq-rocketmq-all-4.1.0-incubating,代碼行數:18,

示例2: checkTransactionState

​點讚 3

import org.apache.rocketmq.remoting.common.RemotingHelper; //導入方法依賴的package包/類

public RemotingCommand checkTransactionState(ChannelHandlerContext ctx, RemotingCommand request) throws RemotingCommandException {

final CheckTransactionStateRequestHeader requestHeader =

(CheckTransactionStateRequestHeader) request.decodeCommandCustomHeader(CheckTransactionStateRequestHeader.class);

final ByteBuffer byteBuffer = ByteBuffer.wrap(request.getBody());

final MessageExt messageExt = MessageDecoder.decode(byteBuffer);

if (messageExt != null) {

final String group = messageExt.getProperty(MessageConst.PROPERTY_PRODUCER_GROUP);

if (group != null) {

MQProducerInner producer = this.mqClientFactory.selectProducer(group);

if (producer != null) {

final String addr = RemotingHelper.parseChannelRemoteAddr(ctx.channel());

producer.checkTransactionState(addr, messageExt, requestHeader);

} else {

log.debug("checkTransactionState, pick producer by group[{}] failed", group);

}

} else {

log.warn("checkTransactionState, pick producer group failed");

}

} else {

log.warn("checkTransactionState, decode message failed");

}

return null;

}

開發者ID:lyy4j,項目名稱:rmq4note,代碼行數:25,

示例3: userEventTriggered

​點讚 3

import org.apache.rocketmq.remoting.common.RemotingHelper; //導入方法依賴的package包/類

@Override

public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {

if (evt instanceof IdleStateEvent) {

/**

*IdleStateEvent事件,在指定時間沒有進行讀寫,會進行回調

*/

IdleStateEvent event = (IdleStateEvent) evt;

if (event.state().equals(IdleState.ALL_IDLE)) {

final String remoteAddress = RemotingHelper.parseChannelRemoteAddr(ctx.channel());

log.warn("NETTY SERVER PIPELINE: IDLE exception [{}]", remoteAddress);

RemotingUtil.closeChannel(ctx.channel()); //關閉channel

if (NettyRemotingServer.this.channelEventListener != null) {

NettyRemotingServer.this

.putNettyEvent(new NettyEvent(NettyEventType.IDLE, remoteAddress, ctx.channel()));

}

}

}

ctx.fireUserEventTriggered(evt);

}

開發者ID:lirenzuo,項目名稱:rocketmq-rocketmq-all-4.1.0-incubating,代碼行數:21,

示例4: userEventTriggered

​點讚 3

import org.apache.rocketmq.remoting.common.RemotingHelper; //導入方法依賴的package包/類

@Override

public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {

if (evt instanceof IdleStateEvent) {

IdleStateEvent event = (IdleStateEvent) evt;

if (event.state().equals(IdleState.ALL_IDLE)) {

final String remoteAddress = RemotingHelper.parseChannelRemoteAddr(ctx.channel());

log.warn("NETTY CLIENT PIPELINE: IDLE exception [{}]", remoteAddress);

closeChannel(ctx.channel());

if (NettyRemotingClient.this.channelEventListener != null) {

NettyRemotingClient.this

.putNettyEvent(new NettyEvent(NettyEventType.IDLE, remoteAddress.toString(), ctx.channel()));

}

}

}

ctx.fireUserEventTriggered(evt);

}

開發者ID:lyy4j,項目名稱:rmq4note,代碼行數:18,

示例5: userEventTriggered

​點讚 3

import org.apache.rocketmq.remoting.common.RemotingHelper; //導入方法依賴的package包/類

@Override

public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {

if (evt instanceof IdleStateEvent) {

IdleStateEvent evnet = (IdleStateEvent) evt;

if (evnet.state().equals(IdleState.ALL_IDLE)) {

final String remoteAddress = RemotingHelper.parseChannelRemoteAddr(ctx.channel());

log.warn("NETTY SERVER PIPELINE: IDLE exception [{}]", remoteAddress);

RemotingUtil.closeChannel(ctx.channel());

if (NettyRemotingServer.this.channelEventListener != null) {

NettyRemotingServer.this

.putNettyEvent(new NettyEvent(NettyEventType.IDLE, remoteAddress.toString(), ctx.channel()));

}

}

}

ctx.fireUserEventTriggered(evt);

}

開發者ID:lyy4j,項目名稱:rmq4note,代碼行數:18,

示例6: disconnect

​點讚 2

import org.apache.rocketmq.remoting.common.RemotingHelper; //導入方法依賴的package包/類

@Override

public void disconnect(ChannelHandlerContext ctx, ChannelPromise promise) throws Exception {

final String remoteAddress = RemotingHelper.parseChannelRemoteAddr(ctx.channel());

log.info("NETTY CLIENT PIPELINE: DISCONNECT {}", remoteAddress);

closeChannel(ctx.channel());

super.disconnect(ctx, promise);

if (NettyRemotingClient.this.channelEventListener != null) {

NettyRemotingClient.this.putNettyEvent(new NettyEvent(NettyEventType.CLOSE, remoteAddress, ctx.channel()));

}

}

開發者ID:lirenzuo,項目名稱:rocketmq-rocketmq-all-4.1.0-incubating,代碼行數:12,

示例7: close

​點讚 2

import org.apache.rocketmq.remoting.common.RemotingHelper; //導入方法依賴的package包/類

@Override

public void close(ChannelHandlerContext ctx, ChannelPromise promise) throws Exception {

final String remoteAddress = RemotingHelper.parseChannelRemoteAddr(ctx.channel());

log.info("NETTY CLIENT PIPELINE: CLOSE {}", remoteAddress);

closeChannel(ctx.channel());

super.close(ctx, promise);

if (NettyRemotingClient.this.channelEventListener != null) {

NettyRemotingClient.this.putNettyEvent(new NettyEvent(NettyEventType.CLOSE, remoteAddress, ctx.channel()));

}

}

開發者ID:lirenzuo,項目名稱:rocketmq-rocketmq-all-4.1.0-incubating,代碼行數:12,

示例8: exceptionCaught

​點讚 2

import org.apache.rocketmq.remoting.common.RemotingHelper; //導入方法依賴的package包/類

@Override

public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {

final String remoteAddress = RemotingHelper.parseChannelRemoteAddr(ctx.channel());

log.warn("NETTY SERVER PIPELINE: exceptionCaught {}", remoteAddress);

log.warn("NETTY SERVER PIPELINE: exceptionCaught exception.", cause);

if (NettyRemotingServer.this.channelEventListener != null) {

NettyRemotingServer.this.putNettyEvent(new NettyEvent(NettyEventType.EXCEPTION, remoteAddress.toString(), ctx.channel()));

}

RemotingUtil.closeChannel(ctx.channel());

}

開發者ID:lyy4j,項目名稱:rmq4note,代碼行數:13,

示例9: channelActive

​點讚 2

import org.apache.rocketmq.remoting.common.RemotingHelper; //導入方法依賴的package包/類

@Override

public void channelActive(ChannelHandlerContext ctx) throws Exception {

final String remoteAddress = RemotingHelper.parseChannelRemoteAddr(ctx.channel());

log.info("NETTY SERVER PIPELINE: channelActive, the channel[{}]", remoteAddress);

super.channelActive(ctx);

if (NettyRemotingServer.this.channelEventListener != null) {

NettyRemotingServer.this.putNettyEvent(new NettyEvent(NettyEventType.CONNECT, remoteAddress, ctx.channel()));//eventQueue存事件

}

}

開發者ID:lirenzuo,項目名稱:rocketmq-rocketmq-all-4.1.0-incubating,代碼行數:11,

示例10: channelInactive

​點讚 2

import org.apache.rocketmq.remoting.common.RemotingHelper; //導入方法依賴的package包/類

@Override

public void channelInactive(ChannelHandlerContext ctx) throws Exception {

final String remoteAddress = RemotingHelper.parseChannelRemoteAddr(ctx.channel());

log.info("NETTY SERVER PIPELINE: channelInactive, the channel[{}]", remoteAddress);

super.channelInactive(ctx);

if (NettyRemotingServer.this.channelEventListener != null) {

NettyRemotingServer.this.putNettyEvent(new NettyEvent(NettyEventType.CLOSE, remoteAddress, ctx.channel()));

}

}

開發者ID:lirenzuo,項目名稱:rocketmq-rocketmq-all-4.1.0-incubating,代碼行數:11,

示例11: exceptionCaught

​點讚 2

import org.apache.rocketmq.remoting.common.RemotingHelper; //導入方法依賴的package包/類

@Override

public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {

final String remoteAddress = RemotingHelper.parseChannelRemoteAddr(ctx.channel());

log.warn("NETTY SERVER PIPELINE: exceptionCaught {}", remoteAddress);

log.warn("NETTY SERVER PIPELINE: exceptionCaught exception.", cause);

if (NettyRemotingServer.this.channelEventListener != null) {

NettyRemotingServer.this.putNettyEvent(new NettyEvent(NettyEventType.EXCEPTION, remoteAddress, ctx.channel()));

}

RemotingUtil.closeChannel(ctx.channel());

}

開發者ID:lirenzuo,項目名稱:rocketmq-rocketmq-all-4.1.0-incubating,代碼行數:13,

示例12: invokeOnewayImpl

​點讚 2

import org.apache.rocketmq.remoting.common.RemotingHelper; //導入方法依賴的package包/類

public void invokeOnewayImpl(final Channel channel, final RemotingCommand request, final long timeoutMillis)

throws InterruptedException, RemotingTooMuchRequestException, RemotingTimeoutException, RemotingSendRequestException {

request.markOnewayRPC();

boolean acquired = this.semaphoreOneway.tryAcquire(timeoutMillis, TimeUnit.MILLISECONDS);

if (acquired) {

final SemaphoreReleaseOnlyOnce once = new SemaphoreReleaseOnlyOnce(this.semaphoreOneway);

try {

channel.writeAndFlush(request).addListener(new ChannelFutureListener() {

@Override

public void operationComplete(ChannelFuture f) throws Exception {

once.release();

if (!f.isSuccess()) {

PLOG.warn("send a request command to channel failed.");

}

}

});

} catch (Exception e) {

once.release();

PLOG.warn("write send a request command to channel failed.");

throw new RemotingSendRequestException(RemotingHelper.parseChannelRemoteAddr(channel), e);

}

} else {

if (timeoutMillis <= 0) {

throw new RemotingTooMuchRequestException("invokeOnewayImpl invoke too fast");

} else {

String info = String.format(

"invokeOnewayImpl tryAcquire semaphore timeout, %dms, waiting thread nums: %d semaphoreAsyncValue: %d", //

timeoutMillis, //

this.semaphoreOneway.getQueueLength(), //

this.semaphoreOneway.availablePermits()//

);

PLOG.warn(info);

throw new RemotingTimeoutException(info);

}

}

}

開發者ID:lyy4j,項目名稱:rmq4note,代碼行數:37,

示例13: disconnect

​點讚 2

import org.apache.rocketmq.remoting.common.RemotingHelper; //導入方法依賴的package包/類

@Override

public void disconnect(ChannelHandlerContext ctx, ChannelPromise promise) throws Exception {

final String remoteAddress = RemotingHelper.parseChannelRemoteAddr(ctx.channel());

log.info("NETTY CLIENT PIPELINE: DISCONNECT {}", remoteAddress);

closeChannel(ctx.channel());

super.disconnect(ctx, promise);

if (NettyRemotingClient.this.channelEventListener != null) {

NettyRemotingClient.this.putNettyEvent(new NettyEvent(NettyEventType.CLOSE, remoteAddress.toString(), ctx.channel()));

}

}

開發者ID:lyy4j,項目名稱:rmq4note,代碼行數:12,

示例14: close

​點讚 2

import org.apache.rocketmq.remoting.common.RemotingHelper; //導入方法依賴的package包/類

@Override

public void close(ChannelHandlerContext ctx, ChannelPromise promise) throws Exception {

final String remoteAddress = RemotingHelper.parseChannelRemoteAddr(ctx.channel());

log.info("NETTY CLIENT PIPELINE: CLOSE {}", remoteAddress);

closeChannel(ctx.channel());

super.close(ctx, promise);

if (NettyRemotingClient.this.channelEventListener != null) {

NettyRemotingClient.this.putNettyEvent(new NettyEvent(NettyEventType.CLOSE, remoteAddress.toString(), ctx.channel()));

}

}

開發者ID:lyy4j,項目名稱:rmq4note,代碼行數:12,

示例15: channelActive

​點讚 2

import org.apache.rocketmq.remoting.common.RemotingHelper; //導入方法依賴的package包/類

@Override

public void channelActive(ChannelHandlerContext ctx) throws Exception {

final String remoteAddress = RemotingHelper.parseChannelRemoteAddr(ctx.channel());

log.info("NETTY SERVER PIPELINE: channelActive, the channel[{}]", remoteAddress);

super.channelActive(ctx);

if (NettyRemotingServer.this.channelEventListener != null) {

NettyRemotingServer.this.putNettyEvent(new NettyEvent(NettyEventType.CONNECT, remoteAddress.toString(), ctx.channel()));

}

}

開發者ID:lyy4j,項目名稱:rmq4note,代碼行數:11,

示例16: channelInactive

​點讚 2

import org.apache.rocketmq.remoting.common.RemotingHelper; //導入方法依賴的package包/類

@Override

public void channelInactive(ChannelHandlerContext ctx) throws Exception {

final String remoteAddress = RemotingHelper.parseChannelRemoteAddr(ctx.channel());

log.info("NETTY SERVER PIPELINE: channelInactive, the channel[{}]", remoteAddress);

super.channelInactive(ctx);

if (NettyRemotingServer.this.channelEventListener != null) {

NettyRemotingServer.this.putNettyEvent(new NettyEvent(NettyEventType.CLOSE, remoteAddress.toString(), ctx.channel()));

}

}

開發者ID:lyy4j,項目名稱:rmq4note,代碼行數:11,

示例17: channelRegistered

​點讚 2

import org.apache.rocketmq.remoting.common.RemotingHelper; //導入方法依賴的package包/類

@Override

public void channelRegistered(ChannelHandlerContext ctx) throws Exception {

final String remoteAddress = RemotingHelper.parseChannelRemoteAddr(ctx.channel());

log.info("NETTY SERVER PIPELINE: channelRegistered {}", remoteAddress);

super.channelRegistered(ctx);

}

開發者ID:lirenzuo,項目名稱:rocketmq-rocketmq-all-4.1.0-incubating,代碼行數:7,

示例18: channelUnregistered

​點讚 2

import org.apache.rocketmq.remoting.common.RemotingHelper; //導入方法依賴的package包/類

@Override

public void channelUnregistered(ChannelHandlerContext ctx) throws Exception {

final String remoteAddress = RemotingHelper.parseChannelRemoteAddr(ctx.channel());

log.info("NETTY SERVER PIPELINE: channelUnregistered, the channel[{}]", remoteAddress);

super.channelUnregistered(ctx);

}

開發者ID:lyy4j,項目名稱:rmq4note,代碼行數:7,

注:本文中的org.apache.rocketmq.remoting.common.RemotingHelper.parseChannelRemoteAddr方法示例整理自Github/MSDocs等源碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值