EJClient ist ein TCP/IP basierter Netzwerkclient, welcher ausschließlich zur Kommunikation mit einem EJServer fähig ist.
Ebenso wie EJServer verfolgt auch EJClient den Ansatz, eine möglichst leichte Integration zu gewährleisten.
EJClient unterstützt:
EJClient()Erzeugt eine neue Instanz von EJClient, vorkonfiguriert mit den Einstellungen aus der Datei "ejoe.properties", welche auf dem Classpath verfügbar sein muss
EJClient(Properties properties)Erzeugt eine neue Instanz von EJClient, vorkonfiguriert mit den übergebenen Einstellungen. Dieser Konstruktor kann benutzt werden, wenn die Einstellungen für EJClient bereits aus einer anderen Konfigurationsdatei geladen wurden.
EJClient(String pathToConfigFile)Erzeugt eine neue Instanz von EJClient mit den Einstellungen aus der übergebenen Konfigurationsdatei.
EJClient(String host, int port)Erzeugt eine neue Instanz von EJClient, welche mit dem EJServer auf der Netzwerkadresse "host:port" kommunizieren kann. Host kann dabei eine IP-Adresse oder ein DNSName sein.
EJClient(String host, int port, SerializeAdapter adapter)Erzeugt eine neue Instanz von EJClient, welche mit dem EJServer auf der Netzwerkadresse "host:port" kommunizieren kann. Host kann dabei eine IP-Adresse oder ein DNS-Name sein. Für die Serialisierung der Anfragedaten wird der übergebene SerializeAdapter benutzt.
EJClient(String host, int port, SerializeAdapter adapter, boolean isPersistent, boolean isHttp, boolean useCompression)Erzeugt eine neue Instanz von EJClient, welche mit dem EJServer auf der Netzwerkadresse "host:port" kommunizieren kann. Host kann dabei eine IP-Adresse oder ein DNS-Name sein. Für die Serialisierung der Anfragedaten wird der übergebene SerializeAdapter benutzt. Je nachdem, ob "isPersistent" den Wert true oder false aufweist, wird eine persistente Verbindung zum EJServer benutzt oder nicht. Je nachdem, ob "isHttp" den Wert true oder false aufweist, werden Requests in HTTP-Post-Anfragen verpackt oder nicht. Je nachdem, ob "useCompression" den Wert true oder false aufweist, werden Requests komprimiert oder nicht.
execute(Object request)bereit. Der Request kann von jedem nicht-primitiven Typ sein und muss die vom jeweilig gewählten SerializeAdapter evtl. gestellten Anforderungen erfüllen. Kommunikationsfehler werden als java.io.IOException, Fehler bei der serverseitigen Verarbeitung des Requests als java.rmi.RemoteException ausgelöst.
import de.netseeker.ejoe.EJClient; ... { Integer myIntegerRequest = new Integer(1); String myStringRequest = "Hallo EJServer"; Map myMapRequest = new HashMap(); SomeBean myBeanRequest = new SomeBean(); ... EClient client = new EJClient(...); try { client.execute( myIntegerRequest ); client.execute( myStringRequest ); client.execute( myMapRequest ); client.execute( myBeanRequest ); ... } catch(RemoteException re) { //EJServer did return an Error } catch(IOException e) { //connection or serialization issues maybe? } ... }