Skip to main content

Unsere einheimischen Schwalbenarten und der Mauersegler

Die zur Ordnung der Singvögel (Passeriformes) gehörenden Schwalben (Familie Hirundinidae) zählen als Siedlungs- und Kulturfolger des Menschen auch in der breiten Öffentlichkeit wohl zu den bekanntesten Vogelarten. Sie sind mit Ausnahme der ozeanischen Inseln und arktischer sowie antarktischer Gebiete über die ganze Welt verbreitet. Schwalben als ausgesprochene Zugvögel verbringen ihre Brutzeit während der warmen Monate in Mitteleuropa und überwintern im südlichen Afrika.
Weltweit kennt man 79 Schwalbenarten, die in 19 Gattungen zusammengefasst werden. Von diesen sind vier Arten Brutvögel in Mitteleuropa. Zu den hierzulande bekanntesten Arten zählen die Mehlschwalbe (Delichon urbica) und die Rauchschwalbe (Hirundo rustica). Weniger bekannt und auch insgesamt weitaus seltener sind in Deutschland die Uferschwalbe (Riparia riparia) sowie regional in den Alpen die Felsenschwalbe (Ptyonoprogne rupestris).
Die Rötelschwalbe (Hirundo daurica) ist nördlich der Alpen lediglich als Irrgast anzutreffen und kommt sonst nur im Süden der Iberischen Halbinsel sowie auf der Balkanhalbinsel vor.
Aufgrund seiner äußerlichen Ähnlichkeit zu den Schwalben wird der Mauersegler (Apus apus) häufig mit diesen verwechselt. Er ist jedoch nicht mit den Schwalben verwandt, sondern gehört zur Familie der Segler (Apodidae), zu denen beispielsweise auch Alpensegler (Apus melba) und Fahlsegler (Apus palladus) gehören.
Rauch- und Mehlschwalbe sowie Mauersegler brüten an und in Gebäuden und sind uns daher häufig gegenwärtig. Ihre Lebensweise und ihr Zugverhalten spiegeln sich auch in den vielen alten, oftmals regional unterschiedlichen Bauernregeln wider, da Klima und Witterung sowohl das bäuerliche Leben als auch das Verhalten der Schwalben im Jahreslauf beeinflussen.

Hierbei ist zu bemerken, dass in den Bauernregeln unter dem Begriff „Schwalbe“ mal die Rauchschwalbe, mal die Mehlschwalbe gemeint ist. Dies ist ein Grund für die unterschiedlichen, in den Bauernregeln angegebenen Ankunfts- und Ausflugstermine; ein weiterer Grund sind regionale Abweichungen, die -wie bereits erwähnt- durch klimatische Faktoren gesteuert werden:
-„Eine Schwalbe macht noch keinen Sommer.“
-„An Gregor (12. März) kommt die Schwalbe über des Meeres Port, an Benedikt (21. März) sucht sie im Haus ‘nen Ort, an Bartolomä (24. August) ist sie wieder fort.“
-„Auf Sankt Georg (23. April) zeigt sich die Schwalbe einen Blick und zieht sich bald wieder zurück.“
-„Mit Adalbert (24. April) kommen die Schwalben.“
-„Wenn die Schwalben im August schon zieh’n, sie vor naher Kälte flieh’n.“
-„An dem Tag Maria Geburt (8. September) nimmt die Schwalb’ den Reisegurt.“
-„Fliegen die Schwalben tief, ist ein Gewitter nicht mehr fern.“
In den letzten Jahrzehnten sind in vielen Regionen rückläufige Bestandeszahlen bei Schwalben- und Seglerarten festzustellen. Gründe dafür sind u.a. der Rückgang der Insektenpopulationen, Mangel an Nist- und Baumaterial (u.a. durch Hof- und Wegeversiegelung) sowie Abnahme geeigneter Brutplätze (z.B. durch Veränderungen im Hausbau und in der Viehhaltung).

