2016-04-20 16 views
-3

Ich habe eine Web-App, die ich gebaut habe. Es kommuniziert mit der Salesforce-API. Ich habe Benutzer und Administratoren. Alle Verbindungen zur API verwenden dieselben Anmeldeinformationen.Konstanten bleiben für ALLE Benutzer gleich?

Ich bin besorgt, dass meine API-Verbindung wird mehrmals erstellt werden, da jeder Admin, der angemeldet ist, hat ihre eigene Instanz der Verbindung.

Wenn ich die API-Verbindung in einer Konstanten halte, haben alle anderen Sitzungen/Benutzer Zugriff auf genau diese Verbindung oder muss ich für jeden Benutzer eine Verbindung herstellen, oder wie kann ich eine einzige API-Verbindung für ALLE Benutzer freigeben?

+0

Ist das nicht Salesforce API nur eine HTTP-API? – Aaron

Antwort

0

Eine zustandslose API wird niemals eine dauerhafte Verbindung haben, daher ist es nicht sinnvoll, diese in Konstanten zu halten. Jede HTTP-Anfrage ist per Definition eine separate TCP-Verbindung.

Es sind nur Dinge wie Datenbank- oder Websocket-Verbindungen, die bestehen bleiben und wenn Sie diese verwalten müssen, benötigen Sie einen Verbindungspool, keine einfache Konstante. Wenn die Verbindung jemals fehlschlägt, muss sie ersetzt werden. Wenn mehr als ein Thread dies erfordert, müssen Sie die Erfassung und das Sperren ordnungsgemäß durchführen.

Erstellen Sie Ihre API-Connectors nach Bedarf. Wenn Sie kein messbares Leistungsproblem haben, machen Sie sich keine Sorgen darüber.

-1

Eine Ruby-Konstante ist wie eine Variable, außer dass ihr Wert für die Dauer des Programms konstant bleiben soll. Der Ruby-Interpreter erzwingt nicht tatsächlich die Konstanz von Konstanten, aber er gibt eine Warnung aus, wenn ein Programm den Wert einer Konstanten ändert.

Referenz: http://rubylearning.com/satishtalim/ruby_constants.html

Verwandte Themen