Java + Corba



  • kennt sich hiermit jemand recht gut aus? Ich hab da ein problem wenn ich über eine Factory selber corba klassen erzeuge. Hier mal der entsprechende Quellcode

    System.out.println("TEST INT!");
    		IntegerObjectImpl iObj = new IntegerObjectImpl(input);
    		db.corba.base.IntegerObjectPOATie poaObj = new db.corba.base.IntegerObjectPOATie( iObj );
    		db.corba.base.IntegerObject test = poaObj._this( orb_ );
    		int t = test.corbaCast(); //da wirft er die bad operation
    		System.out.println("Integer Object wert: " + Integer.toBinaryString( t ) );
    		return poaObj._this( orb_ );
    

    Naja an der markierten stelle crashts halt aber nur wenn sich der besagte Code in einer Factory Methode befindet die auch über Corba Exportiert wird. Ansonsten klappts. (Wenn ich die Zeilen in die Main copiere und genau das gleiche von dort ausführe). Kennt jemand das Problem und kann mir helfen? Ist wirklich dringend. (Nicht Zeitmässig sondern das dies Problem überhaupt gelöst wird wäre wichtig)



  • ich hab eine lösung gefunden die klappt. Auch wenn ich nicht wirklich weiss warum die andere nicht geht.

    System.out.println("TEST INT!");
    	IntegerObjectImpl iObj = new IntegerObjectImpl(input);
    	try
    	{
    		org.omg.CORBA.Object ref = poa.servant_to_reference( iObj );
    		return IntegerObjectHelper.narrow( ref );		
    	}
    	catch ( Exception e ){}
    	return null;
    


  • Ok ich hab rausgefunden warum das vorher nicht geklappt hat. Falls mal zufällig doch wer interessiert ist.

    Es lag schlicht und einfach an einer Schlechten Implementierung des Standard Java Orb. Der hat Probleme mit Implizierter Aktivierung von Corba Objekten. Daher sollte man für sowas den JacOrb oder einen anderen ORB nehmen.



  • corba ist doch eh out, webservices sind hip 😉



  • jein. Im gegensatz zu Webservices nutzt Corba nen binärstrom für den Netzversand. Für richtige Frontend anwendungen geb ich dir recht. Aber es gibt noch sowas wie microcontroller etc die mal nen 2 mb overhead einer xml datei nicht so gut verkraften und auch nicht wirklich sinnvoll xml parsen können 😉 Corba gibts sehr wohl noch.

    Und ob hip oder nicht ich krieg ne note drauf also muss ich es machen.


Anmelden zum Antworten