# Problem mit EJB Aufruf und DualCore Rechner



## jcfreak (15. Jan 2008)

Hallo Forum,

Ich hoffe, ich kann das jetzt einigermassen erklären.

Ich entwickle momentan ein kleines Dokumentenmanagementsystem mit Eclipse RCP, EJB2.x und Hibernate.
Dabei wird ein vom Benutzer ausgewähltes Dokument in ein byte Array zerlegt, in einem ValueObject abgelegt und hinterher binär in der Datenbank gespeichert.

Interessanterweise klappt dies bei relativ kleinen Daten wunderbar (so bis ca. 500kB).
Bei grösseren Dateien bleibt die Anwendung nach dem Aufruf der Servicemethode des EJB Remote-Interfaces (beim Speichern eines neuen Dokumentes) stehen, und muss manuell beendet werden. Dabei wird auch keine Exception geschmissen. Es passiert einfach garnix mehr.

Allerdings zeigt sich dieses Verhalten nur auf einem Laptop mit eingeschalteter DualCore Unterstützung.
Sobald ich diese über das BIOS abschalte, funktioniert die Anwendung selbst mit grösseren Dateien.
Oder ich entferne das o.g. byte Array Array aus dem ValueObject, was nicht Sinn der Sache ist.

Ein Rumexperimentieren mit diversen Java VM Startparametern brachte keinen Erfolg.
Googlen oder Forensuche brachte leider auch nix.

Weiss irgendjemand Rat und/oder hatte jemals ein ähnliches Prob.

Sourcecode habe ich absichtlich noch nicht gepostet (wird sonst ein bisschen viel).


Gruß jcfeak


----------



## Gast (16. Jan 2008)

Da kan man nur vermuten, aber da scheint irgendwas in der Implementierung nicht Threadsave zu sein. 

Bei abgeschalteter DualCore Unterstützung kann das Verhalten nicht auftreten. Offensichtlich schafft die CPU bei kleineren Dateien eine "sequenzielle" Abarbeitung. Bei größeren Dateien laufen dann wohl zwei Threads parallel und es kommt zu diesem Verhalten.


----------



## jcfreak (27. Jan 2008)

Für alle die es interessiert,

habe nun die Lösung. Das Problem lag nicht daran, dass irgendetwas nicht threadsafe war, sondern lediglich
an verdrehten Netzwerkeinstellungen von Windows durch ein Tool.

Nachdem Wiederherstellen der Windows Standardeinstellungen läuft das ganze wieder einwandfrei, selbst
bei eingeschaltetem DualCore.

cu


----------



## pschlae (4. Feb 2008)

jcfreak hat gesagt.:
			
		

> Für alle die es interessiert,
> 
> habe nun die Lösung. Das Problem lag nicht daran, dass irgendetwas nicht threadsafe war, sondern lediglich
> an verdrehten Netzwerkeinstellungen von Windows durch ein Tool.
> ...



Welches Tool war es denn, dass dieses Verhalten verursacht hat?


----------



## jcfreak (5. Feb 2008)

Das Tool das ich meine heisst XPTuner.
Will XPTuner jetzt aber nicht schlecht reden, da ich es bei den Optimierungen wohl ein bisschen übertrieben.
War also mein Fehler.

Gruß jcfreak.


----------

