Dieser Inhalt ist in der von Ihnen ausgewählten Sprache nicht verfügbar.

8.3. Cartridge Event Example


In this example, an application developer adds a MySQL database cartridge to a PHP application. The publish and subscribe relationship between the cartridges enables the PHP cartridge to set environment variables on its gear so it can connect to the new MySQL cartridge, which is on a different gear.
MySQL Cartridge as Publisher

The MySQL cartridge lists a publish-mysql-connection-info event in the Publishes section of its mysql/metadata/manifest.yml file:

Publishes:
  publish-mysql-connection-info:
    Type: "NET_TCP:db:mysql"
Copy to Clipboard Toggle word wrap

The MySQL cartridge implements a script in mysql/hooks/publish-mysql-connection-info.
PHP Cartridge as Subscriber

The PHP cartridge lists a set-mysql-connection-info event in the Subscribes section of its php/metadata/manifest.yml file:

Subscribes:
  set-mysql-connection-info:
    Type: "NET_TCP:db:mysql"
Copy to Clipboard Toggle word wrap

The PHP cartridge implements a script in php/hooks/set-mysql-connection-info.
Cartridge Event Communication Process

OpenShift Enterprise matches the event Type in the PHP cartridge's Subscribes list to the event Type in the MySQL cartridge's Publishes list. In this example, the event Type is "NET_TCP:db:mysql".

The MySQL cartridge's publish-mysql-connection-info script outputs the username, host, port, URL, and password required to connect to the MySQL instance:
OPENSHIFT_MYSQL_DB_USERNAME=username;
OPENSHIFT_MYSQL_DB_PASSWORD=password;
OPENSHIFT_MYSQL_DB_HOST=hostname;
OPENSHIFT_MYSQL_DB_PORT=port;
OPENSHIFT_MYSQL_DB_URL=url;
Copy to Clipboard Toggle word wrap
OpenShift Enterprise sends the output of the MySQL cartridge's publish-mysql-connection-info to the PHP cartridge's set-mysql-connection-info script using the following format:
hooks/publish-mysql-connection-info gear_name namespace gear_uuid 'OPENSHIFT_MYSQL_DB_USERNAME=username;OPENSHIFT_MYSQL_DB_PASSWORD=password;OPENSHIFT_MYSQL_DB_HOST=hostname;OPENSHIFT_MYSQL_DB_PORT=port;OPENSHIFT_MYSQL_DB_URL=url;'
Copy to Clipboard Toggle word wrap
Note that the publisher script determines the format of the information input to the subscriber script. When writing subscriber scripts, ensure that they parse the input correctly.
Nach oben
Red Hat logoGithubredditYoutubeTwitter

Lernen

Testen, kaufen und verkaufen

Communitys

Über Red Hat Dokumentation

Wir helfen Red Hat Benutzern, mit unseren Produkten und Diensten innovativ zu sein und ihre Ziele zu erreichen – mit Inhalten, denen sie vertrauen können. Entdecken Sie unsere neuesten Updates.

Mehr Inklusion in Open Source

Red Hat hat sich verpflichtet, problematische Sprache in unserem Code, unserer Dokumentation und unseren Web-Eigenschaften zu ersetzen. Weitere Einzelheiten finden Sie in Red Hat Blog.

Über Red Hat

Wir liefern gehärtete Lösungen, die es Unternehmen leichter machen, plattform- und umgebungsübergreifend zu arbeiten, vom zentralen Rechenzentrum bis zum Netzwerkrand.

Theme

© 2025 Red Hat