Hoi,
Ik heb me de laatste tijd verdiept in RMI, mooi idee vooral door zijn transparantie. Mijn uiteindelijke doel is dat ik met behulp van RMI een dataopslag laag wil aansturen.
Ik wil dat de client bij de server een Repository class kan aanmaken en daarmee aan het werk kan alsof die repository lokaal staat. Dit betekent dus ook dat hij daar allemaal dataobjecten uit kan halen, en zelfs Exceptions kan opvangen.
Echter de RMI zal van een class die niet java.rmi.remote extend altijd proberen die class te serializen en naar de client te sturen. En aangezien dat niet kan voor deze classes (en ik dat niet wil), gaat dat fout.
Ik heb ook geen zin om voor elke class die gebruikt wordt in die dataopslag-laag (enkele 100en) een wrapper class te maken die java.rmi.remote extends. Allereerst betwijfel ik of dat goed gaat, en ten tweede is de datalaag dan niet meer makkelijk te upgraden naar een nieuwe versie.
Wie weet of het mogelijk is om automatisch alle classes in de JAR-files voor die datalaag java.rmi.remote te laten extenden? Ben benieuwd of het mogelijk is?
Ik heb me de laatste tijd verdiept in RMI, mooi idee vooral door zijn transparantie. Mijn uiteindelijke doel is dat ik met behulp van RMI een dataopslag laag wil aansturen.
Ik wil dat de client bij de server een Repository class kan aanmaken en daarmee aan het werk kan alsof die repository lokaal staat. Dit betekent dus ook dat hij daar allemaal dataobjecten uit kan halen, en zelfs Exceptions kan opvangen.
Echter de RMI zal van een class die niet java.rmi.remote extend altijd proberen die class te serializen en naar de client te sturen. En aangezien dat niet kan voor deze classes (en ik dat niet wil), gaat dat fout.
Ik heb ook geen zin om voor elke class die gebruikt wordt in die dataopslag-laag (enkele 100en) een wrapper class te maken die java.rmi.remote extends. Allereerst betwijfel ik of dat goed gaat, en ten tweede is de datalaag dan niet meer makkelijk te upgraden naar een nieuwe versie.
Wie weet of het mogelijk is om automatisch alle classes in de JAR-files voor die datalaag java.rmi.remote te laten extenden? Ben benieuwd of het mogelijk is?