Search in sources :

Example 1 with Hessian2Output

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

the class Serializer method serializeTransaction.

public byte[] serializeTransaction(Transaction transaction) {
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    Hessian2Output ho = new Hessian2Output(bos);
    try {
        ho.writeObject(transaction);
        ho.flush();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return bos.toByteArray();
}
Also used : Hessian2Output(com.caucho.hessian.io.Hessian2Output) ByteArrayOutputStream(java.io.ByteArrayOutputStream) IOException(java.io.IOException)

Example 2 with Hessian2Output

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

the class Serializer method serializePage.

public byte[] serializePage(Page page) {
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    Hessian2Output ho = new Hessian2Output(bos);
    try {
        ho.writeObject(page);
        ho.flush();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return bos.toByteArray();
}
Also used : Hessian2Output(com.caucho.hessian.io.Hessian2Output) ByteArrayOutputStream(java.io.ByteArrayOutputStream) IOException(java.io.IOException)

Example 3 with Hessian2Output

use of com.caucho.hessian.io.Hessian2Output 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 Hessian2Output

use of com.caucho.hessian.io.Hessian2Output in project motan by weibocom.

the class Hessian2Serialization method serialize.

@Override
public byte[] serialize(Object data) throws IOException {
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    Hessian2Output out = new Hessian2Output(bos);
    out.writeObject(data);
    out.flush();
    return bos.toByteArray();
}
Also used : Hessian2Output(com.caucho.hessian.io.Hessian2Output) ByteArrayOutputStream(java.io.ByteArrayOutputStream)

Example 5 with Hessian2Output

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

the class HessianDataFormat method marshal.

@Override
public void marshal(final Exchange exchange, final Object graph, final OutputStream outputStream) throws Exception {
    final Hessian2Output out = new Hessian2Output(outputStream);
    try {
        out.startMessage();
        out.writeObject(graph);
        out.completeMessage();
    } finally {
        out.flush();
        try {
            out.close();
        } catch (IOException e) {
        // ignore
        }
    }
}
Also used : Hessian2Output(com.caucho.hessian.io.Hessian2Output) IOException(java.io.IOException)

Aggregations

Hessian2Output (com.caucho.hessian.io.Hessian2Output)5 IOException (java.io.IOException)4 ByteArrayOutputStream (java.io.ByteArrayOutputStream)3 AbstractHessianInput (com.caucho.hessian.io.AbstractHessianInput)1 AbstractHessianOutput (com.caucho.hessian.io.AbstractHessianOutput)1 Hessian2Input (com.caucho.hessian.io.Hessian2Input)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