当前位置: 首页>>代码示例>>Java>>正文


Java RemoteRef.writeExternal方法代码示例

本文整理汇总了Java中java.rmi.server.RemoteRef.writeExternal方法的典型用法代码示例。如果您正苦于以下问题:Java RemoteRef.writeExternal方法的具体用法?Java RemoteRef.writeExternal怎么用?Java RemoteRef.writeExternal使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在java.rmi.server.RemoteRef的用法示例。


在下文中一共展示了RemoteRef.writeExternal方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: writeObject

import java.rmi.server.RemoteRef; //导入方法依赖的package包/类
private void writeObject(ObjectOutputStream out) throws IOException, ClassNotFoundException {
    // rmi.log.0C=ActivationID.writeObject:
    rlog.log(RMILog.VERBOSE, Messages.getString("rmi.log.0C")); //$NON-NLS-1$
    try {
        out.writeObject(uid);
        // rmi.log.0D=activator = {0}
        rlog.log(RMILog.VERBOSE, Messages.getString("rmi.log.0D", activator)); //$NON-NLS-1$
        RemoteRef ref = ((RemoteObject) activator).getRef();
        // rmi.log.09=ref = {0}
        rlog.log(RMILog.VERBOSE, Messages.getString("rmi.log.09", ref)); //$NON-NLS-1$
        String refType = ref.getRefClass(out);
        // rmi.log.08=refType={0}
        rlog.log(RMILog.VERBOSE, Messages.getString("rmi.log.08", refType)); //$NON-NLS-1$
        out.writeUTF(refType);
        ref.writeExternal(out);
        // rmi.log.04=ActivationID.writeObject COMPLETED.
        rlog.log(RMILog.VERBOSE, Messages.getString("rmi.log.04")); //$NON-NLS-1$
    } catch (Throwable t) {
        // rmi.0A=Unable to serialize ActivationID: {0}
        throw new IOException(Messages.getString("rmi.0A", t.getMessage()));//$NON-NLS-1$
    }
}
 
开发者ID:shannah,项目名称:cn1,代码行数:23,代码来源:ActivationID.java

示例2: writeExternal

import java.rmi.server.RemoteRef; //导入方法依赖的package包/类
/**
 * Write out external representation for remote ref.
 */