Die stärksten plötzlichen und überregionalen Verluste erleiden die Schwalbenpopulationen allerdings meistens durch Katastrophen während ihres Zuges. Diese werden oftmals durch drastische Kälteeinbrüche, wie beispielsweise in den Jahren 1931, 1936, 1951 und 1974, verursacht. Obwohl 1974 über 1.000.000 (!) Schwalben bei verschiedenen Rettungsaktionen mit Zügen, Lastkraftwagen und Flugzeugen aus der Schweiz und der Bundesrepublik Deutschland nach Südeuropa gebracht wurden, waren die Bestandeseinbrüche zum Teil dramatisch. Dies ist beispielsweise auch aus den Erhebungen in Krofdorf-Gleiberg ersichtlich: Der Bestand wurde von 1974 (129 besetzte Nester) bis 1975 (69 besetzte Nester) um fast 50 % reduziert. Diese Entwicklung wird auch durch Erhebungen in Sinn-Edingen (Lahn-Dill-Kreis) bestätigt.
Failed to start the session because headers have already been sent by "/mnt/web312/d2/29/547229/htdocs/cms/libraries/vendor/joomla/application/src/AbstractWebApplication.php" at line 404. (500 Whoops, looks like something went wrong.)

RuntimeException

HTTP 500 Whoops, looks like something went wrong.

Failed to start the session because headers have already been sent by "/mnt/web312/d2/29/547229/htdocs/cms/libraries/vendor/joomla/application/src/AbstractWebApplication.php" at line 404.

Exception

