Class ServiceFactory


  • public final class ServiceFactory
    extends java.lang.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 Summary

      Constructors 
      Constructor Description
      ServiceFactory()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getLookupHost​(java.lang.Class pluginclass, java.lang.String serviceName)
      Liefert den Host, auf dem nach diesem Service gesucht werden soll.
      int getLookupPort​(java.lang.Class pluginclass, java.lang.String serviceName)
      Liefert den TCP-Port, auf dem nach diesem Service gesucht werden soll.
      void init​(Manifest manifest)
      Initialisiert die Services eines Plugins.
      de.willuhn.datasource.Service lookup​(java.lang.Class pluginClass, java.lang.String serviceName)
      Liefert den genannten Service des uebergebenen Plugins.
      void setLookup​(java.lang.Class pluginclass, java.lang.String serviceName, java.lang.String host, int port)
      Speichert Host und Port fuer genannten Service.
      void shutDown()
      Faehrt die Services runter.
      void shutDown​(Plugin plugin)
      Faehrt die Services des angegebenen Plugins runter.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ServiceFactory

        public ServiceFactory()
    • Method Detail

      • 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​(java.lang.Class pluginClass,
                                                    java.lang.String serviceName)
                                             throws java.lang.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
        java.rmi.RemoteException - falls kein Zugriff auf Service via RMI moeglich
        java.lang.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​(java.lang.Class pluginclass,
                              java.lang.String serviceName,
                              java.lang.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 java.lang.String getLookupHost​(java.lang.Class pluginclass,
                                              java.lang.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​(java.lang.Class pluginclass,
                                 java.lang.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.