Class ServiceFactory

java.lang.Object
de.willuhn.jameica.system.ServiceFactory

public final class ServiceFactory extends Object
Diese Klasse stellt alle von Plugins genutzen Services zur Verfuegung. Insbesondere sind das die Datenbank-Anbindungen. Wird die Anwendung im Server-Mode gestartet, dann werden alle Services via RMI in Netz zur Verfuegung gestellt. Andernfalls nur lokal.
  • Constructor Details

    • ServiceFactory

      public ServiceFactory()
  • Method Details

    • init

      public void init(Manifest manifest) throws de.willuhn.util.ApplicationException
      Initialisiert die Services eines Plugins.
      Parameters:
      manifest - das Manifest des Plugins.
      Throws:
      de.willuhn.util.ApplicationException
    • lookup

      public de.willuhn.datasource.Service lookup(Class pluginClass, String serviceName) throws Exception
      Liefert den genannten Service des uebergebenen Plugins.
      Parameters:
      pluginClass - Klasse des Plugins, fuer welches der Service geladen werden soll.
      serviceName - Name des Service.
      Returns:
      die Instanz des Services.
      Throws:
      de.willuhn.util.ApplicationException - falls Service nicht gefunden werden konnte
      RemoteException - falls kein Zugriff auf Service via RMI moeglich
      Exception
    • shutDown

      public void shutDown(Plugin plugin)
      Faehrt die Services des angegebenen Plugins runter.
      Parameters:
      plugin - das Plugin, fuer das die Services beendet werden sollen.
    • shutDown

      public void shutDown()
      Faehrt die Services runter.

      Beendet werden hierbei nur die lokal gestarteten Services, nicht remote verbundene.

    • setLookup

      public void setLookup(Class pluginclass, String serviceName, String host, int port)
      Speichert Host und Port fuer genannten Service.
      Parameters:
      pluginclass - Klasse des Plugins.
      serviceName - Name des Service.
      host - Host (IP oder Hostname).
      port - TCP-Port.
    • getLookupHost

      public String getLookupHost(Class pluginclass, String serviceName)
      Liefert den Host, auf dem nach diesem Service gesucht werden soll.
      Parameters:
      pluginclass - Klasse des Plugins.
      serviceName - Name des gesuchten Service.
      Returns:
      Hostname, auf dem sich der Service befindet oder null wenn nicht definiert.
    • getLookupPort

      public int getLookupPort(Class pluginclass, String serviceName)
      Liefert den TCP-Port, auf dem nach diesem Service gesucht werden soll.
      Parameters:
      pluginclass - Klasse des Plugins.
      serviceName - Name des gesuchten Service.
      Returns:
      TCP-Port, auf dem sich der Service befindet oder -1 wenn nicht definiert.