jdk 1.7.25对我的项目不适用于Windows Server 2003

时间:2013-09-12 19:21:01

标签: java idl

我有一个jdk版本从jdk 1.7.21更新到jdk 1.7.25,构建在Solaris 10上并且生产运行在windows server 2003上。我这次没有更新任何java代码,因为构建成功,我会如果编译遇到错误,更新java代码,例如在jdk从1.6.45到jdk 1.7.xx,我必须更新几个文件以匹配jdk 1.7 API更改,然后它运行正常,有一些来自jdk 1.7的更新。 xx到jdk1.7.21,每次更新都很好。但是这次,从1.7.21源代码构建jdk 1.7.25后,编译还可以,但运行时服务器运行正常,但客户端卡在中间 - 有一个SESSION_ADAPTER构建失败,我们使用了OPNORG 1.2已超过10年,仅限第三方二进制代码。想知道jdk 1.7.25的真正问题在哪里?

我使用“老派”技能打印出哪条线被打破,它看起来卡在狭窄(orb)的功能中,得到了“BAD_PARAM”的例外:

这是java文件(由CORBA IDL生成,我们没有OPNORG的源代码):

package DPEM.src.presentation.adaptation.adaptationIfc;

//
// Helper class for : SessionAdapter
//
// @author OpenORB Compiler
//
public class SessionAdapterHelper
{
//
// Insert SessionAdapter into an any
// @param   a an any
// @param   t SessionAdapter value
//
public static void insert( org.omg.CORBA.Any a, DPEM.src.presentation.adaptation.adaptationIfc.SessionAdapter t )
{
    a.insert_Object( t , type() );
}

//
// Extract SessionAdapter from an any
// @param   a an any
// @return the extracted SessionAdapter value
//
public static DPEM.src.presentation.adaptation.adaptationIfc.SessionAdapter extract( org.omg.CORBA.Any a )
{
    if ( !a.type().equal( type() ) )
        throw new org.omg.CORBA.MARSHAL();
    try {
        return DPEM.src.presentation.adaptation.adaptationIfc.SessionAdapterHelper.narrow( a.extract_Object() );
    }
    catch ( org.omg.CORBA.BAD_PARAM ex ) {
        throw new org.omg.CORBA.MARSHAL();
    }
}

//
// Internal TypeCode value
//
private static org.omg.CORBA.TypeCode _tc = null;

//
// Return the SessionAdapter TypeCode
// @return a TypeCode
//
public static org.omg.CORBA.TypeCode type()
{
    if ( _tc == null ) {
        org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init();
        _tc = orb.create_interface_tc(id(),"SessionAdapter");
    }
    return _tc;
}

//
// Return the SessionAdapter IDL ID
// @return an ID
//
public static String id()
{
    return _id;
}

private final static String _id = "IDL:adaptation.presentation.src.DPEM/adaptationIfc/SessionAdapter:1.0";

//
// Read SessionAdapter from a marshalled stream
// @param   istream the input stream
// @return the readed SessionAdapter value
//
public static DPEM.src.presentation.adaptation.adaptationIfc.SessionAdapter read( org.omg.CORBA.portable.InputStream istream )
{
    return( DPEM.src.presentation.adaptation.adaptationIfc.SessionAdapter )istream.read_Object( DPEM.src.presentation.adaptation.adaptationIfc._SessionAdapterStub.class );
}

//
// Write SessionAdapter into a marshalled stream
// @param   ostream the output stream
// @param   value SessionAdapter value
//
public static void write( org.omg.CORBA.portable.OutputStream ostream, DPEM.src.presentation.adaptation.adaptationIfc.SessionAdapter value )
{
    ostream.write_Object((org.omg.CORBA.portable.ObjectImpl)value);
}

//
// Narrow CORBA::Object to SessionAdapter
// @param   obj the CORBA Object
// @return SessionAdapter Object
//
public static SessionAdapter narrow( org.omg.CORBA.Object obj )
{
    if ( obj == null )
        return null;
    if ( obj instanceof SessionAdapter )
        return ( SessionAdapter)obj;

    if ( obj._is_a( id() ) )
    {
        _SessionAdapterStub stub = new _SessionAdapterStub();
        stub._set_delegate( ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate() );
        return stub;
    }

    throw new org.omg.CORBA.BAD_PARAM();
}

//
// Unchecked Narrow CORBA::Object to SessionAdapter
// @param   obj the CORBA Object
// @return SessionAdapter Object
//
public static SessionAdapter unchecked_narrow( org.omg.CORBA.Object obj )
{
    if ( obj == null )
        return null;
    if ( obj instanceof SessionAdapter )
        return ( SessionAdapter)obj;

    _SessionAdapterStub stub = new _SessionAdapterStub();
    stub._set_delegate( ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate() );
    return stub;

}

}

我不知道过去两周,希望能从你的大师那里借一些java / IDL技能。

谢谢, 柯蒂斯

0 个答案:

没有答案