本文整理汇总了Scala中javax.net.ssl.SSLException类的典型用法代码示例。如果您正苦于以下问题:Scala SSLException类的具体用法?Scala SSLException怎么用?Scala SSLException使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SSLException类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Scala代码示例。
示例1: SslShutdownHandler
//设置package包名称以及导入依赖的类
package com.twitter.finagle.ssl
import java.lang.reflect.Method
import java.util.logging.Logger
import javax.net.ssl.SSLException
import org.jboss.netty.channel.{
ChannelHandlerContext, ChannelStateEvent, ExceptionEvent, SimpleChannelUpstreamHandler
}
class SslShutdownHandler(o: Object) extends SimpleChannelUpstreamHandler {
private[this] val log = Logger.getLogger(getClass().getName())
private[this] val shutdownMethod: Option[Method] =
try {
Some(o.getClass().getMethod("shutdown"))
} catch {
case _: NoSuchMethodException => None
}
private[this] def shutdownAfterChannelClosure() {
shutdownMethod foreach { method: Method =>
method.invoke(o)
}
}
override def exceptionCaught(ctx: ChannelHandlerContext, e: ExceptionEvent) {
// remove the ssl handler so that it doesn't trap the disconnect
if (e.getCause.isInstanceOf[SSLException])
ctx.getPipeline.remove("ssl")
super.exceptionCaught(ctx, e)
}
override def channelClosed(ctx: ChannelHandlerContext, e: ChannelStateEvent) {
shutdownAfterChannelClosure()
super.channelClosed(ctx, e)
}
}