本文整理汇总了Java中org.apache.mina.core.filterchain.IoFilterChain类的典型用法代码示例。如果您正苦于以下问题:Java IoFilterChain类的具体用法?Java IoFilterChain怎么用?Java IoFilterChain使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
IoFilterChain类属于org.apache.mina.core.filterchain包,在下文中一共展示了IoFilterChain类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onPostRemove
import org.apache.mina.core.filterchain.IoFilterChain; //导入依赖的package包/类
@Override
public void onPostRemove(IoFilterChain parent, String name, NextFilter nextFilter) throws Exception {
super.onPostRemove(parent, name, nextFilter);
IoSession session = parent.getSession();
if (session == null) {
return;
}
Zlib inflater = (Zlib) session.getAttribute(INFLATER);
Zlib deflater = (Zlib) session.getAttribute(DEFLATER);
if (deflater != null) {
deflater.cleanUp();
}
if (inflater != null) {
inflater.cleanUp();
}
}
示例2: onPreAdd
import org.apache.mina.core.filterchain.IoFilterChain; //导入依赖的package包/类
/**
* Executed just before the filter is added into the chain, we do :
* <ul>
* <li>check that we don't have a SSL filter already present
* <li>we update the next filter
* <li>we create the SSL handler helper class
* <li>and we store it into the session's Attributes
* </ul>
*/
@Override
public void onPreAdd(IoFilterChain parent, String name, NextFilter nextFilter) throws SSLException {
// Check that we don't have a SSL filter already present in the chain
if (parent.contains(SslFilter.class)) {
String msg = "Only one SSL filter is permitted in a chain.";
LOGGER.error(msg);
throw new IllegalStateException(msg);
}
LOGGER.debug("Adding the SSL Filter {} to the chain", name);
IoSession session = parent.getSession();
session.setAttribute(NEXT_FILTER, nextFilter);
// Create a SSL handler and start handshake.
SslHandler handler = new SslHandler(this, session);
handler.init();
session.setAttribute(SSL_HANDLER, handler);
}
示例3: onPreAdd
import org.apache.mina.core.filterchain.IoFilterChain; //导入依赖的package包/类
/**
* Executed just before the filter is added into the chain, we do :
* <ul>
* <li>check that we don't have a SSL filter already present
* <li>we update the next filter
* <li>we create the SSL handler helper class
* <li>and we store it into the session's Attributes
* </ul>
*/
@Override
public void onPreAdd(IoFilterChain chain, String name, NextFilter nextFilter) throws SSLException {
// Check that we don't have a SSL filter already present in the chain
if (chain.getEntry(SslFilter.class) != null) {
throw new IllegalStateException("Only one SSL filter is permitted in a chain.");
}
IoSession session = chain.getSession();
// Create a SSL handler and start handshake.
SslHandler sslHandler = new SslHandler(this, session);
// Adding the supported ciphers in the SSLHandler
if (enabledCipherSuites == null || enabledCipherSuites.length == 0) {
enabledCipherSuites = sslContext.getServerSocketFactory().getSupportedCipherSuites();
}
sslHandler.init();
session.setAttribute(SSL_HANDLER, sslHandler);
}
示例4: fireSessionCreated
import org.apache.mina.core.filterchain.IoFilterChain; //导入依赖的package包/类
/**
* Calls {@link IoServiceListener#sessionCreated(IoSession)} for all registered listeners.
*
* @param session The session which has been created
*/
public final void fireSessionCreated(IoSession session) {
boolean firstSession = false;
if (session.getService() instanceof IoConnector) {
firstSession = managedSessions.isEmpty();
}
// If already registered, ignore.
if (managedSessions.putIfAbsent(session.getId(), session) != null) {
return;
}
// If the first connector session, fire a virtual service activation event.
if (firstSession) {
fireServiceActivated();
}
// Fire session events.
IoFilterChain filterChain = session.getFilterChain();
filterChain.fireSessionCreated();
filterChain.fireSessionOpened();
}
示例5: buildFilterChain
import org.apache.mina.core.filterchain.IoFilterChain; //导入依赖的package包/类
@Override
public void buildFilterChain ( final IoFilterChain chain )
{
for ( final Entry entry : this.filters )
{
final IoFilter filter = entry.getFactory ().create ();
if ( filter != null )
{
chain.addLast ( entry.getName (), filter );
}
}
}
示例6: onPreAdd
import org.apache.mina.core.filterchain.IoFilterChain; //导入依赖的package包/类
@Override
public void onPreAdd(IoFilterChain parent, String name, NextFilter nextFilter) throws Exception {
if (parent.contains(CompressionFilter.class)) {
throw new IllegalStateException("Only one " + CompressionFilter.class + " is permitted.");
}
Zlib deflater = new Zlib(compressionLevel, Zlib.MODE_DEFLATER);
Zlib inflater = new Zlib(compressionLevel, Zlib.MODE_INFLATER);
IoSession session = parent.getSession();
session.setAttribute(DEFLATER, deflater);
session.setAttribute(INFLATER, inflater);
}
示例7: onPreAdd
import org.apache.mina.core.filterchain.IoFilterChain; //导入依赖的package包/类
@Override
public void onPreAdd(IoFilterChain parent, String name, NextFilter nextFilter) throws Exception {
Class<? extends IoFilterAdapter> clazz = getClass();
if (parent.contains(clazz)) {
throw new IllegalStateException("Only one " + clazz.getName() + " is permitted.");
}
}
示例8: onPreAdd
import org.apache.mina.core.filterchain.IoFilterChain; //导入依赖的package包/类
@Override
public void onPreAdd(IoFilterChain parent, String name, NextFilter nextFilter) throws Exception {
if (parent.contains(this)) {
throw new IllegalArgumentException("You can't add the same filter instance more than once. "
+ "Create another instance and add it.");
}
}
示例9: onPreAdd
import org.apache.mina.core.filterchain.IoFilterChain; //导入依赖的package包/类
@Override
public void onPreAdd(IoFilterChain parent, String name, NextFilter nextFilter) throws Exception {
if (parent.contains(this)) {
throw new IllegalArgumentException(
"You can't add the same filter instance more than once. Create another instance and add it.");
}
IoSession session = parent.getSession();
session.setAttribute(RESPONSE_INSPECTOR, responseInspectorFactory.getResponseInspector());
session.setAttribute(REQUEST_STORE, createRequestStore(session));
session.setAttribute(UNRESPONDED_REQUEST_STORE, createUnrespondedRequestStore(session));
}
示例10: onPostRemove
import org.apache.mina.core.filterchain.IoFilterChain; //导入依赖的package包/类
@Override
public void onPostRemove(IoFilterChain parent, String name, NextFilter nextFilter) throws Exception {
IoSession session = parent.getSession();
destroyUnrespondedRequestStore(getUnrespondedRequestStore(session));
destroyRequestStore(getRequestStore(session));
session.removeAttribute(UNRESPONDED_REQUEST_STORE);
session.removeAttribute(REQUEST_STORE);
session.removeAttribute(RESPONSE_INSPECTOR);
}
示例11: onPreRemove
import org.apache.mina.core.filterchain.IoFilterChain; //导入依赖的package包/类
@Override
public void onPreRemove(IoFilterChain parent, String name, NextFilter nextFilter) throws SSLException {
IoSession session = parent.getSession();
stopSsl(session);
session.removeAttribute(NEXT_FILTER);
session.removeAttribute(SSL_HANDLER);
}
示例12: onPreAdd
import org.apache.mina.core.filterchain.IoFilterChain; //导入依赖的package包/类
@Override
public void onPreAdd(IoFilterChain parent, String name, NextFilter nextFilter) throws Exception {
if (parent.contains(this)) {
throw new IllegalArgumentException(
"You can't add the same filter instance more than once. Create another instance and add it.");
}
}
示例13: onPreAdd
import org.apache.mina.core.filterchain.IoFilterChain; //导入依赖的package包/类
public synchronized void onPreAdd(IoFilterChain parent, String name, NextFilter nextFilter) throws Exception {
if (0 == count) {
filter.init();
}
++count;
filter.onPreAdd(parent, name, nextFilter);
}
示例14: onPostRemove
import org.apache.mina.core.filterchain.IoFilterChain; //导入依赖的package包/类
public synchronized void onPostRemove(IoFilterChain parent, String name, NextFilter nextFilter) throws Exception {
filter.onPostRemove(parent, name, nextFilter);
--count;
if (0 == count) {
filter.destroy();
}
}
示例15: onPreAdd
import org.apache.mina.core.filterchain.IoFilterChain; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
public void onPreAdd(IoFilterChain parent, String name, NextFilter nextFilter) throws Exception {
if (parent.contains(this)) {
throw new IllegalArgumentException(
"You can't add the same filter instance more than once. Create another instance and add it.");
}
}