Local class incompatible: different serialVersionUID

Hi!
I wrote an Object of type X to a file (in the server) and am sending the file to a client. This is done using:
FileOutputStream fo = new FileOutputStream (filename);
ObjectOutputStream so = new ObjectOutputStream (fo);
so.writeObject(x); //x is of Object type X
so.flush();
so.close();
fo.close();
The file 'filename' is sent to the client and I read it as follows:
FileInputStream in = new FileInputStream(filename);
ObjectInputStream s = new ObjectInputStream(in);
xobject = (X) x.readObject(); //xobject is of Object type X
This is throwing an error as follows:
java.util.Vector; local class incompatible:stream classdesc serialVersionUID = -2804478835259887871, local class serialVersionUID = -2767605614048989439
Can anyone tell me what to do to be able to type cast the object and use it? I did go thro' some @serial documentation, but, couldn't understand it.
Please help,
Thanks,
x86

...or, alternatively, maintain the X class in one package, the one where your server-side classes are compiled, say, and import it into the second, client side source code, which presumably lives in a separate package or this problem probably wouldn't have come up. The goal is never to have more than one copy of the compiled class file.
You may have to modify your classpath.
Hi!
I wrote an Object of type X to a file (in theserver)
and am sending the file to a client. This is done
using:
<snip>
>
This is throwing an error as follows:
java.util.Vector; local class incompatible:stream
classdesc serialVersionUID = -2804478835259887871,
local class serialVersionUID = -2767605614048989439Hi
try using one copy of the compiled class for the
server
and the client, I had this happen many times until I
figured out
the server compiled its version of the serialiable
class and the client compiled its version of the
serialiable class,
then got class incompatable exceptions..among others
easy way around this is to compile the code of botht
he client and server, then copy the class code across
to the client side
Boris

