|
Spring Framework example source code file (Hessian2SkeletonInvoker.java)
The Spring Framework Hessian2SkeletonInvoker.java source code/* * Copyright 2002-2007 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.springframework.remoting.caucho; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import com.caucho.hessian.io.AbstractHessianOutput; import com.caucho.hessian.io.Hessian2Input; import com.caucho.hessian.io.Hessian2Output; import com.caucho.hessian.io.HessianDebugInputStream; import com.caucho.hessian.io.HessianDebugOutputStream; import com.caucho.hessian.io.HessianOutput; import com.caucho.hessian.io.SerializerFactory; import com.caucho.hessian.server.HessianSkeleton; import org.apache.commons.logging.Log; import org.springframework.util.CommonsLogWriter; /** * Concrete HessianSkeletonInvoker for the Hessian 2 protocol * (version 3.0.20 or higher). * * @author Juergen Hoeller * @author Andy Piper * @since 2.0 */ class Hessian2SkeletonInvoker extends HessianSkeletonInvoker { private final Log debugLogger; public Hessian2SkeletonInvoker(HessianSkeleton skeleton, SerializerFactory serializerFactory, Log debugLog) { super(skeleton, serializerFactory); this.debugLogger = debugLog; } public void invoke(final InputStream inputStream, final OutputStream outputStream) throws Throwable { InputStream isToUse = inputStream; OutputStream osToUse = outputStream; if (this.debugLogger != null && this.debugLogger.isDebugEnabled()) { PrintWriter debugWriter = new PrintWriter(new CommonsLogWriter(this.debugLogger)); isToUse = new HessianDebugInputStream(inputStream, debugWriter); osToUse = new HessianDebugOutputStream(outputStream, debugWriter); } Hessian2Input in = new Hessian2Input(isToUse); if (this.serializerFactory != null) { in.setSerializerFactory(this.serializerFactory); } int code = in.read(); if (code != 'c') { throw new IOException("expected 'c' in hessian input at " + code); } AbstractHessianOutput out = null; int major = in.read(); int minor = in.read(); if (major >= 2) { out = new Hessian2Output(osToUse); } else { out = new HessianOutput(osToUse); } if (this.serializerFactory != null) { out.setSerializerFactory(this.serializerFactory); } this.skeleton.invoke(in, out); } } Other Spring Framework examples (source code examples)Here is a short list of links related to this Spring Framework Hessian2SkeletonInvoker.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.