Rmiio

RMIIO is een bibliotheek die het zo eenvoudig mogelijk maakt om grote hoeveelheden gegevens te streamen met behulp van het RMI-raamwerk.
Download nu

Rmiio Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • GPL
  • Prijs:
  • FREE
  • Naam uitgever:
  • Health Market Science
  • Uitgever website:

Rmiio Tags


Rmiio Beschrijving

RMIIO is een bibliotheek die het zo eenvoudig mogelijk maakt om grote hoeveelheden gegevens te streamen met behulp van het RMI-raamwerk. RMIIO is een bibliotheek die het zo eenvoudig mogelijk maakt om grote hoeveelheden gegevens te streamen met behulp van het RMI-kader (of een RPC-raamwerk voor die kwestie). Wie heeft dit nodig? Nou, als u ooit een bestand van een RMI-client naar een RMI-server nodig hebt, hebt u geconfronteerd met dit probleem. En als u het in de hand lukt om een basisoplossing te implementeren, gooide het waarschijnlijk een outofmemoryError de eerste keer dat iemand probeerde een 2GB-bestand te verzenden. Vanwege het ontwerp van RMI is dit gemeenschappelijke en bedrieglijk eenvoudig probleem eigenlijk vrij moeilijk om op een efficiënte en robuuste manier op te lossen. Het RMI-framework maakt het heel eenvoudig om externe communicatie tussen Java-programma's te implementeren. Het kost een heel moeilijk probleem (externe communicatie) en presenteert een vrij eenvoudig te gebruiken oplossing. Het RMI-framework is echter ontworpen rond het verzenden en ontvangen van groepen objecten die allemaal onmiddellijk beschikbaar zijn in het geheugen. Hoe verzendt u een bestand van de client naar de server zonder het geheugen op de client of de server te blazen? De tools en API's in de standaard Java-runtime hebben geen gereed-oplossingen voor dit probleem, maar veel mensen zijn het tegengekomen. Breng een paar momenten door met zoeken via Sun's Java-forums en je zult veel vragen en heel weinig nuttige suggesties (serieus, probeer het zoekopdracht "RMI Send File" voor wat leuke waarde). Een van de suggesties: · Verzend een bestandsobject · Verzend een URL · Verzend een inputstream · Verzend een byte [] De laatste is de eerste suggestie die daadwerkelijk nut nadert - het lost het eerste probleem op, maar niet de tweede (voor meer gedetailleerde weergave Pakket Javadocs). Wat u echt wilt doen, is Streamgegevens van de client naar de server (u hebt een inputstream, toch?) Met behulp van een raamwerk dat niet echt een streamingmodel blootlegt. De RMIIO-bibliotheek is geschreven om die ontbrekende kloof in het RMI-raamwerk in te vullen. Het biedt enkele zeer krachtige klassen die een client in staat stellen om gegevens naar de server te streamen met slechts een paar extra regels van Code.RemotestreamExamplehow Simple? Nou, wat dacht je van een voorbeeldcode (opmerking, voorbeelden laten het normale uitzonderingsbehandeling weg omwille van de beknoptheid). Het voor de hand liggende voorbeeld is natuurlijk een eenvoudige uploadservice van het bestand. Als de client en de server in dezelfde JVM draaiden, zou u waarschijnlijk een serverimplementatie als deze creëren: // een eenvoudige lokale bestandsuploadservice Publieke klasse LocalFileUploadservice {Public Void UploadFile (String FileName, Inputstream Filedata) {// ... Kopieer Filedata naar lokale opslag ...}} Easy, toch? Nu, om dit daadwerkelijk in een externe interface te draaien, moet het type filedata worden gewijzigd, omdat een inputstream niet op afstand werkt. Met RMIIO wordt deze implementatie: // een eenvoudige externe bestand Upload Service Public Class RemoteFileUploadservice {public void uploadfile (string-bestandsnaam, afstandsbediening) {inputstream filedata = afremoteinputstreamclient.wrap (remoteFiledata); // ... Kopieer Filedata naar lokale opslag ...} Dat is het, één extra regel op de server om de RMIIO-afstandsbediening in te wikkelen als een input (Ja, het is verwarrend dat de server een methode gebruikt met "client" in de naam , maar in deze situatie fungeert de server als de klant met betrekking tot de afstandsbediening). Fijn, dus de serverwijzigingen zijn eenvoudig, hoe maakt de client een afstandsbediening aan? // een klant oproep naar een remotefileuploadservice-remotefileuploadservice service = ...; Inputstream filedata = ...; RemoteInputStreamserver RemoteFiledata = Nieuwe SimpleremoteInputStream (Filedata); Service.uploadfile ("MyFile", RemoteFiledata.export ()); en daar heb je een werkende client die een bestand naar een externe server kan streamen (nogmaals, opmaak dat de standaard try / catch / eindelijk blokkades die nodig zijn in de daadwerkelijke productiecode zijn weggelaten uit deze voorbeelden). Door de INPUTSSTREAM te inpassen met behulp van een van de RMIIO-afstandsbedieningen en exporteren van het exporteren, kunnen de bronbestandsgegevens worden gestreamd naar de server met behulp van een reeds gevestigde RMI-verbinding. Dit voorbeeld raakt u gewoon aan de krachtige functionaliteit die wordt geleverd door de RMIIO-bibliotheek. Zie de sectie Functies hieronder voor meer informatie. De RMIIO-bibliotheek heeft een licentie onder de GNU Lesser General Public License en maakt deel uit van het OpenHMS-project. Hier zijn enkele belangrijke kenmerken van "RMIIO": · Afstandsbediening en uitvoerstromen · Externe iterator-implementatie voor streaming-collecties van objecten (Serialremotiterators) · Optionele gzipcompressie over de draad (invoer- en uitvoerstromen) · Stroomuitgang Monitoring Haken (Remotestreammonitor) · Optionele low-latenty streaming (NODLAY) · Serialiseerbare ingangsstroom- en uitvoerstream-wrappers voor op afstand ingangs- en uitvoerstromen · SPOELBARE RPC-integratie die kan worden gebruikt om te integreren met andere kaders dan RMI (zie de RemotestreamPerter-sectie hieronder voor meer informatie) · Hulpprogramma's om robuuste RMI te faciliteren Gebruik (Remoteretry) Vereisten: · Java Runtime EnvironmentWat is nieuw in deze release: · Maakt de reservering van Remotestreamserver mogelijk.


Rmiio Gerelateerde software

Buigen

Flexess biedt een uitgebreid beveiligingskader voor Java-toepassingen. ...

124

Downloaden

Tk :: perlmethodlist

TK :: PERLMETHODLIST is een PERL-module om de symbooltabel te vragen voor methoden (subroutines) die zijn gedefinieerd in een klasse (pakket). ...

144

Downloaden

Axyl

Axyl is een PHP-bibliotheek / kader voor de ontwikkeling van websites. ...

142

Downloaden