Similar Messages

  • Java.io.InvalidClassException: org.eclipse.persistence.internal.indirection.DatabaseValueHolder; local class incompatible: stream classdesc serialVersionUID = -6893195210780291759, local class serialVersionUID = 1128857921468654749

    Hi,
    I recently create a webservice application.
    It work fine when the server is implemented as java application. But when rewritten as web application( *.war),  the deploiement work on WLS.
    However it throws java.io.InvalidClassException: org.eclipse.persistence.internal.indirection.DatabaseValueHolder; local class incompatible: stream classdesc serialVersionUID = -6893195210780291759, local class serialVersionUID = 1128857921468654749 error when the client start consumming the web service methods.
    I add both eclipselink-javax.persistence-2.0.jar and eclipselink-2.0.2.jar(which are also used in the server side) in $WL_HOME/wlserver_10.3/common/deployable-libraries, that doesn't solve the problem yet.
    Any help will be appreciated, cheers.

    Abenk,
    This looks like a serial version mismatch due to multiple Eclipselink.jar files. Check if you have any under server/internal/ext folder.
    What are you putting in your classpath? Is there a "jrf.jar" and is it getting picked up first? Does this Jrf.jar have an entry of Eclipselink jar?
    Try to check the classpath of the jars used by Weblogic and remove any redundant Eclipselink/Toplink jars.
    What is the complete version of your Weblogic Server ?

  • Local class incompatible: stream classdesc serialVersionUID

    The following code is being executed from the configFile class:
    if(configFileIn != null)
    try
    ourConfigItemsAL = (ArrayList)alInObjectStream.readObject();
    catch(Exception e)
    configIsValid = false;
    System.out.println("Error: Can't read (readObject ourConfigItemsAL) from \"" + theFileName + "\". (" + e.toString() + ")");
    configItemsAL = theDefList;
    I get the following error when trying to run. It worked with an older version of the jre.
    Creating new NewConfigFile object.
    About to read configuration from "c:/Program Files/HearingRecorder/HearingRecorder.cfg" file.
    Error: Can't read (readObject ourConfigItemsAL) from "c:/Program Files/HearingRecorder/HearingRecorder.cfg". (java.io.InvalidClassException: javax.swing.JComponent; local class incompatible: stream classdesc serialVersionUID = -7908749299918704233, local class serialVersionUID = 7917968344860800289)
    java.lang.ExceptionInInitializerError
    Caused by: java.lang.NullPointerException
         at HearingRecorder.ConfigFile.readConfig(ConfigFile.java:150)
         at HearingRecorder.ConfigFile.<init>(ConfigFile.java:92)
         at HearingRecorder.HearingRecorder.<clinit>(HearingRecorder.java:4462)
    Exception in thread "main"

    The Java TutorialEssential Java Classes I/O: Object Serialization
    Lightweight persistence--the archival of an object for use in a later invocation of the same program.
    Serlization does not play nice between VM versions. It tells you this in the APIs for JComponent
    Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeansTM has been added to the java.beans package. Please see XMLEncoder.

  • Oracle.jbo.domain.Number; local class incompatible

    Hi Forum,
    Development Tool     : Jdeveloper 9.0.4 (part of Oracle 10g Suite)
    Target Application Summary:
    A simple application which displays the content of a database table and allows it to be modified both through a web interface as well as a Swing standalone client.
    A Workspace having three projects:
    1) A Business layer defined by using BC4J(Business Components For Java) provided with Jdeveloper 10g.
    2) A Swing/JClient application for BC4J which accesses the BCJ4 layer using a Business component client data model.
    3)A JSP application using JSP for business components which accesses the BC4j layer
    Target Deployment:
    1) Light-weight swing interface at machine 1
    2) Business components and JSP part in an application server on Machine 2
    3) Oracle DB on Machine3
    Problem Statement
    We deployed the BC4J Middle tier on OC4J standalone as a session bean. Then the client jar was deployed as a remote application(using Swing/JClient for business componments), the following error comes:
    (oracle.jbo.PiggybackException) JBO-28300: Piggyback read error
    ----- LEVEL 1: DETAIL 0 -----
    (java.io.InvalidClassException) oracle.jbo.domain.Number; local class incompatible: stream classdesc serialVersionUID = -6507359405709672486, local class serialVersionUID = -592084144037230518
    Can the forum help me with the problem (i am using the library BC4JOracleDomains which has oracle.jbo.domain.Number class)
    Thanking you in advance.

    Firstly, good job on describing your problem/situation. Some people just don't bother to be verbose.
    Secondly, I have to note that I don't do any development in this way so I have no 1st hand experience with this excpetion. But, it appears as though you are using different versions of the jar files (which in turn contain different versions of the classes). Maybe you should take a look at that?

  • Help!:  local class incompatible exception

    Hi!, im new in the ejb tech, I'm using jboss 3.2.3, windows 2000, j2ee 1.4 and jdk 1.4.1.
    I already deploy the ejb in the app server, but at the Context.lookup statement from the client i get a local class incompatible exception!!, could anyone help me with this??? the client and the ejb are running in different machines, but the classes are the same ( I map the network drive and put it in my classpath to ensure im using the same classes with the same serial uid).
    Thanks a lot!!!
    The complete Stack trace is
    javax.naming.CommunicationException. Root exception is java.io.InvalidClassException: org.jboss.proxy.ejb.GenericEJBInterceptor; local class incompatible: stream classdesc serialVersionUID = 3844706474734439975, local class serialVersionUID = 4582256576523491346
    at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:459)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1521)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1435)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1521)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1435)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1626)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
    at org.jboss.proxy.ClientContainer.readExternal(ClientContainer.java:104)

    Sorry, i already found the problem!!! . I was running the client within the forte 4 ee ide, and it seems that forte assigns the objects their own serial uid. When I execute the client from a terminal, it executes ok =)

  • Oracle.jdbc.pool.OracleDataSource; local class incompatible

    I want to place a DataSource in a InitialContext with the following code
    public void getEnvironment() throws Exception{ try{ System.setProperty(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory"); /*System.setProperty(Context.PROVIDER_URL, "t3://127.0.0.1:7001"); System.setProperty(Context.SECURITY_PRINCIPAL, "weblogic"); System.setProperty(Context.SECURITY_CREDENTIALS, "password");*/ InitialContext ic = new InitialContext(); ic.createSubcontext("java:"); ic.createSubcontext("java:/comp"); ic.createSubcontext("java:/comp/env"); ic.createSubcontext("java:/comp/env/jdbc"); // Construcvt Datasource OracleConnectionPoolDataSource ds = new OracleConnectionPoolDataSource(); ds.setURL("jdbc:oracle:thin:@cdcehr29:14985"); ds.setUser("user"); ds.setPassword("pwd"); //Connection conn = ds.getConnection(); ic.bind("java:/comp/env/jdbc/test", ds); System.out.println("see?"); Context envIc = (Context) ic.lookup("java:/comp/env"); envIc.bind("THIS_SERVICE_CD", ""); envIc.bind("THIS_SERVICE_VER", ""); envIc.bind("SERVICE_DATA_SOURCE_JNDI", "jdbc/test"); envIc.bind("ALS_PROJECT_CD", ""); envIc.bind("ALS_SYSTEM_CD", ""); envIc.bind("EHR_CONFIG_DATA_SOURCE_JNDI", ""); envIc.bind("SGR_PATH", ""); envIc.bind("AUDIT_TABLE_NAME", ""); envIc.bind("DEBUG_TABLE_NAME", ""); }catch(NamingException ex){ ex.printStackTrace(); }catch(Exception ex){ ex.printStackTrace(); } }
    but the following error is shown (but not catch in catch block, very strange)
    >
    <Jun 26, 2012 6:17:02 PM CST> <Error> <RJVM> <BEA-000503> <Incoming message header or abbreviation processing failed
    java.io.InvalidClassException: oracle.jdbc.pool.OracleDataSource; local class incompatible: stream classdesc serialVersionUID = 8680830911645568991, local class serialVersionUID = 3349652938965166731
    java.io.InvalidClassException: oracle.jdbc.pool.OracleDataSource; local class incompatible: stream classdesc serialVersionUID = 8680830911645568991, local class serialVersionUID = 3349652938965166731
    at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1316)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
    Truncated. see log file for complete stacktrace
    >
    what is the problem come from?

    >
    but the following error is shown (but not catch in catch block, very strange)
    >
    <Jun 26, 2012 6:17:02 PM CST> <Error> <RJVM> <BEA-000503> <Incoming message header or abbreviation processing failed
    java.io.InvalidClassException: oracle.jdbc.pool.OracleDataSource; local class incompatible: stream classdesc serialVersionUID = 8680830911645568991, local class serialVersionUID = 3349652938965166731
    java.io.InvalidClassException: oracle.jdbc.pool.OracleDataSource; local class incompatible: stream classdesc serialVersionUID = 8680830911645568991, local class serialVersionUID = 3349652938965166731
    at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1316)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
    Truncated. see log file for complete stacktrace
    what is the problem come from?
    >
    You didn't post the part of the stacktrace that shows the line number that the problem occured on. (Truncated. see log file for complete stacktrace)
    Are you sure the problem occured in the code you posted? If so did this line execute and print on the console?
    System.out.println("see?");That error can occur when the code used to deserialize an object uses a different version of the class than the version it was serialized with. The code you posted doesn't shown anything that appears to do any deserialization.
    Have their been any changes to the environment lately? Upgrades to Java version, WebLogic or the JDBC driver?

  • Java.io.InvalidClassException:local class incompatible?

    hello everyone:
    I deploy a J2EE application called A in a weblogic domain called A, it can run correctly;
    then I deploy another J2EE application called B, which is a new edition of A, in another weblogic domain called B, it can also run correctly;
    The two domains use the same server. I don't know whether this will cause problems like this.
    But the previous A can't run correctly and throw exceptions as follows in Java Console:
    java.io.InvalidClassException: com.longzhou.oa.docnet.dto.abstractdto.DnBaseRole; local class incompatible: stream classdesc serialVersionUID = 1264764439065723117, local class serialVersionUID = -6834466395328850197
         at java.io.ObjectStreamClass.initNonProxy(Unknown Source)
         at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
         at java.io.ObjectInputStream.readClassDesc(Unknown Source)
         at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
         at java.io.ObjectInputStream.readClassDesc(Unknown Source)
         at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
         at java.io.ObjectInputStream.readObject0(Unknown Source)
         at java.io.ObjectInputStream.readArray(Unknown Source)
         at java.io.ObjectInputStream.readObject0(Unknown Source)
         at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
         at java.io.ObjectInputStream.readSerialData(Unknown Source)
         at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
         at java.io.ObjectInputStream.readObject0(Unknown Source)
         at java.io.ObjectInputStream.readObject(Unknown Source)
         at com.longzhou.oa.applet.util.EjbLocator.getInputStream(EjbLocator.java:18)
         at com.longzhou.oa.applet.DnIO.getDnAllByID(DnIO.java:63)
         at com.longzhou.oa.applet.DnIO.loadGraph(DnIO.java:33)
         at org.enhydra.jawe.DnDefine.loadDn(Unknown Source:185)
         at org.enhydra.jawe.AbstractEditor.<init>(Unknown Source:130)
         at org.enhydra.jawe.PackageEditor.<init>(PackageEditor.java:60)
         at org.enhydra.jawe.JaWE.init(JaWE.java:195)
         at org.enhydra.jawe.DnApplet.jbInit(DnApplet.java:67)
         at org.enhydra.jawe.DnApplet.init(DnApplet.java:54)
         at sun.applet.AppletPanel.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    java.lang.NullPointerException
         at com.longzhou.oa.applet.DnIO.getDnFromDto(DnIO.java:731)
         at com.longzhou.oa.applet.DnIO.loadGraph(DnIO.java:34)
         at org.enhydra.jawe.DnDefine.loadDn(Unknown Source:185)
         at org.enhydra.jawe.AbstractEditor.<init>(Unknown Source:130)
         at org.enhydra.jawe.PackageEditor.<init>(PackageEditor.java:60)
         at org.enhydra.jawe.JaWE.init(JaWE.java:195)
         at org.enhydra.jawe.DnApplet.jbInit(DnApplet.java:67)
         at org.enhydra.jawe.DnApplet.init(DnApplet.java:54)
         at sun.applet.AppletPanel.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: java.lang.Object
         at java.io.ObjectInputStream.readObject0(Unknown Source)
         at java.io.ObjectInputStream.readObject(Unknown Source)
         at com.longzhou.oa.applet.util.EjbLocator.getInputStream(EjbLocator.java:18)
         at com.longzhou.oa.applet.InitModel.initEmpGroupList(InitModel.java:353)
         at org.enhydra.jawe.DnDefine._$1(Unknown Source:241)
         at org.enhydra.jawe.DnDefine.loadDn(Unknown Source:186)
         at org.enhydra.jawe.AbstractEditor.<init>(Unknown Source:130)
         at org.enhydra.jawe.PackageEditor.<init>(PackageEditor.java:60)
         at org.enhydra.jawe.JaWE.init(JaWE.java:195)
         at org.enhydra.jawe.DnApplet.jbInit(DnApplet.java:67)
         at org.enhydra.jawe.DnApplet.init(DnApplet.java:54)
         at sun.applet.AppletPanel.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.NotSerializableException: java.lang.Object
         at java.io.ObjectOutputStream.writeObject0(Unknown Source)
         at java.io.ObjectOutputStream.writeObject(Unknown Source)
         at com.longzhou.oa.util.EgovServlet.service(EgovServlet.java:332)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6981)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
         at java.lang.Thread.startThreadFromVM(Unknown Source)
    java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: java.lang.Object
         at java.io.ObjectInputStream.readObject0(Unknown Source)
         at java.io.ObjectInputStream.readObject(Unknown Source)
         at com.longzhou.oa.applet.util.EjbLocator.getInputStream(EjbLocator.java:18)
         at com.longzhou.oa.applet.InitModel.initSysRoleList(InitModel.java:371)
         at org.enhydra.jawe.DnDefine._$1(Unknown Source:242)
         at org.enhydra.jawe.DnDefine.loadDn(Unknown Source:186)
         at org.enhydra.jawe.AbstractEditor.<init>(Unknown Source:130)
         at org.enhydra.jawe.PackageEditor.<init>(PackageEditor.java:60)
         at org.enhydra.jawe.JaWE.init(JaWE.java:195)
         at org.enhydra.jawe.DnApplet.jbInit(DnApplet.java:67)
         at org.enhydra.jawe.DnApplet.init(DnApplet.java:54)
         at sun.applet.AppletPanel.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.NotSerializableException: java.lang.Object
         at java.io.ObjectOutputStream.writeObject0(Unknown Source)
         at java.io.ObjectOutputStream.writeObject(Unknown Source)
         at com.longzhou.oa.util.EgovServlet.service(EgovServlet.java:332)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6981)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
         at java.lang.Thread.startThreadFromVM(Unknown Source)
    Can anyone tell me the reason? Thanks

    "local class incompatible" error is due to the retrieving of serialized object, which might be dumping from memory to somewhere like database, file etc., that is of different edition of the class. Maybe an object A of AClass was stored in a database and lately the AClass changed to a new edition, let's call it A'Class, and they have something different, especially the serialVersionUID field. When the object A is retrieved from the database, which should be compatible with A'Class (be ware of that A'Class and AClass has the same name but of different edition), unfortunately, they don't, the error mentioned above occurs.
    So, I guess that although the app A and B uses different domain, if they uses the same database to store and retrieve something (here may refers to objects) of different edition and are run one after another, the compatible issues are going to occur.
    Separating app A from B as much as possible is not a good solution, but you could have a try.
    Hoping helpful, good luck!

  • InvalidClassException: JComponent; local class incompatible - JVM Version?

    Iam having trouble deserializing some old objects.
    My object header is
    public class SoundMatrix extends AbstractTableModel implements Serializable
    So i happend to save some swing components :(
    Now i got the problem of deserializing them again. What can i do to recover the data?
    The serialVersionUID is the same, none has changed.
    java.io.InvalidClassException: javax.swing.JComponent; local class incompatible: stream classdesc serialVersionUID = -2514362798440941654, local class serialVersionUID = -1030230214076481435
         at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562)
         at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)
         at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
         at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)
         at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
         at javax.swing.event.EventListenerList.readObject(EventListenerList.java:255)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
         at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
         at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
         at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
         at dk.tigermedia.Prog.main(Prog.java:119)
    I guess its a JVM Versioning problem, the version may have changed over time, the application have been used.
    I know the problem is, that i have serialized Swing objects- the docs even warn against this. Great :)
    Can i see which version was used to make the files? Can take control over the deserializing process?
    Tryed overwriting the readObject - but it dont seem to get that far.
    Any help is much appreciated. Thanks.

    Update versions don't matter, just 1.3, 1.4, 1.5 etc.
    You don't need to recompile except backwards, e.g. if you're using JDK 1.3 you need binaries produced by 1.3 or with -target 1.3. But I'd advocate writing a new mini application for this conversion task, using 1.3 or whatever the JDK version actually was when the data was serialized.
    You also need to inform management about this debacle and the reasons for it. The warnings about serialization-incompatibility of Swing classes have been right there in the Javadoc since the beginning. No competent IT professional should have perpetrated this act. Make sure it doesn't happen again.

  • Ava.io.InvalidClassException: local class incompatible: stream classdesc

    Hi,
    When I am testing a scnerio in my application, I am getting the following error. When I am trying to do again, I am not getting this error. Basically when first time serializable object creation, I am getting this error I guess. Pls reply as its really disturbs our application in Production.
    22 Apr 2005 14:27:12,442 ERROR [service-j2ee] model.TopsFileManager - java.io.InvalidClassException: com.gepower.gees.tops.data.JobCtxtMgr; local class incompatible: stream classdesc serialVersionUID = 7011266017804180214, local class serialVersionUID = 1299119170608910687
    java.io.InvalidClassException: com.gepower.gees.tops.data.JobCtxtMgr; local class incompatible: stream classdesc serialVersionUID = 7011266017804180214, local class serialVersionUID = 1299119170608910687
    at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:463)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1521)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1435)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1626)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
    at com.gepower.gees.tops.model.TopsFileManager.getValue(TopsFileManager.java:159)
    at com.gepower.gees.tops.control.PlanJobAssocCtrl.process(PlanJobAssocCtrl.java:181)
    at com.gepower.gees.tops.control.LeafCommand.perform(LeafCommand.java:93)
    at com.ge.dialect.cb.DefaultController.processInteraction(DefaultController.java:790)
    at com.ge.dialect.cb.DefaultController.handleInteraction(DefaultController.java:607)
    at com.ge.dialect.cb.DefaultController.service(DefaultController.java:490)
    at com.ge.casper.servlet.CasperServlet.service(CasperServlet.java:231)
    at org.apache.catalina.core.StandardWrapperValve.invokeServletService(StandardWrapperValve.java:720)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:309)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:212)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:203)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
    at com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSAPIProcessor.java:157)
    at com.iplanet.ias.web.WebContainer.service(WebContainer.java:598)
    22 Apr 2005 14:27:12,445 ERROR [service-j2ee] control.ProcessJobCtrl - com.gepower.gees.tops.data.JobCtxtMgr; local class incompatible: stream classdesc serialVersionUID = 7011266017804180214, local class serialVersionUID = 1299119170608910687
    Thanks in advance

    Hello
    I am using Netbeans5.5, JBoss 4.0.4 with hibernate3. I have a simple Entity bean (UserProfile), which i mapped from the database table.
    In the session bean, i am using EntityManager to find my Entity bean i.e. UserProfile. But i am getting the following exception:
    java.rmi.MarshalException: Failed to communicate.  Problem during marshalling/unmarshalling; nested exception is:
            java.io.InvalidClassException: org.hibernate.collection.PersistentBag; local class incompatible: stream classdesc serialVersionUID = -992182677146982163, local class serialVersionUID = 2819117614876030537
            at org.jboss.remoting.transport.socket.SocketClientInvoker.transport(SocketClientInvoker.java:306)
            at org.jboss.remoting.RemoteClientInvoker.invoke(RemoteClientInvoker.java:143)
            at org.jboss.remoting.Client.invoke(Client.java:525)
            at org.jboss.remoting.Client.invoke(Client.java:488)
            at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:55)
            at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
            at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61)
            at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
            at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:55)
            at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
            at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:78)
            at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
            at org.jboss.ejb3.stateful.StatefulRemoteProxy.invoke(StatefulRemoteProxy.java:133)
            at $Proxy1.findUser(Unknown Source)
            at anapro.Main.main(Main.java:34)
    Caused by: java.io.InvalidClassException: org.hibernate.collection.PersistentBag; local class incompatible: stream classdesc serialVersionUID = -992182677146982163, local class serialVersionUID = 2819117614876030537
            at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:519)
            at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1546)
            at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1460)
            at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1693)
            at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
            at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1912)
            at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836)
            at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713)
            at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
            at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
            at org.jboss.aop.joinpoint.InvocationResponse.readExternal(InvocationResponse.java:122)
            at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1753)
            at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1711)
            at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
            at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1912)
            at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836)
            at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713)
            at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
            at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
            at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObject(JavaSerializationManager.java:128)
            at org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.read(SerializableUnMarshaller.java:66)
            at org.jboss.remoting.transport.socket.SocketClientInvoker.transport(SocketClientInvoker.java:279)
            ... 14 moreSince netbeans creates an EJB module and a client module, I have added hibernate-entitymanager.jar to the class path of both the client and ejb module but this exception exists. can anyone please help me in this?
    thanks

  • InvalidClassException ImageIcon.$AccessibleImageIcon class incompatible

    Greetings,
    I cannot seem to find a solution for this problem, so I am turning to you - your help is greatly appreciated.
    Below is a snippet of some legacy code that has been deployed in an app running JRE 1.4.2.
    class NodeImage implements Serializable {
        final static long serialVersionUID = 2606889903904458364L;
        public Dimension dim;
        public transient Image img;
        public ImageIcon ii; //VERY PROBLEMATIC NOW!!!!
        public String name;
        public String description;
      }Now, with the application having been modified and upgraded to run on JRE 1.5.0, old serialized objects can no longer be read into the above class, because the ImageIcon.$AccessibleImageIcon serialVersionUID has changed. The exception being thrown is as follows:
    java.io.InvalidClassException: javax.swing.ImageIcon$AccessibleImageIcon;
    local class incompatible: stream classdesc serialVersionUID = -3994512798706967451,
    local class serialVersionUID = -1903458698681874148
            at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:519)
            at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1546)
            at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1460)
            at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1693)
            at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
            at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1912)
            at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:468)
            at javax.swing.ImageIcon.readObject(ImageIcon.java:389)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            ...The object has no explicit readObject or writeObject methods.
    I have tried a variety of things - e.g. writing a new readObject method, and using java.io.ObjectInputStream.GetField fields = in.readFields(); but I cannot seem to find a way to read the offending field without the exception being thrown and the rest of the read process aborted.
    Is there ANY way around this?
    I don't care if the end result makes the ImageIcon ii field null. But because this is just one object in a serialized hierarchy, I just want to be able to get the dim, name, and description attributes and then continue loading the remainder of the object hierarchy.
    Thanks in advance for your help! Any insight would be great.
    .

    Your developers should have read the warning in the javadoc for javax.swing.ImageIcon before serializing ImageIcons across JDK versions.
    You may have to use JDK 1.4 to read these streams and write them out again using something other than classes with this warning when they occur.
    The only other thing I can suggest is a custom readObject method which doesn't call defaultReadObject() and instead picks apart the serialization protocol itself for the offending class(es), calling readObject() for all non-offending members.

  • Javax.ejb.EJBException; Local class not compatible ???????

    Hi,
    Can you any one help me to resolve this exception below. The conext is I
    have successfully deplyed a bean and when i call the bean remot method I am
    getting the following exception.
    Can you any one help me in what situations we will get this type of
    exception. I am using jdk1.3
    Thanks
    Kumar
    *************** EXCEPTIN IS BELOW *****************************
    PayDateRespondRequestBean lookup successful
    creating session bean instance
    Calling operation operation
    java.io.InvalidClassException: javax.ejb.EJBException; Local class not
    compatible: stream classdesc serialVersionUID=-9219910240172116449 local
    class serialVers
    ionUID=796770993296843510
    at
    java.io.ObjectStreamClass.validateLocalClass(ObjectStreamClass.java:523)
    at java.io.ObjectStreamClass.setClass(ObjectStreamClass.java:567)
    at
    java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java:936)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:366)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
    at
    weblogic.rjvm.ClassTableEntry.readExternal(ClassTableEntry.java:29)
    at
    java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1212)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
    at
    weblogic.rjvm.InboundMsgAbbrev.readObject(InboundMsgAbbrev.java:66)
    at weblogic.rjvm.InboundMsgAbbrev.read(InboundMsgAbbrev.java:38)
    at
    weblogic.rjvm.MsgAbbrevJVMConnection.readMsgAbbrevs(MsgAbbrevJVMConnection.j
    ava:175)
    at
    weblogic.rjvm.MsgAbbrevInputStream.readMessageContext(MsgAbbrevInputStream.j
    ava:154)
    at
    weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:582)
    at
    weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:454)
    at
    weblogic.socket.JavaSocketMuxer.processSockets2(JavaSocketMuxer.java:311)
    at
    weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:225)
    at
    weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:24)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    --------------- nested within: ------------------
    weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Exception
    creating response stream ] - with nested exception:
    [java.io.InvalidClassException: javax.ejb.EJBException; Local class not
    compatible: stream classdesc serialVersionUID=-9219910240172116449 local
    class serialVersionUID=796770993296843510]
    at
    weblogic.rjvm.MsgAbbrevJVMConnection.readMsgAbbrevs(MsgAbbrevJVMConnection.j
    ava:184)
    at
    weblogic.rjvm.MsgAbbrevInputStream.readMessageContext(MsgAbbrevInputStream.j
    ava:154)
    at
    weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:582)
    at
    weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:454)
    at
    weblogic.socket.JavaSocketMuxer.processSockets2(JavaSocketMuxer.java:311)
    at
    weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:225)
    at
    weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:24)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    Error accessing PayDateRespondRequest bean
    weblogic.rjvm.PeerGoneException: ; nested exception is:
    weblogic.utils.NestedException: ***** ASSERTION FAILED
    ****[ Exception
    creating response stream ] - with nested exception:
    [weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Exception
    creating
    response stream ] - with nested exception:

    Yes, this solved my problem. I was having two versions of javax.ejb package.
    --Sajith
    "Nils Winkler" <[email protected]> wrote in message
    news:[email protected]...
    Hi,
    it looks like you have two different versions of the same class in the
    classpath. Your client is expecting version A, but the server is
    returning an instance of version B. Make sure that you only have one
    version of the class in your classpath. If you're starting the client as
    a separate app, also make sure that it's using the same classes as the
    server.
    Hope that helps,
    Nils
    Sajith wrote:
    Hi,
    Can you any one help me to resolve this exception below. The conext is I
    have successfully deplyed a bean and when i call the bean remot method I
    am
    getting the following exception.
    Can you any one help me in what situations we will get this type of
    exception. I am using jdk1.3
    Thanks
    Kumar
    *************** EXCEPTIN IS BELOW *****************************
    PayDateRespondRequestBean lookup successful
    creating session bean instance
    Calling operation operation
    java.io.InvalidClassException: javax.ejb.EJBException; Local class not
    compatible: stream classdesc serialVersionUID=-9219910240172116449 local
    class serialVers
    ionUID=796770993296843510
    at
    java.io.ObjectStreamClass.validateLocalClass(ObjectStreamClass.java:523)
    atjava.io.ObjectStreamClass.setClass(ObjectStreamClass.java:567)
    at
    java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java:936)
    atjava.io.ObjectInputStream.readObject(ObjectInputStream.java:366)
    atjava.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
    at
    weblogic.rjvm.ClassTableEntry.readExternal(ClassTableEntry.java:29)
    at
    java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1212)
    atjava.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
    atjava.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
    at
    weblogic.rjvm.InboundMsgAbbrev.readObject(InboundMsgAbbrev.java:66)
    at weblogic.rjvm.InboundMsgAbbrev.read(InboundMsgAbbrev.java:38)
    at
    weblogic.rjvm.MsgAbbrevJVMConnection.readMsgAbbrevs(MsgAbbrevJVMConnection.j
    ava:175)
    at
    weblogic.rjvm.MsgAbbrevInputStream.readMessageContext(MsgAbbrevInputStream.j
    ava:154)
    at
    weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:582)
    at
    weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:454)
    at
    weblogic.socket.JavaSocketMuxer.processSockets2(JavaSocketMuxer.java:311)
    at
    weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:225)
    at
    weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:24)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    --------------- nested within: ------------------
    weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Exception
    creating response stream ] - with nested exception:
    [java.io.InvalidClassException: javax.ejb.EJBException; Local class not
    compatible: stream classdesc serialVersionUID=-9219910240172116449 local
    class serialVersionUID=796770993296843510]
    at
    weblogic.rjvm.MsgAbbrevJVMConnection.readMsgAbbrevs(MsgAbbrevJVMConnection.j
    ava:184)
    at
    weblogic.rjvm.MsgAbbrevInputStream.readMessageContext(MsgAbbrevInputStream.j
    ava:154)
    at
    weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:582)
    at
    weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:454)
    at
    weblogic.socket.JavaSocketMuxer.processSockets2(JavaSocketMuxer.java:311)
    at
    weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:225)
    at
    weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:24)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    Error accessing PayDateRespondRequest bean
    weblogic.rjvm.PeerGoneException: ; nested exception is:
    weblogic.utils.NestedException: ***** ASSERTION FAILED
    ****[ Exception
    creating response stream ] - with nested exception:
    [weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Exception
    creating
    response stream ] - with nested exception:--
    ============================
    [email protected]

  • Is it possible to make a local class accessible in SE24 subclasses?

    G'Day,
    The scenario is simple: I have a global class created in SE24 with a local helper class defined in the local definitions/implementations sections. The issue is anything declared here is private; however I would like my local class to be available in the subclasses of the global class as well. In other words I want a protected local class.
    ZCL_SUPER  --> contains local utility class LCL_HELPER
        |
        V
    ZCL_SUB    --> needs to make use of LCL_HELPER's methods.
    I've messed about with different definitions and FRIENDS but no joy.
    I can think of two alternatives:
    1. Write a protected wrapper method in zcl_super to expose each lcl_helper method to the subclasses. Annoying, cumbersome, defeats the object of using a local class in first place.
    2. Define LCL_HELPER in an include which is added to all subclasses. This effectively makes it public as I no longer control where LCL_HELPER is used. (Unless I do funky stuff with packages which we don't do on this project).
    Any better suggestions/ideas/workarounds?
    Cheers,
    Mike

    Hi Naimesh,
    Thanks for the input. Interesting idea about interfaces, I need to play around with this a little.
    I don't agree what I'm trying to do would violate encapsulation. I'm after the same visibility level as other class component type. i.e. methods can be private, protected or public. Classes can be local or global - a protected class visible to subclasses would fit the principles quite well.
    Consider a global class GADGET which has a protected attribute WIDGET, type ref to a local class. The widget's methods and attributes should really be separate because it is it's own entity, but at the same time it has no business in the wider SAP system. ==> Perfectly sensible use of a local class.
    Now, this widget can turn, open, close, light up. So in a GADGET method I can say WIDGET->TURN( ). Create a subclass of GADGET and boom, all such code working with WIDGETs is broken. In some ways it makes local classes a little un-future-proof.
    The bothersome thing about the workarounds is that they de-object-orient the two objects by forcing us to create protected methods TURN_WIDGET LIGHT_WIDGET OPEN_WIDGET etc. on the GADGET class. Which goes back to my original point that there's little benefit of creating a local class if we need to do this....
    Or am I missing something?
    Cheers,
    Mike

  • Native method in local class

    Hi there,
    this is a repost of my question but now in the right forum.
    I have a problem with a native method of a local class that hides a member class:
    public class SomeClass
         class MemberClass
              public native void bla();
              public void out()
                   System.out.println("A");
         public void foo()
              class MemberClass
                   public native void bla();
                   public void out()
                        System.out.println("B");
              MemberClass myClass = new MemberClass();
              myClass.out();
         public static void main(String[] args)
              SomeClass someClass = new SomeClass();
              someClass.foo();
    }The class MemberClass exist in two different ways. Every class has it's own out() method. The local class just hides the member class. Now I want to implement the native methods bla() of the two classes.
    If I call
    javac SomeClass.hI get
    SomeClass.class
    SomeClass$MemberClass.class
    SomeClass$1MemberClass.classwhich makes sense to me. We have one class file for the member class and one for the local class.
    If I use
    javah SomeClassthen I get
    JNIEXPORT void JNICALL Java_SomeClass_00024MemberClass_bla(JNIEnv *, jobject);in the header file for the member class. No header file for the local class was created.
    Therefore I call
    javah SomeClass$1MemberClassand I get another header file which is for the local class. But this header file declares the same native method:
    JNIEXPORT void JNICALL Java_SomeClass_00024MemberClass_bla(JNIEnv *, jobject);This is ambiguous... If I would implement the native method, then I couldn't even say for which one of the native methods it will be used. Maybe for both.. which wouldn't make any sense too.
    What is wrong here?
    Thank you for your thoughts :-)

    Interesting...From the JLS under "fully qualified name"
    [http://java.sun.com/docs/books/jls/third_edition/html/names.html#71701]
    "Every package, top level class, top level interface, and primitive type has a fully qualified name."
    From the javah docs
    javah [ options ] fully-qualified-classname
    And note this under the JNI spec for "FindClass"
    [http://java.sun.com/javase/6/docs/technotes/guides/jni/spec/functions.html#wp16027]
    "The name argument is a fully-qualified class name or an array type signature "
    Does that mean that you can't use JNI to access a local class? Seems like I have seen posts that said that was possible.

  • Define local classes in function groups

    Hi,
    I have seen in few code examples that programmers defined their classes as follows:
    1. Interfaces are defined globally i.e. under package->class library->interfaces.
    2. implementing classes are defined locally under: package->function group (as public local class in the function group).
    My question is What is the advantage/disadvantage of it?
    (beside encapsulation).
    I heard that the class loader is working better in that way, is that right?
    thanks,
    Yaron

    Hi
    excuse me I miserunderstood.
    Perhaps it's true I don't know.
    I think the different is the SE24 is a library, so it's the tool arranged to analyze all class components you can need.
    I don't think it's easier to analyze an include (function group) where the class is defined and implemented.
    You shuold measure the time in order to load the class for both case, but probably the different isn't meaningful.
    You should consider that ABAP wasn't OO language, but it was adapted for OO, and so the most ABAP developer weren't used to use OO.
    I think you should define a class as local class if it's your own class.
    Max
    Message was edited by: max bianchi

  • Is there a way to create a structure or a local class inside of another?

    In VB you can create a private type I believe in C++ it's called a struct I was wondering is there a way with Java to create a local class or structure to store variables in a group inside of another class. I'd rather have them in an structure for readability.

    you can do something like this.
    public class MyStruct {
    public String name;
    public int number;
    public double value;
    public class Test {
    private MyStruct struct = new MyStruct();
    private void setValue() {
    struct.name = "my name";
    struct.number = 1;
    struct.value = 20.0;
    public void setStruct(MyStruct newStruct)
    struct = newStruct;
    };

Maybe you are looking for

  • MacBook Pro 15" Battery Life Issue

    I have a MacBook Pro 15", with a processor 2.4 GHz Intel Core i7 and memory 4 GB 1333 Mhz DDR3 running OS X 10.7.2. It was purchased only a week ago and I'm noticing horrible battery issues. I have checked Activity Monitor and nothing, even while I'm

  • Trouble with 7.0.1: Error message re:Quicktime.

    Hi, Normally I'm okay with computers but I've tried everything that I can think of to fix this. I found these forums today and I'm thinking that I might just have to roll back to the sixth version of iTunes because it apears that wuite a few people a

  • HT201401 my iphone screen has got line please tell me what's wrong with my phone

    i have bought recently iphone 5s from apple store but now my iphone screen has got line please tell me what's wrong with my phone

  • Preview: Working with PDF Forms

    Hi all, We had a faculty member (using a mac and preview) edit one of our PDF form docs (created using Acrobat Professional 8). The problem we have noticed is if the user fills out each field using Preview, then saves the document (PDF again) and sen

  • How does PDF convert CMYK to RGB?

    Hi I want to know the formula that PDF uses to convert DeviceCMYK to DeviceRGB values. It seems that Photoshop and PDF uses the same forula, where the other Programs use the "normal" formula, which can be found on the internet and some online RGB to