public void writeExternal(ObjectOutput out) throws IOException
{
    RemoteRef localRef = ref;

    out.writeObject(id);
    if (localRef == null) {
        out.writeUTF("");
    } else {
        out.writeUTF(localRef.getRefClass(out));
        localRef.writeExternal(out);
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:16,代码来源:ActivatableRef.java

示例3: writeObject

import java.rmi.server.RemoteRef; //导入方法依赖的package包/类
/**
 * <code>writeObject</code> for custom serialization.
 *
 * <p>This method writes this object's serialized form for
 * this class as follows:
 *
 * <p>The <code>writeObject</code> method is invoked on
 * <code>out</code> passing this object's unique identifier
 * (a {@link java.rmi.server.UID UID} instance) as the argument.
 *
 * <p>Next, the {@link
 * java.rmi.server.RemoteRef#getRefClass(java.io.ObjectOutput)
 * getRefClass} method is invoked on the activator's
 * <code>RemoteRef</code> instance to obtain its external ref
 * type name.  Next, the <code>writeUTF</code> method is
 * invoked on <code>out</code> with the value returned by
 * <code>getRefClass</code>, and then the
 * <code>writeExternal</code> method is invoked on the
 * <code>RemoteRef</code> instance passing <code>out</code>
 * as the argument.
 *
 * @serialData The serialized data for this class comprises a
 * <code>java.rmi.server.UID</code> (written with
 * <code>ObjectOutput.writeObject</code>) followed by the
 * external ref type name of the activator's
 * <code>RemoteRef</code> instance (a string written with
 * <code>ObjectOutput.writeUTF</code>), followed by the
 * external form of the <code>RemoteRef</code> instance as
 * written by its <code>writeExternal</code> method.
 *
 * <p>The external ref type name of the
 * <code>RemoteRef</Code> instance is
 * determined using the definitions of external ref type
 * names specified in the {@link java.rmi.server.RemoteObject
 * RemoteObject} <code>writeObject</code> method
 * <b>serialData</b> specification.  Similarly, the data
 * written by the <code>writeExternal</code> method and read
 * by the <code>readExternal</code> method of
 * <code>RemoteRef</code> implementation classes
 * corresponding to each of the defined external ref type
 * names is specified in the {@link
 * java.rmi.server.RemoteObject RemoteObject}
 * <code>writeObject</code> method <b>serialData</b>
 * specification.
 **/
private void writeObject(ObjectOutputStream out)
    throws IOException, ClassNotFoundException
{
    out.writeObject(uid);

    RemoteRef ref;
    if (activator instanceof RemoteObject) {
        ref = ((RemoteObject) activator).getRef();
    } else if (Proxy.isProxyClass(activator.getClass())) {
        InvocationHandler handler = Proxy.getInvocationHandler(activator);
        if (!(handler instanceof RemoteObjectInvocationHandler)) {
            throw new InvalidObjectException(
                "unexpected invocation handler");
        }
        ref = ((RemoteObjectInvocationHandler) handler).getRef();

    } else {
        throw new InvalidObjectException("unexpected activator type");
    }
    out.writeUTF(ref.getRefClass(out));
    ref.writeExternal(out);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:68,代码来源:ActivationID.java

示例4: writeObject

import java.rmi.server.RemoteRef; //导入方法依赖的package包/类
/**
    * <code>writeObject</code> for custom serialization.
    *
    * <p>This method writes this object's serialized form for
    * this class as follows:
    *
    * <p>The <code>writeObject</code> method is invoked on
    * <code>out</code> passing this object's unique identifier
    * (a {@link java.rmi.server.UID UID} instance) as the argument.
    *
    * <p>Next, the {@link
    * java.rmi.server.RemoteRef#getRefClass(java.io.ObjectOutput)
    * getRefClass} method is invoked on the activator's
    * <code>RemoteRef</code> instance to obtain its external ref
    * type name.  Next, the <code>writeUTF</code> method is
    * invoked on <code>out</code> with the value returned by
    * <code>getRefClass</code>, and then the
    * <code>writeExternal</code> method is invoked on the
    * <code>RemoteRef</code> instance passing <code>out</code>
    * as the argument.
    *
    * @serialData The serialized data for this class comprises a
    * <code>java.rmi.server.UID</code> (written with
    * <code>ObjectOutput.writeObject</code>) followed by the
    * external ref type name of the activator's
    * <code>RemoteRef</code> instance (a string written with
    * <code>ObjectOutput.writeUTF</code>), followed by the
    * external form of the <code>RemoteRef</code> instance as
    * written by its <code>writeExternal</code> method.
    *
    * <p>The external ref type name of the 
    * <code>RemoteRef</Code> instance is
    * determined using the definitions of external ref type
    * names specified in the {@link java.rmi.server.RemoteObject
    * RemoteObject} <code>writeObject</code> method
    * <b>serialData</b> specification.  Similarly, the data
    * written by the <code>writeExternal</code> method and read
    * by the <code>readExternal</code> method of
    * <code>RemoteRef</code> implementation classes
    * corresponding to each of the defined external ref type
    * names is specified in the {@link
    * java.rmi.server.RemoteObject RemoteObject}
    * <code>writeObject</code> method <b>serialData</b>
    * specification.
    **/
   private void writeObject(ObjectOutputStream out)
throws IOException, ClassNotFoundException
   {
out.writeObject(uid);

RemoteRef ref;
if (activator instanceof RemoteObject) {
    ref = ((RemoteObject) activator).getRef();
} else if (Proxy.isProxyClass(activator.getClass())) {
    InvocationHandler handler = Proxy.getInvocationHandler(activator);
    if (!(handler instanceof RemoteObjectInvocationHandler)) {
	throw new InvalidObjectException(
	    "unexpected invocation handler");
    }
    ref = ((RemoteObjectInvocationHandler) handler).getRef();
    
} else {
    throw new InvalidObjectException("unexpected activator type");
}
out.writeUTF(ref.getRefClass(out));
ref.writeExternal(out);
   }
 
开发者ID:jgaltidor,项目名称:VarJ,代码行数:68,代码来源:ActivationID.java


注:本文中的java.rmi.server.RemoteRef.writeExternal方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。