Search in sources :

Example 1 with Hessian2Input

use of com.caucho.hessian.io.Hessian2Input in project camel by apache.

the class HessianDataFormat method unmarshal.

@Override
public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
    final Hessian2Input in = new Hessian2Input(inputStream);
    try {
        in.startMessage();
        final Object obj = in.readObject();
        in.completeMessage();
        return obj;
    } finally {
        try {
            in.close();
        } catch (IOException e) {
        // ignore
        }
    }
}
Also used : Hessian2Input(com.caucho.hessian.io.Hessian2Input) IOException(java.io.IOException)

Example 2 with Hessian2Input

use of com.caucho.hessian.io.Hessian2Input in project bitrafael_public by GENERALBYTESCOM.

the class Serializer method deserializeTransaction.

public Transaction deserializeTransaction(byte[] data) {
    ByteArrayInputStream bis = new ByteArrayInputStream(data);
    Hessian2Input input = new Hessian2Input(bis);
    Object o = null;
    try {
        o = input.readObject();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return (Transaction) o;
}
Also used : Hessian2Input(com.caucho.hessian.io.Hessian2Input) ByteArrayInputStream(java.io.ByteArrayInputStream) IOException(java.io.IOException)

Example 3 with Hessian2Input

use of com.caucho.hessian.io.Hessian2Input in project spring-framework by spring-projects.

the class HessianExporter method doInvoke.

/**
	 * Actually invoke the skeleton with the given streams.
	 * @param skeleton the skeleton to invoke
	 * @param inputStream the request stream
	 * @param outputStream the response stream
	 * @throws Throwable if invocation failed
	 */
protected void doInvoke(HessianSkeleton skeleton, InputStream inputStream, OutputStream outputStream) throws Throwable {
    ClassLoader originalClassLoader = overrideThreadContextClassLoader();
    try {
        InputStream isToUse = inputStream;
        OutputStream osToUse = outputStream;
        if (this.debugLogger != null && this.debugLogger.isDebugEnabled()) {
            PrintWriter debugWriter = new PrintWriter(new CommonsLogWriter(this.debugLogger));
            @SuppressWarnings("resource") HessianDebugInputStream dis = new HessianDebugInputStream(inputStream, debugWriter);
            @SuppressWarnings("resource") HessianDebugOutputStream dos = new HessianDebugOutputStream(outputStream, debugWriter);
            dis.startTop2();
            dos.startTop2();
            isToUse = dis;
            osToUse = dos;
        }
        if (!isToUse.markSupported()) {
            isToUse = new BufferedInputStream(isToUse);
            isToUse.mark(1);
        }
        int code = isToUse.read();
        int major;
        int minor;
        AbstractHessianInput in;
        AbstractHessianOutput out;
        if (code == 'H') {
            // Hessian 2.0 stream
            major = isToUse.read();
            minor = isToUse.read();
            if (major != 0x02) {
                throw new IOException("Version " + major + '.' + minor + " is not understood");
            }
            in = new Hessian2Input(isToUse);
            out = new Hessian2Output(osToUse);
            in.readCall();
        } else if (code == 'C') {
            // Hessian 2.0 call... for some reason not handled in HessianServlet!
            isToUse.reset();
            in = new Hessian2Input(isToUse);
            out = new Hessian2Output(osToUse);
            in.readCall();
        } else if (code == 'c') {
            // Hessian 1.0 call
            major = isToUse.read();
            minor = isToUse.read();
            in = new HessianInput(isToUse);
            if (major >= 2) {
                out = new Hessian2Output(osToUse);
            } else {
                out = new HessianOutput(osToUse);
            }
        } else {
            throw new IOException("Expected 'H'/'C' (Hessian 2.0) or 'c' (Hessian 1.0) in hessian input at " + code);
        }
        if (this.serializerFactory != null) {
            in.setSerializerFactory(this.serializerFactory);
            out.setSerializerFactory(this.serializerFactory);
        }
        if (this.remoteResolver != null) {
            in.setRemoteResolver(this.remoteResolver);
        }
        try {
            skeleton.invoke(in, out);
        } finally {
            try {
                in.close();
                isToUse.close();
            } catch (IOException ex) {
            // ignore
            }
            try {
                out.close();
                osToUse.close();
            } catch (IOException ex) {
            // ignore
            }
        }
    } finally {
        resetThreadContextClassLoader(originalClassLoader);
    }
}
Also used : Hessian2Output(com.caucho.hessian.io.Hessian2Output) HessianInput(com.caucho.hessian.io.HessianInput) AbstractHessianInput(com.caucho.hessian.io.AbstractHessianInput) BufferedInputStream(java.io.BufferedInputStream) HessianDebugInputStream(com.caucho.hessian.io.HessianDebugInputStream) InputStream(java.io.InputStream) OutputStream(java.io.OutputStream) HessianDebugOutputStream(com.caucho.hessian.io.HessianDebugOutputStream) IOException(java.io.IOException) HessianOutput(com.caucho.hessian.io.HessianOutput) AbstractHessianOutput(com.caucho.hessian.io.AbstractHessianOutput) AbstractHessianInput(com.caucho.hessian.io.AbstractHessianInput) HessianDebugInputStream(com.caucho.hessian.io.HessianDebugInputStream) Hessian2Input(com.caucho.hessian.io.Hessian2Input) HessianDebugOutputStream(com.caucho.hessian.io.HessianDebugOutputStream) BufferedInputStream(java.io.BufferedInputStream) CommonsLogWriter(org.springframework.util.CommonsLogWriter) AbstractHessianOutput(com.caucho.hessian.io.AbstractHessianOutput) PrintWriter(java.io.PrintWriter)

Example 4 with Hessian2Input

use of com.caucho.hessian.io.Hessian2Input in project bitrafael_public by GENERALBYTESCOM.

the class Serializer method deserializePage.

public Page deserializePage(byte[] data) {
    ByteArrayInputStream bis = new ByteArrayInputStream(data);
    Hessian2Input input = new Hessian2Input(bis);
    Object o = null;
    try {
        o = input.readObject();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return (Page) o;
}
Also used : Hessian2Input(com.caucho.hessian.io.Hessian2Input) ByteArrayInputStream(java.io.ByteArrayInputStream) IOException(java.io.IOException)

Aggregations

Hessian2Input (com.caucho.hessian.io.Hessian2Input)4 IOException (java.io.IOException)4 ByteArrayInputStream (java.io.ByteArrayInputStream)2 AbstractHessianInput (com.caucho.hessian.io.AbstractHessianInput)1 AbstractHessianOutput (com.caucho.hessian.io.AbstractHessianOutput)1 Hessian2Output (com.caucho.hessian.io.Hessian2Output)1 HessianDebugInputStream (com.caucho.hessian.io.HessianDebugInputStream)1 HessianDebugOutputStream (com.caucho.hessian.io.HessianDebugOutputStream)1 HessianInput (com.caucho.hessian.io.HessianInput)1 HessianOutput (com.caucho.hessian.io.HessianOutput)1 BufferedInputStream (java.io.BufferedInputStream)1 InputStream (java.io.InputStream)1 OutputStream (java.io.OutputStream)1 PrintWriter (java.io.PrintWriter)1 CommonsLogWriter (org.springframework.util.CommonsLogWriter)1