RuntimeException

  1. if ($this->isActive()) {
  2. throw new \RuntimeException('Failed to start the session: already started by PHP.');
  3. }
  4. if (ini_get('session.use_cookies') && headers_sent($file, $line)) {
  5. throw new \RuntimeException(
  6. sprintf('Failed to start the session because headers have already been sent by "%s" at line %d.', $file, $line)
  7. );
  8. }
  9. if (!session_start()) {
  1. $this->setId($session_clean);
  2. $cookie->set($session_name, '', ['expires' => time() - 3600 ]);
  3. }
  4. }
  5. parent::start();
  6. // Try loading data from the session
  7. if (!empty($_SESSION['joomla'])) {
  8. $this->data = unserialize(base64_decode($_SESSION['joomla']));
  9. }
  1. {
  2. if ($this->isStarted()) {
  3. return;
  4. }
  5. $this->store->start();
  6. $this->setState(SessionState::ACTIVE);
  7. // Initialise the session
  8. $this->setCounter();
  1. * @since 1.0
  2. */
  3. public function has($name)
  4. {
  5. if (!$this->isActive()) {
  6. $this->start();
  7. }
  8. return $this->store->has($name);
  9. }
  1. $name = $args[2] . '.' . $name;
  2. }
  3. }
  4. if (parent::has($name)) {
  5. // Parent is used because of b/c, can be changed in Joomla 6
  6. return parent::get($name, $default);
  7. }
  8. /*
  1. */
  2. public function getMessageQueue($clear = false)
  3. {
  4. // For empty queue, if messages exists in the session, enqueue them.
  5. if (!\count($this->messageQueue)) {
  6. $sessionQueue = $this->getSession()->get('application.queue', []);
  7. if ($sessionQueue) {
  8. $this->messageQueue = $sessionQueue;
  9. $this->getSession()->set('application.queue', []);
  10. }
  1. // Boolean short–circuit evaluation means this returns fast false when $isSite is false.
  2. return $isSite
  3. && $isGET
  4. && $app->getIdentity()->guest
  5. && empty($app->getMessageQueue());
  6. }
  7. /**
  8. * Get the cache controller
  9. *
  1. *
  2. * @since 1.5
  3. */
  4. public function onAfterRespond(AfterRespondEvent $event): void
  5. {
  6. if (!$this->appStateSupportsCaching() || $this->getCacheController()->getCaching() === false) {
  7. return;
  8. }
  9. // Saves current page in cache.
  10. $this->getCacheController()->store($this->getApplication()->getBody(), $this->getCacheKey());
  1. foreach ($this->listeners[$event->getName()] as $listener) {
  2. if ($event->isStopped()) {
  3. return $event;
  4. }
  5. $listener($event);
  6. }
  7. }
  8. return $event;
  9. }
  1. $dispatcher = $this->getDispatcher();
  2. } catch (\UnexpectedValueException $exception) {
  3. return null;
  4. }
  5. return $dispatcher->dispatch($eventName, $event ?: new ApplicationEvent($eventName, $this));
  6. }
  7. /**
  8. * Method to run the application routines.
  9. *
  1. // Send the application response.
  2. $this->respond();
  3. // Trigger the onAfterRespond event.
  4. $this->dispatchEvent(
  5. 'onAfterRespond',
  6. new AfterRespondEvent('onAfterRespond', ['subject' => $this])
  7. );
  8. }
CMSApplication->execute() in /mnt/web312/d2/29/547229/htdocs/cms/includes/app.php (line 58)
  1. // Set the application as global app
  2. \Joomla\CMS\Factory::$application = $app;
  3. // Execute the application.
  4. $app->execute();
require_once('/mnt/web312/d2/29/547229/htdocs/cms/includes/app.php') in /mnt/web312/d2/29/547229/htdocs/cms/index.php (line 51)
  1. // ... die
  2. die();
  3. }
  4. // Run the application - All executable code should be triggered through this file
  5. require_once __DIR__ . '/includes/app.php';

Stack Trace

RuntimeException
RuntimeException:
Failed to start the session because headers have already been sent by "/mnt/web312/d2/29/547229/htdocs/cms/libraries/vendor/joomla/application/src/AbstractWebApplication.php" at line 404.

  at /mnt/web312/d2/29/547229/htdocs/cms/libraries/vendor/joomla/session/src/Storage/NativeStorage.php:454
  at Joomla\Session\Storage\NativeStorage->start()
     (/mnt/web312/d2/29/547229/htdocs/cms/libraries/src/Session/Storage/JoomlaStorage.php:313)
  at Joomla\CMS\Session\Storage\JoomlaStorage->start()
     (/mnt/web312/d2/29/547229/htdocs/cms/libraries/vendor/joomla/session/src/Session.php:396)
  at Joomla\Session\Session->start()
     (/mnt/web312/d2/29/547229/htdocs/cms/libraries/vendor/joomla/session/src/Session.php:327)
  at Joomla\Session\Session->has()
     (/mnt/web312/d2/29/547229/htdocs/cms/libraries/src/Session/Session.php:194)
  at Joomla\CMS\Session\Session->get()
     (/mnt/web312/d2/29/547229/htdocs/cms/libraries/src/Application/CMSApplication.php:611)
  at Joomla\CMS\Application\CMSApplication->getMessageQueue()
     (/mnt/web312/d2/29/547229/htdocs/cms/plugins/system/cache/src/Extension/Cache.php:238)
  at Joomla\Plugin\System\Cache\Extension\Cache->appStateSupportsCaching()
     (/mnt/web312/d2/29/547229/htdocs/cms/plugins/system/cache/src/Extension/Cache.php:382)
  at Joomla\Plugin\System\Cache\Extension\Cache->onAfterRespond()
     (/mnt/web312/d2/29/547229/htdocs/cms/libraries/vendor/joomla/event/src/Dispatcher.php:454)
  at Joomla\Event\Dispatcher->dispatch()
     (/mnt/web312/d2/29/547229/htdocs/cms/libraries/vendor/joomla/application/src/AbstractApplication.php:99)
  at Joomla\Application\AbstractApplication->dispatchEvent()
     (/mnt/web312/d2/29/547229/htdocs/cms/libraries/src/Application/CMSApplication.php:347)
  at Joomla\CMS\Application\CMSApplication->execute()
     (/mnt/web312/d2/29/547229/htdocs/cms/includes/app.php:58)
  at require_once('/mnt/web312/d2/29/547229/htdocs/cms/includes/app.php')
     (/mnt/web312/d2/29/547229/htdocs/cms/index.php:51)