本文整理汇总了Java中org.apache.catalina.tribes.ChannelReceiver.MAX_UDP_SIZE属性的典型用法代码示例。如果您正苦于以下问题:Java ChannelReceiver.MAX_UDP_SIZE属性的具体用法?Java ChannelReceiver.MAX_UDP_SIZE怎么用?Java ChannelReceiver.MAX_UDP_SIZE使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类org.apache.catalina.tribes.ChannelReceiver
的用法示例。
在下文中一共展示了ChannelReceiver.MAX_UDP_SIZE属性的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: run
@Override
public synchronized void run() {
if ( buffer == null ) {
int size = getRxBufSize();
if (key.channel() instanceof DatagramChannel) {
size = ChannelReceiver.MAX_UDP_SIZE;
}
if ( (getOptions() & OPTION_DIRECT_BUFFER) == OPTION_DIRECT_BUFFER) {
buffer = ByteBuffer.allocateDirect(size);
} else {
buffer = ByteBuffer.allocate(size);
}
} else {
buffer.clear();
}
if (key == null) {
return; // just in case
}
if ( log.isTraceEnabled() )
log.trace("Servicing key:"+key);
try {
ObjectReader reader = (ObjectReader)key.attachment();
if ( reader == null ) {
if ( log.isTraceEnabled() )
log.trace("No object reader, cancelling:"+key);
cancelKey(key);
} else {
if ( log.isTraceEnabled() )
log.trace("Draining channel:"+key);
drainChannel(key, reader);
}
} catch (Exception e) {
//this is common, since the sockets on the other
//end expire after a certain time.
if ( e instanceof CancelledKeyException ) {
//do nothing
} else if ( e instanceof IOException ) {
//dont spew out stack traces for IO exceptions unless debug is enabled.
if (log.isDebugEnabled()) log.debug ("IOException in replication worker, unable to drain channel. Probable cause: Keep alive socket closed["+e.getMessage()+"].", e);
else log.warn ("IOException in replication worker, unable to drain channel. Probable cause: Keep alive socket closed["+e.getMessage()+"].");
} else if ( log.isErrorEnabled() ) {
//this is a real error, log it.
log.error("Exception caught in TcpReplicationThread.drainChannel.",e);
}
cancelKey(key);
} finally {
}
key = null;
// done, ready for more, return to pool
getTaskPool().returnWorker (this);
}
示例2: run
@Override
public synchronized void run() {
if (buffer == null) {
int size = getRxBufSize();
if (key.channel() instanceof DatagramChannel) {
size = ChannelReceiver.MAX_UDP_SIZE;
}
if ((getOptions() & OPTION_DIRECT_BUFFER) == OPTION_DIRECT_BUFFER) {
buffer = ByteBuffer.allocateDirect(size);
} else {
buffer = ByteBuffer.allocate(size);
}
} else {
buffer.clear();
}
if (key == null) {
return; // just in case
}
if (log.isTraceEnabled())
log.trace("Servicing key:" + key);
try {
ObjectReader reader = (ObjectReader) key.attachment();
if (reader == null) {
if (log.isTraceEnabled())
log.trace("No object reader, cancelling:" + key);
cancelKey(key);
} else {
if (log.isTraceEnabled())
log.trace("Draining channel:" + key);
drainChannel(key, reader);
}
} catch (Exception e) {
// this is common, since the sockets on the other
// end expire after a certain time.
if (e instanceof CancelledKeyException) {
// do nothing
} else if (e instanceof IOException) {
// dont spew out stack traces for IO exceptions unless debug is
// enabled.
if (log.isDebugEnabled())
log.debug(
"IOException in replication worker, unable to drain channel. Probable cause: Keep alive socket closed["
+ e.getMessage() + "].",
e);
else
log.warn(
"IOException in replication worker, unable to drain channel. Probable cause: Keep alive socket closed["
+ e.getMessage() + "].");
} else if (log.isErrorEnabled()) {
// this is a real error, log it.
log.error("Exception caught in TcpReplicationThread.drainChannel.", e);
}
cancelKey(key);
} finally {
}
key = null;
// done, ready for more, return to pool
getTaskPool().returnWorker(this);
}