100% found this document useful (1 vote)
18 views

Beginning gRPC with ASP.NET Core 6: Build Applications using ASP.NET Core Razor Pages, Angular, and Best Practices in .NET 6 1st Edition Anthony Giretti 2024 Scribd Download

The document promotes the ebook 'Beginning gRPC with ASP.NET Core 6' by Anthony Giretti, which focuses on building applications using ASP.NET Core Razor Pages, Angular, and best practices in .NET 6. It includes links to download the ebook and additional recommended digital products related to ASP.NET Core. The document also outlines the structure of the book, including various chapters covering .NET 6, gRPC fundamentals, and application development.

Uploaded by

mcwayebbenkm
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
18 views

Beginning gRPC with ASP.NET Core 6: Build Applications using ASP.NET Core Razor Pages, Angular, and Best Practices in .NET 6 1st Edition Anthony Giretti 2024 Scribd Download

The document promotes the ebook 'Beginning gRPC with ASP.NET Core 6' by Anthony Giretti, which focuses on building applications using ASP.NET Core Razor Pages, Angular, and best practices in .NET 6. It includes links to download the ebook and additional recommended digital products related to ASP.NET Core. The document also outlines the structure of the book, including various chapters covering .NET 6, gRPC fundamentals, and application development.

Uploaded by

mcwayebbenkm
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 40

Get the full ebook with Bonus Features for a Better Reading Experience on ebookmeta.

com

Beginning gRPC with ASP.NET Core 6: Build


Applications using ASP.NET Core Razor Pages,
Angular, and Best Practices in .NET 6 1st Edition
Anthony Giretti
https://ebookmeta.com/product/beginning-grpc-with-asp-net-
core-6-build-applications-using-asp-net-core-razor-pages-
angular-and-best-practices-in-net-6-1st-edition-anthony-
giretti/

OR CLICK HERE

DOWLOAD NOW

Download more ebook instantly today at https://ebookmeta.com


Recommended digital products (PDF, EPUB, MOBI) that
you can download immediately if you are interested.

Pro ASP.NET Core 6: Develop Cloud-Ready Web Applications


Using MVC, Blazor, and Razor Pages 9th Edition Adam
Freeman
https://ebookmeta.com/product/pro-asp-net-core-6-develop-cloud-ready-
web-applications-using-mvc-blazor-and-razor-pages-9th-edition-adam-
freeman/
ebookmeta.com

ASP.NET Core Razor Pages in Action 1st Edition Mike Brind

https://ebookmeta.com/product/asp-net-core-razor-pages-in-action-1st-
edition-mike-brind/

ebookmeta.com

Beginning Database Programming Using ASP.NET Core 3: With


MVC, Razor Pages, Web API, jQuery, Angular, SQL Server,
and NoSQL 1st Edition Bipin Joshi
https://ebookmeta.com/product/beginning-database-programming-using-
asp-net-core-3-with-mvc-razor-pages-web-api-jquery-angular-sql-server-
and-nosql-1st-edition-bipin-joshi/
ebookmeta.com

Annual Review of Gerontology and Geriatrics Volume 39 2019


154th Edition Roland J Thorpe Jr Phd

https://ebookmeta.com/product/annual-review-of-gerontology-and-
geriatrics-volume-39-2019-154th-edition-roland-j-thorpe-jr-phd/

ebookmeta.com
The Material Culture of Basketry Practice Skill and
Embodied Knowledge 1st Edition Stephanie Bunn

https://ebookmeta.com/product/the-material-culture-of-basketry-
practice-skill-and-embodied-knowledge-1st-edition-stephanie-bunn/

ebookmeta.com

Mermaid Origin of Species Heather Renee

https://ebookmeta.com/product/mermaid-origin-of-species-heather-renee/

ebookmeta.com

A Dead Cousin Jessica Huntinton Desert Cities Cozy Mystery


05 Anna Celeste Burke Et El

https://ebookmeta.com/product/a-dead-cousin-jessica-huntinton-desert-
cities-cozy-mystery-05-anna-celeste-burke-et-el/

ebookmeta.com

Spice of Life A Cuckolding Story 1st Edition Casey Brooks

https://ebookmeta.com/product/spice-of-life-a-cuckolding-story-1st-
edition-casey-brooks/

ebookmeta.com

The Perfect Crimes of Marian Hayes - London Highwaymen 02


Cat Sebastian Et El

https://ebookmeta.com/product/the-perfect-crimes-of-marian-hayes-
london-highwaymen-02-cat-sebastian-et-el/

ebookmeta.com
Adorn Where it ALL started Gone with The Rift 1 1st
Edition Jeanette Lynn

https://ebookmeta.com/product/adorn-where-it-all-started-gone-with-
the-rift-1-1st-edition-jeanette-lynn/

ebookmeta.com
Beginning gRPC
with ASP.NET Core 6
Build Applications using ASP.NET
Core Razor Pages, Angular,
and Best Practices in .NET 6

Anthony Giretti
Beginning gRPC with
ASP.NET Core 6
Build Applications using ASP.NET
Core Razor Pages, Angular, and Best
Practices in .NET 6

Anthony Giretti
Beginning gRPC with ASP.NET Core 6: Build Applications using ASP.NET Core Razor
Pages, Angular, and Best Practices in .NET 6
Anthony Giretti
La Salle, QC, Canada

ISBN-13 (pbk): 978-1-4842-8007-2 ISBN-13 (electronic): 978-1-4842-8008-9


https://doi.org/10.1007/978-1-4842-8008-9

Copyright © 2022 by Anthony Giretti


This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the
material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation,
broadcasting, reproduction on microfilms or in any other physical way, and transmission or information
storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now
known or hereafter developed.
Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with
every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an
editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the
trademark.
The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not
identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to
proprietary rights.
While the advice and information in this book are believed to be true and accurate at the date of publication,
neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or
omissions that may be made. The publisher makes no warranty, express or implied, with respect to the
material contained herein.
Managing Director, Apress Media LLC: Welmoed Spahr
Acquisitions Editor: Joan Murray
Development Editor: Laura Berendson
Coordinating Editor: Jill Balzano
Copyeditor: Bill McManus
Cover image designed by Freepik (www.freepik.com)
Distributed to the book trade worldwide by Springer Science+Business Media LLC, 1 New York Plaza,
Suite 4600, New York, NY 10004. Phone 1-800-SPRINGER, fax (201) 348-4505, email orders-ny@springer-
sbm.com, or visit www.springeronline.com. Apress Media, LLC is a California LLC and the sole member
(owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a
Delaware corporation.
For information on translations, please e-mail [email protected]; for reprint,
paperback, or audio rights, please e-mail [email protected].
Apress titles may be purchased in bulk for academic, corporate, or promotional use. eBook versions and
licenses are also available for most titles. For more information, reference our Print and eBook Bulk Sales
web page at https://www.apress.com/bulk-sales.
Any source code or other supplementary material referenced by the author in this book is available to
readers on GitHub via the book’s product page at https://github.com/Apress/beg-grpc-w-asp.net-core-6.
Printed on acid-free paper
Table of Contents
About the Author����������������������������������������������������������������������������������������������������� ix

About the Technical Reviewer��������������������������������������������������������������������������������� xi


Acknowledgments������������������������������������������������������������������������������������������������� xiii
Introduction�������������������������������������������������������������������������������������������������������������xv

Part I: Getting Started with .NET 6������������������������������������������������������������������ 1


Chapter 1: Welcome to Modern .NET������������������������������������������������������������������������ 3
A Brief History of .NET������������������������������������������������������������������������������������������������������������������ 3
.NET Framework���������������������������������������������������������������������������������������������������������������������� 4
.NET Core��������������������������������������������������������������������������������������������������������������������������������� 5
.NET Standard�������������������������������������������������������������������������������������������������������������������������� 6
Modern .NET: A Unified Platform��������������������������������������������������������������������������������������������������� 7
Mono and CoreCLR������������������������������������������������������������������������������������������������������������������ 8
.NET Schedule and What It Means������������������������������������������������������������������������������������������������ 9
How to Explore .NET 6������������������������������������������������������������������������������������������������������������������� 9
.NET 5 and 6 Improvements�������������������������������������������������������������������������������������������������� 10
Get Started with .NET 6��������������������������������������������������������������������������������������������������������� 11
Recap of C# 9 and Introduction to C# 10������������������������������������������������������������������������������������ 17
Recap of C# 9������������������������������������������������������������������������������������������������������������������������ 17
Introduction to C# 10������������������������������������������������������������������������������������������������������������� 29
Summary������������������������������������������������������������������������������������������������������������������������������������ 31

Chapter 2: Introducing ASP.NET Core 6������������������������������������������������������������������� 33


ASP.NET Core Fundamentals������������������������������������������������������������������������������������������������������� 34
ASP.NET Core Web API����������������������������������������������������������������������������������������������������������������� 42
ASP.NET Core MVC���������������������������������������������������������������������������������������������������������������������� 53

iii
Table of Contents

ASP.NET Core Razor Pages���������������������������������������������������������������������������������������������������������� 59


ASP.NET Core Blazor������������������������������������������������������������������������������������������������������������������� 64
ASP.NET Core SignalR����������������������������������������������������������������������������������������������������������������� 72
ASP.NET Core gRPC��������������������������������������������������������������������������������������������������������������������� 76
ASP.NET Core Minimal APIs��������������������������������������������������������������������������������������������������������� 77
Summary������������������������������������������������������������������������������������������������������������������������������������ 81

Part II: gRPC Fundamentals�������������������������������������������������������������������������� 83


Chapter 3: Understanding the gRPC Specification������������������������������������������������� 85
Introduction to Remote Procedure Calls������������������������������������������������������������������������������������� 85
gRPC Concepts���������������������������������������������������������������������������������������������������������������������������� 87
Protocol Buffers��������������������������������������������������������������������������������������������������������������������� 87
gRPC Channel������������������������������������������������������������������������������������������������������������������������ 88
Types of gRPC Services��������������������������������������������������������������������������������������������������������� 91
Trailers����������������������������������������������������������������������������������������������������������������������������������� 93
gRPC Status��������������������������������������������������������������������������������������������������������������������������� 94
Deadline and Cancellation����������������������������������������������������������������������������������������������������� 95
gRPC Requests and Responses over HTTP/2������������������������������������������������������������������������ 95
Introduction to the HTTP/2 Protocol�������������������������������������������������������������������������������������������� 97
Multiplexing��������������������������������������������������������������������������������������������������������������������������� 98
Compression and Binary Data Transport������������������������������������������������������������������������������� 99
Flow Control�������������������������������������������������������������������������������������������������������������������������� 99
Server Push��������������������������������������������������������������������������������������������������������������������������� 99
Benefits, Drawbacks, and Use Cases������������������������������������������������������������������������������������������ 99
Benefits������������������������������������������������������������������������������������������������������������������������������� 100
Drawbacks��������������������������������������������������������������������������������������������������������������������������� 100
Use Cases���������������������������������������������������������������������������������������������������������������������������� 101
Summary���������������������������������������������������������������������������������������������������������������������������������� 102

Chapter 4: Protobufs��������������������������������������������������������������������������������������������� 103


About Protocol Buffers�������������������������������������������������������������������������������������������������������������� 103
Individual Declarations�������������������������������������������������������������������������������������������������������������� 104

iv
Table of Contents

Services Declaration����������������������������������������������������������������������������������������������������������������� 108


Messages Declaration��������������������������������������������������������������������������������������������������������������� 111
Scalar Type Values��������������������������������������������������������������������������������������������������������������� 113
Collections��������������������������������������������������������������������������������������������������������������������������� 113
Enumerations���������������������������������������������������������������������������������������������������������������������� 119
Nested Types����������������������������������������������������������������������������������������������������������������������� 122
Import Types������������������������������������������������������������������������������������������������������������������������ 122
Any, Value, Struct, Wrappers, Dates, and Times (Well-Known Types)����������������������������������� 123
Bytes������������������������������������������������������������������������������������������������������������������������������������ 137
One of���������������������������������������������������������������������������������������������������������������������������������� 141
Empty Messages����������������������������������������������������������������������������������������������������������������� 147
Comments��������������������������������������������������������������������������������������������������������������������������� 149
Summary���������������������������������������������������������������������������������������������������������������������������������� 151

Part III: gRPC and ASP.NET Core����������������������������������������������������������������� 153


Chapter 5: Creating an ASP.NET Core gRPC Application��������������������������������������� 155
Create an ASP.NET Core gRPC Application�������������������������������������������������������������������������������� 155
Create and Compile Protobuf Files�������������������������������������������������������������������������������������������� 160
Write, Configure, and Expose gRPC Services���������������������������������������������������������������������������� 165
Test Using gRPCurl and gRPCui Tools��������������������������������������������������������������������������������������� 180
gRPCurl�������������������������������������������������������������������������������������������������������������������������������� 180
gRPCui��������������������������������������������������������������������������������������������������������������������������������� 189
TLS Certificates������������������������������������������������������������������������������������������������������������������� 195
Manage Errors, Handle Responses, and Perform Logging�������������������������������������������������������� 196
Perform Message Validation����������������������������������������������������������������������������������������������������� 214
Support of ASP.NET Core gRPC on Microsoft Azure������������������������������������������������������������������� 219
Summary���������������������������������������������������������������������������������������������������������������������������������� 221

Chapter 6: API Versioning������������������������������������������������������������������������������������� 223


Version gRPC Services�������������������������������������������������������������������������������������������������������������� 223
Expose the Versions of Your Protobuf with ASP.NET Core Minimal APIs������������������������������������ 232
Summary���������������������������������������������������������������������������������������������������������������������������������� 237

v
Table of Contents

Chapter 7: Create a gRPC Client��������������������������������������������������������������������������� 239


Create a Console Application���������������������������������������������������������������������������������������������������� 240
Compile Protobuf Files and Generate gRPC Clients������������������������������������������������������������������ 244
Consume gRPC Services with .NET 6���������������������������������������������������������������������������������������� 252
Optimize Performance�������������������������������������������������������������������������������������������������������������� 268
Take Advantage of Compression����������������������������������������������������������������������������������������� 268
Define a Limit to Message Size������������������������������������������������������������������������������������������� 272
Keep HTTP/2 Connections Open������������������������������������������������������������������������������������������ 273
Increase HTTP/2 Maximum Connections����������������������������������������������������������������������������� 277
Get Message Validation Errors from the Server������������������������������������������������������������������������ 278
Summary���������������������������������������������������������������������������������������������������������������������������������� 281

Chapter 8: From WCF to gRPC������������������������������������������������������������������������������ 283


Differences and Similarities Between WCF and gRPC�������������������������������������������������������������� 283
What and What Not to Migrate from WCF to gRPC�������������������������������������������������������������������� 286
Summary���������������������������������������������������������������������������������������������������������������������������������� 298

Chapter 9: Import and Display Data with ASP.NET Core Razor Pages, Hosted
Services, and gRPC����������������������������������������������������������������������������� 299
Scenario Explanation���������������������������������������������������������������������������������������������������������������� 300
Create and Layer the ASP.NET Core gRPC Application�������������������������������������������������������������� 301
Set Up a SQL Server Database and Use Entity Framework Core to Access Data���������������������� 310
Set Up a SQL Server Database�������������������������������������������������������������������������������������������� 310
Using Entity Framework Core to Access Data��������������������������������������������������������������������� 311
Write the Business Logic and Expose the Country gRPC Microservice������������������������������������ 330
Write the Business Logic into the CountryService.BLL Layer���������������������������������������������� 330
Write the Country gRPC Service������������������������������������������������������������������������������������������ 332
Create and Layer the ASP.NET Core Razor Application�������������������������������������������������������������� 341
Create the Application Skeleton������������������������������������������������������������������������������������������ 342
Define Contracts and Domain Objects��������������������������������������������������������������������������������� 343
Implement the Data Access Layer with the gRPC Client����������������������������������������������������� 348

vi
Table of Contents

Implement the Business Logic Layer����������������������������������������������������������������������������������� 353


Configure the ASP.NET Core Razor Pages Application��������������������������������������������������������� 358
Upload a Data File with a Form, Display and Manage Data on Razor Pages���������������������������� 367
Summary���������������������������������������������������������������������������������������������������������������������������������� 385

Part IV: gRPC-web and ASP.NET Core��������������������������������������������������������� 387


Chapter 10: The gRPC-web Specification������������������������������������������������������������� 389
History and Specification of gRPC-web������������������������������������������������������������������������������������ 389
History of gRPC-web����������������������������������������������������������������������������������������������������������� 389
The gRPC-web Specification����������������������������������������������������������������������������������������������� 391
The gRPC-web JavaScript Libraries������������������������������������������������������������������������������������������ 392
gRPC-web vs. REST APIs���������������������������������������������������������������������������������������������������������� 393
Summary���������������������������������������������������������������������������������������������������������������������������������� 394

Chapter 11: Create a gRPC-web service from a gRPC-service with


ASP.NET Core������������������������������������������������������������������������������������� 395
Working with gRPC-web and the .NET Ecosystem������������������������������������������������������������������� 396
gRPC-web and ASP.NET Core 6������������������������������������������������������������������������������������������� 396
gRPC-web and All .NET Clients�������������������������������������������������������������������������������������������� 399
gRPC-web and ASP.NET Core 3+ Clients����������������������������������������������������������������������������� 402
Reworking the CountryService gRPC service for Browser Apps����������������������������������������������� 404
Support of ASP.NET Core gRPC-web on Microsoft Azure���������������������������������������������������������� 416
Summary���������������������������������������������������������������������������������������������������������������������������������� 417

Chapter 12: Import and Display Data with Angular 12 and gRPC-web���������������� 419
Introduction to SPAs������������������������������������������������������������������������������������������������������������������ 419
Generate TypeScript Stubs with Protoc������������������������������������������������������������������������������������� 421
Download the Correct Version of Protoc and Protobuf Well-Known Types�������������������������� 422
Download the ts-protoc-gen Plug-in����������������������������������������������������������������������������������� 426
Download Improbable’s gRPC-web Library and Google Protobufs Library�������������������������� 426
Executing the Protoc Command������������������������������������������������������������������������������������������ 426

vii
Table of Contents

Write Data Access with Improbable’s gRPC-web Client������������������������������������������������������������ 430


Upload a Data File and Display Data with TypeScript, a Web Worker, and gRPC-web�������������� 440
Manage Data with TypeScript and gRPC-web��������������������������������������������������������������������������� 450
Summary���������������������������������������������������������������������������������������������������������������������������������� 456

Part V: Security������������������������������������������������������������������������������������������� 457


Chapter 13: Secure Your Application with OpenId Connect���������������������������������� 459
Introduction to OpenId Connect������������������������������������������������������������������������������������������������ 459
Configure ASP.NET Core������������������������������������������������������������������������������������������������������������ 462
Use gRPCurl and gRPCui with a JWT���������������������������������������������������������������������������������������� 469
gRPCurl�������������������������������������������������������������������������������������������������������������������������������� 469
gRPCui��������������������������������������������������������������������������������������������������������������������������������� 471
Use a C# Client with a JWT������������������������������������������������������������������������������������������������������� 473
Use a gRPC-web Client with a JWT������������������������������������������������������������������������������������������ 476
Get User Identity Server Side���������������������������������������������������������������������������������������������������� 478
Summary���������������������������������������������������������������������������������������������������������������������������������� 478

Index��������������������������������������������������������������������������������������������������������������������� 481

viii
About the Author
Anthony Giretti is a senior lead software developer at OneOcean in Montreal, Canada.
He is a technical leader and four-time Microsoft MVP award recipient. Anthony
specializes in web technologies (17 years’ experience) and .NET. His expertise in
technology and IT, and a heartfelt desire to share his knowledge, motivates him to dive
into and embrace any web project, complex or otherwise, in order to help developers
achieve their project goals. He invites challenges such as performance constraints, high
availability, and optimization with open arms. He is a certified MCSD who is passionate
about his craft and always game for learning new technologies.

ix
About the Technical Reviewer
Fiodar Sazanavets is an experienced full-stack lead software
engineer who mainly works with the Microsoft software
development stack. The main areas of his expertise include
ASP.NET (Framework and Core), SQL Server, Azure, Docker,
Internet of Things (IoT), microservices architecture, and
various front-end technologies.
Fiodar has built his software engineering experience
while working in a variety of industries, including water
engineering, financial, retail, railway, and defense. He has
played a leading role in various projects and, as well as
building software, his duties have included performing architectural and design tasks.
He has also performed a variety of technical duties on clients’ sites, such as in-house
software development and deployment of both software and IoT hardware.
Fiodar is passionate about teaching other people programming skills. He has
published a number of programming courses on various online platforms.
Fiodar regularly writes about software development on his personal website,
https://scientificprogrammer.net. He has also published a number of articles on
other websites.

xi
Acknowledgments
The completion of this book could not have been possible without the participation and
assistance of many people and I would like to express my special thanks to them.
First, thanks to Camille Viot, my boss, for accommodating me so that I could
overcome this immense challenge.
Next, I would like to thank my friend Dave Brock (Madison, Wisconsin) for both
his moral but technical support; he was a great help when I felt overwhelmed by the
magnitude of the task. I also thank him for reviewing my chapters one by one—many
thanks for his contribution! Thanks also to Damien Vande Kerckhove for his technical
support, which allowed me to adjust the shot when I was not going in the right direction.
He was also an essential asset for ensuring this book was able to see the light of day.
I also thank all my family for their unwavering support. Finally, I would like to thank
a special member of my family that I unfortunately lost recently; he was there every night
next to me when I was writing my lines. Thank you, Ulysse, you helped me so much and
kept me company.

xiii
Introduction
Take a new technological turn with gRPC and ASP.NET Core while discovering .NET 6,
the latest release of the Microsoft .NET platform, and C# 10.
gRPC has become more and more famous because of its performance compared to
JSON/XML APIs. In this book, you’ll discover how to develop ASP.NET Core APIs with
the gRPC specification, and gRPC will no longer be mysterious to you.
After you discover how gRPC works, you’ll learn how to use it to build high-­
performance web applications with the best development standards. You’ll use gRPC
with various ASP.NET Core 6 project types such as Razor Pages and minimal APIs. You’ll
also discover gRPC-web and the great mix it does with Angular 12.
For Windows Communication Foundation (WCF) developers, you will learn how to
migrate from WCF to gRPC by comparing the similarities and differences between the
two frameworks.
We’ll also explore using gRPC and gRPC-web with OpenId Connect authentication
and authorization to secure your applications.
Let’s go!

xv
PART I

Getting Started with .NET 6


CHAPTER 1

Welcome to Modern .NET


.NET is 20 years old, having been introduced in 2002 with the release of the .NET
Framework, .NET 1. Since then, it has evolved with the needs of the computing industry
to become even faster, lightweight, and cross-platform. As I write this book, we are
at a crossroads, if you will, of the original .NET Framework and the newer .NET Core
framework coming together under one new .NET. Microsoft has recently released .NET 5
and .NET 6 in November 2021, and with it, you can build powerful web applications with
ASP.NET Core 6.
For those of you who are already .NET developers, feel free to skip this chapter. For
the rest of you, this chapter is designed to give you just enough history and background
to provide some foundation for your learning moving forward. We’ll cover the
following topics:

• A brief history of .NET

• Modern .NET, a unified platform

• .NET schedule and what it means

• How to explore .NET 6


• Recap of C# 9 and introduction to C# 10

A Brief History of .NET


A .NET application is developed for and runs in one or more implementations of .NET.
Implementations include the .NET Framework, .NET Core, Mono, .NET 5 and now
.NET 6. There is an API specification common to several implementations of .NET,
called .NET Standard. This section introduces these concepts.

3
© Anthony Giretti 2022
A. Giretti, Beginning gRPC with ASP.NET Core 6, https://doi.org/10.1007/978-1-4842-8008-9_1
Another Random Document on
Scribd Without Any Related Topics
senkt Wipfel, verzaubert Baum und Bäumchen zu bittenden,
drohenden, fliehenden Menschen- und Tiergestalten.
Am Wetterhäusl vor der Haustür schaufeln die Leute den Weg frei
zum Brunnenhäusl, schaufeln und schaufeln, es schneit und schneit,
bald wird die Haustür am Giebel zum Ausgang.

Abb. 11. Drei Meter hohe Abstichwand im Seemoor

Kein Holz kann aus dem Wald in die Werkorte geführt werden. Die
Brettmühlen im Dorfe feiern. Aber auch Schnee gibt Brot. Das
Herdfeuer in der Schmiede kommt nimmer zur Ruhe. Gleitschiene
um Gleitschiene muß es für die Schlitten hitzen. Ungeduldig
verlangen die Zuggäule nach den Wintereisen an ihre Hornschuhe.
Dann kommen Männer, vermummt gegen Kälte und Schneesturm,
und holen Hacken und Schaufeln, die der Schmied angriffsfest schuf
zum Kampf gegen Wächten, Wehen und Eis. Auf der Bezirksstraße
schaffen sie um ihren Tagelohn. Über der regsamen Schar streicht
der »Schneevogel« (Goldammer) hin und wieder.
In den stockholzdurchwärmten Stuben schleißen Frauen und
Kinder die Federn der mühsam gezogenen Gans, binden die
gesammelten Reiser zu Besen, vollenden manch kunstvoll Bast- und
Strohgeflecht, schnitzen die Väter Stiele für Hämmer, Rechen und
Karst, biegen den Sensenwurf, schärfen Axt und Säge für
kommende Waldarbeit.
Und draußen dehnt sich die verschneite Weite, glitzert in müder
Wintersonne, schattenbemustert in vollmondheller Frostnacht.
Schneegeborgen träumt der verschüttete Jungwald. Ruhe liegt über
dem Kammland und die Einsamkeit hält Wacht.

Wiegender Boden
In weiten, flachen Mulden, am Grunde mit wasserstauendem Ton
und Lehm gedichtet, sammelten sich die Wasser von Regen und
Schneeschmelze zu kleinen und großen Seen. Sie waren die Augen
der Hochflächen, darinnen gewaltiger Wolkenflug und blauer
Berghimmel ihr Widerbild fanden. Millionen kleinster Lebewesen
schwammen oder schwebten darin, deren verwesende Leiber den
Grund mit Faulschlamm deckten. Da fanden die Wassergräser
nährenden Boden. Bald nisteten die Torfmoose unter ihnen.
Brüderlich verschlangen sie sich zu einem einzigen, unzerreißbaren
Filze. Langsam, unaufhaltsam erblindeten die hellen Augen der
Hochflächen.
Abb. 12. Seemoor mit Nebelflug

Ein Stück Eigenart der Kammlandschaft sind die Hochmoore.


Über ihnen schwebt Wehmut. Den Hochsiedlern sind sie vertraute
Fleckchen. Jedes bekam seinen besonderen Namen. Der
Bergwanderer durchquert die »Bildwiese« bei Jungferndorf, verweilt
»in den Nässen« von Obervoitsdorf, steigt in die »Moorbodengrube«
bei Hinterzinnwald, erinnert sich der Sage vom »Gräfinsbad«, schaut
vom Hochstand über die »Kiefernweiche« bei Georgenfeld,
erschauert vor den Spukgestalten der Sumpfkiefern auf dem
»Seemoor« am Bornhauberg, verweilt »in der Klietsch« bei
Ullersdorf, schreitet hier auch über »die Quieke« und
»Moosbeerpresse«, rastet in der »Moorlislheede« bei Willersdorf.
Abb. 13. Schiefgesunkene Sumpfkiefern im Seemoor

In den Mooren werden die Flüsse geboren, die zur Elbe rinnen
oder in kurzem Lauf den Südsteilhang hinabspringen. Oft nur wenige
Minuten voneinander getrennt sind die Quellböden zweier
Wasseradern, die von hier in entgegengesetzter Talfahrt die Tiefe
suchen. Aus den benachbarten Moorgründen am Keiblerberg fließt
nach Nordwesten die Gottleuba, nach Südosten der
Leichengrundbach ab. Ja, mitunter laufen die Wässer aus gleichem
Quelland nach Norden und Süden fort. Dies geschieht beim Moor
östlich von Streckenwalde, das vom Nitschgrundbach nach Norden,
vom Tellnitzbach nach Süden entwässert wird, und der Moorboden
nordöstlich von Ebersdorf schickt sowohl zur Elbe wie zur Eger
einen Sernitzbach. Aus den Moorgründen zwischen Neustadt und
Willersdorf sickern die Wilde Weißeritz und die Flöha. Unzählbar
namenlose Gräben füllen die Moorwässer.
Urland sind die Kammoore. Aber selten blieb eines von ihnen
unberührt von Menschenhand. Hacke und Spaten haben schon arg
gehaust. Ein Fuder schwarzbrauner Boden wird täglich aus der
»Moorbodengrube« ins Theresienbad nach Eichwald gefahren, und
täglich kommen zwei Fuhrwerke zum »Seemoor«, um dies Urland
zum heilkräftigen Bad nach Teplitz zu holen. Drei Meter hoch ragt die
Abstichwand, ohne damit die ganze Mächtigkeit des Moores
anzudeuten.
Um kargen Lohn steht die Mutter aus dem entfernten Hochdorf auf
dem nassen Grund. Vom Morgen bis zum Spätnachmittag hackt sie
an der Moorwand. Acht Kronen, sind zehn Groschen, bringt das
mühevolle Tagewerk.
Zu Torfstreu wandelten die Neustädter ihren Moorboden. Seit
Jahreslauf ruhen sie von dieser Arbeit. Der Sturm stürzte die leeren
Horden, darauf Tausende und Abertausende Moorziegeln im Winde
vertrockneten.

Abb. 14. Schiefgesunkene Sumpfkiefern im Seemoor


Auf dem Torfstich von Fleyh trocknen auch noch heute die
Torfziegel zu Brennstoff für die Siedler.
Jeder Hackenhieb, jeder Spatenstich hilft einem Stück
Urlandschaft zum Vergehen, die einen Wesenszug von ernster
Schönheit für die Kammhochflächen bedeutet. Mag wirtschaftlich der
Moorabbau begründet erscheinen, größer wird der Schaden, den die
Wirtschaft trifft, wenn nicht weitschauender Geist in letzter Stunde
die natürlichen Wasserspeicher für unantastbar erklärt.
Polsterförmig überzieht das Torfmoos den Boden, bleichgrün bei
Trockenheit, hellgrün an Regentagen. Und nimmst du vom Urgrund
ein Pflänzchen zwischen deine Finger, so wird dirs schwer zu
glauben, daß dies bescheidene Geschöpflein mit seinem Vergehen
und seiner wunderbaren Verjüngung zum gewaltigsten
Wasserverwahrer werden kann. Nur das Mikroskop vermag dies
Rätsel zu lösen. Zwei Zellenarten wechseln im Querschnitt des
Blattes miteinander, farblose und grüne. Die grünen bergen
Blattgrün, die farblosen bei Trockenheit nur Luft, und die luftgefüllten
Räume mit den durchscheinenden Wänden schimmern im
auffallenden Licht weiß. Kommt Regen, dann füllen sich die
farblosen Zellen, deren Wände kreisrunde Löcher haben, sofort mit
Wasser. Das Blatt beginnt zu schimmern. Millionen Pflänzchen
vereint schaffen die grünleuchtenden Kissen.
Hast du schon einmal die gigantische Trinkkraft des Torfmooses
geprüft?
Abb. 15. Im Sumpfkieferndickicht des Seemoors

Lege zwei Gramm wochenlang ohne Wasser gewesenes


Torfmoos fünf Minuten lang wieder in das belebende Element. Dann
wiege die vollgetrunkenen Pflänzchen. Achtundzwanzig Gramm
sinds geworden, das vierzehnfache ihres ursprünglichen Gewichtes.
Und das bedeutet für dich: Wiegst du angenommen sechzig
Kilogramm, dann mußt du in fünf Minuten eine Wassermenge von
achthundertundvierzig Kilogramm schlucken, wenn deine Leistung
dem Können des Torfmooses nicht nachstehen soll.
Achthundertvierzig Kilogramm Wasser sind achthundertvierzig Liter,
zu trinken in fünf Minuten!
Abb. 16. Häuslerhütte mit sehr hohem Dach am Wege
von Neustadt nach Willersdorf Nebeltag
Nur an feuchten Orten vermag das Torfmoos zu leben, trägt es ja
doch nur in seiner Jugend Haftfasern gleich Würzelchen. Wenn es
später wurzellos wird, dann müssen ihm Tau und Regen helfen,
dann zieht es den Nebel ein, der hier oben seine Heimat hat und
über manches Kammdorf hundertfünfzig sonnenlose Jahrestage
breitet.
Abb. 17. Schindelgiebelmuster in Oberwillersdorf

Hebst du ein Stück Polster in die Höhe, so kommt dir ein Gewirr
blätterloser brauner Stengel vors Auge. Eine noch dunkler gefärbte
Masse lagert darunter. Das ist Torf, aus den Stengeln geworden, die
aus Mangel an Luft und Licht abstarben. Das saure Moorwasser ließ
sie nicht vollkommen verwesen. An der Spitze wächst das Torfmoos
unaufhörlich weiter. Jungwerden am Spitzentrieb, Sterben in den
unteren Teilen, das ist sein Lebenslauf. Und nach jedem vierten
Blättchen an jedem seitlichen Ästchen setzt sich ein neues
Zweigbüschel an. Dessen Sprossen gabeln sich wieder. So breitet
sich in endlosem Fortgang Geschlecht neben Geschlecht.
Einen Heidestreifen durchschreitest du beim Gang zum Moor,
durchzogen von Rinnsalen, die das Moor entwässern. Dann betrittst
du den Boden, den noch keine Menschenhand bändigte, kein
schollenstürzender Pflug wendete.
Wenn Wochen hindurch die Mittsommersonne über dem Urboden
scheint, dann gibt er dem Fuße sicheren Grund. All die kleinen,
flachen Wassertümpel verdunsten: Überall schwarze, rissige,
brüchige Erdflecken. Dann strecke dich zur Rast auf das Heidekraut,
pflücke mit lässiger Bewegung die Trunkelbeere, beschaue die
purpurnen Moosbeerblütchen und die zierlichen Blättchen der
Krähenbeere.
Im »Seemoor« verträume die Mittagsstunde zwischen den
niederkauernden, sich bückenden, knienden, schleichenden
Gestalten. Im weichen Grund sanken die Sumpfkiefern schief. Ihre
Lichtstrebigkeit half die krummen Stämme formen. Ja, wenn du im
Südteil dieses Moores weilst, darfst du getrost sagen: Hier schaue
ich das urhafteste Krummholzmoor vom östlichen Erzgebirge.

Abb. 18. Fünf verschiedene Schindelgiebel in Fleyh

Im Mittagswinde schwingen die weißen Schöpfe vom Scheiden-


und Binsenwollgras, schwanken die langen Halme der Fadensimse.
Kein Vogellaut klingt.
Eine Spur im teigigen Boden verrät des Hochwildes Wechsel. Und
nachts schreckt das Moor auf, wenn vom hohen Stand der Kugeltod
darübersaust.
Über die »Kiefernweiche« mußt du wandern, wenn das Moor
tagelang das Regenwasser trank und die Krummholzkiefern wie
tückische Gespenster im Bergnebel lauern. Dann ruhen neben den
großen Tümpeln noch viele, viele kleine, trügerisch überdeckt vom
Heidekraut. Mit jedem Schritt wird das Moor laut unter den lastenden
Füßen, strahlt das braunrote Moorblut empor.
Da, schnell auf dies feste Büschel! Im Augenblick schon sinkt der
Fuß in Schlamm. Wie rettende Arme ergreifst du die Äste der
Moorkiefern, tastest nach sichrem Boden. Auf und nieder geht der
Körper. Im Schuh kluckst das Moorwasser. O, das macht müd, übers
satte Moor zu gehn. Schwankender Boden macht heiß. Und
gewinnst du ein festes Eiland zur Rast, dann wird dir bang vor dem
tiefen Moorschweigen.
Abb. 19. Forsthaus in Fleyh

Im Moornebel geistern die Kiefern. Mit spannenden Sinnen wagst


du das Weitertasten über den wiegenden Boden.

Kunst, Brauch und Glaube


Wo der Kornbau seltner wird, und die Wiese die Haupternte
schenkt, dort bedarf es keiner großen Scheuern, da vermag des
Hauses Dachraum den Wintervorrat zu bergen. Freilich, gar hoch ist
das Dach, ein Stockwerk für sich, höher als der steinerne Unterbau.
Das ganze »Häusl« zeigt, daß es besonders in Wintermonden im
harten Kampfe mit den Wetterkräften steht. Steil sitzen die
Dachflächen auf dem Unterbau, ein hoher »Wetterhut«, von dem der
Schnee abrutscht. Schindelgepanzert trotzen die Giebel. Mit ihrer
dunklen Wetterfarbe sind sie wohltuend der Landschaft eingefügt.
Ruhe veratmet Dach und Giebel mit Wald und Wiese. Kein
Farbenschrei schreckt unser Auge. Aber die weißgetünchten Mauern
überall? Nein! Schreiend und leuchtend muß wohl geschieden
werden. Freundliche Gesichter sinds, darinnen glänzende Augen
stecken und darüber ein verwetterter, dunkler Kampfhut sitzt.
Dunkles Wettergrau, leuchtend Weiß und helles Wiesengrün,
umrahmt vom schwarzgrünen Wald, überwölbt vom blauen Himmel:
Ein wundersamer Farbenbund. Kunst sind die Kammhäusel, als
Ganzes geschaut, echte bodenständige Volkskunst.
Volkskunst offenbart sich auch in ihren Teilen. Selten sind die
Schindeln am Giebel in einfacher Reihung zusammengefügt.
Mannigfache Anordnungen zu formenschönen Mustern zeugen von
des Dorfhandwerkers Kunstsinn. Alle Schindelformen, vom
einfachen rechteckigen Brettchen bis zum sorgsam zugespitzten,
gerundeten, gelockten und verzierten, weiß er beim Fügen zu
meistern. Dem Freunde dieser Volkskunst wird es wenig Mühe
bereiten, in den Kammorten Neustadt, Willersdorf, Fleyh fünfzig
verschiedene Muster zu suchen. Fünf voneinander abweichende
Schindelgiebel schauen wir auf unserem Bilde von Fleyh, dies auf
kleinstem Raume. Und beim Forsthausgiebel bekommt jedes
Fenster noch seinen besonderen Kopfschmuck.
Der Blick zum kunstvoll beschindelten Forsthausgiebel, wo aus
weißer Umrahmung ein sonnenbeschienener Farbenquell quoll, da
der alte Förster von echter deutscher Art im Sonntagsrock durchs
Pförtlein schreitet, das war ein Schauen mit Feierstimmung.
Am Fenster hat der Häusler dort oben sein Blumengärtlein. Der
allzukurze Sommer vermag draußen ums Häusl die Buntheit nicht zu
schaffen. Drum wird die Fensternische zum Blumenheim, das
Winterglück des Häuslers in rauhen Wintermonden. Seine Blumen
beobachtet er gar sorgsam, pflegt sie wie liebgewonnene Menschen,
wenn sie kränkeln.
Wieviel scharfe Beobachtung, poetischen Sinn und tiefes Gemüt
verraten die Blumennamen! Gottesauge, Jesuauge, Leiden Christi,
Brautschleier, Annl, stinkende Liese sind ihm vertraute Klänge.
Häuslerglück und Häuslerkunst sind die Blumen am Fenster.
Schlichte Volkskunst begegnet dem Wanderer in den vielen
religiösen Malen am Wege. Freilich sind mitunter die Farben gar hart
und unpassend nebeneinander gesetzt, und manche ungelenke
Stellung und allzusehr verzerrte Gebärde hat der Dorfhandwerker
beim »Heiligen« geschnitzt oder gemeißelt.
Hier stimmt die Gemeinde beim Bittgang durch die Felder ihren
Betruf an: »Vor Blitz und Ungewitter befreie uns Herr Jesu Christi.«
Aber auch mancher stille Beter sucht hier seelische Zuflucht. Der
Kleinbauer kniet in stiller Andacht davor, daß Gott ihm Vieh und
Feldfrucht beschirme vor den argen Wettern, die erbarmungslos ihre
halmknickenden Eiskörner über die Kornfrucht schleudern, die
mühsam gebaute, und schwere Sorge ums Brot mit niederschütten.
Manch Häuslerheim ward auf der schutzlosen Hochfläche zur
Wüstung, wenn aus dem brüllenden Wolkenballen der vernichtende
Strahl zuckte.

Abb. 20. Häuslerstube in Neustadt. An der Tür stehen die Anfangsbuchstaben


der »heiligen drei Könige« K M B
Überschattet wird der stille Beter vom Ebereschenbaum, umträumt
von seinem Feldfrieden.
Manch Andachtsmal schuf dieser Glaube am Waldrande, wo die
Bergfichten weit übers dürftige Haferfeld ästen, mitten im Wald, wo
lebende Säule neben lebender Säule ragt und ungezählte Wipfel
zum Dämmerlicht gebenden Dach sich schließen. Gesundheit und
gute Wegfahrt erfleht das alte Mütterlein. Wer wollte leugnen, daß
solch baumgeborgne Stätte auch den Andersgläubigen andachtsvoll
stimmen könnte?

Abb. 21. Kirchgänger aus Willersdorf im Kirchdorf


Fleyh
Sonntag ist’s. Im Kirchdorf wird das Hochamt eingeläutet. Da
kommen die Häusler aus den eingepfarrten Orten durch ihren
sommerlichen Feldsegen zum alten Holzkirchlein gezogen, im
buntgeblumten Kopftuch Großmutter, Mutter und Kind.
Und wenn der eherne Betruf verklungen, dann träumt die
Landschaft nach der bunten Bewegung in ihrem Feiertagsfrieden.

Abb. 22. Inneres der Johanniskirche in Fleyh. 1653 unter dem Richter Kaspar
Panzer von den Einwohnern aus Holz erbaut

Nach der Andacht belebt sich der schmucklose, kreuzüberfüllte


Friedhof. Vor den Kreuzen aus Holz und Eisen weilen die
Kirchgänger, entblößten Hauptes die Männer, und ein murmelnd
Bittgebet für des Verstorbenen Seele geht über ihre Lippen. Sich
bekreuzend gehen sie hinweg. Auch zur Winterszeit, wenn nur des
Kreuzes Spitze das Grab verrät, kommen die Beter an die
verborgene Ruhestatt ihrer Lieben.
Im Plaudern kürzt sich der Heimweg. Mitteilsam wird immer der
Heimgang vom Erntedank. Das macht die Vorfreude auf den
farbenbunten Ernteumzug am Nachmittag. Auf dem Erntewagen
stehen Hafergarben. Wohlgeschüttet lagern die Kartoffeln. In gelbem
Blattgefieder hängen schwer der Eberesche rote Trauben.
Marschmusik strafft den Gang bei alt und jung. Und abends gibts
Erntetanz in des Dorfes »Schanknahrung«, wo der Baßgeiger ohne
baumelnde Pfeife streicht, die bei der Übung am Samstagabend
immer im Munde hing, wo der kleine »Schlagwerker« mit Händen
und Füßen Töne schafft und mit dem Kinn den Takt zuckt.
Wenn nebelverhüllt das Kammland düstert, der Eberesche Blätter
verwesend unterm kahlen Baum liegen, dann kommt ein ernster Tag.
Jeder Grabhügel hat seinen Schmuck, auf jedem brennt ein
Flämmlein, zuweilen in einer Nische, und durch des Türleins
Scheibe quillt aus farbigem Glase ein milder Schein. Lautlos
wandeln die Menschen. Versonnene Beter knien ungestört.
Wieder ist der Heimgang plaudersam. Doch viel wird heute erzählt
vom kurzen Leben und raschen Tod, vom frühverschiedenen Kind,
das vor wenig Wochen erst dem Knospenschlaf entsprungen, vom
rastlos schaffenden Vater, von der liebegebenden Mutter, von Bruder
und Schwester, von Greis und Greisin.
Am irdischen Vergehen hängt der Gedankenlauf.
Und einmal im Jahre wirds auf dem schneeverschütteten
Hochland beim Sternenglanz lebendig. Schwarze Gestalten,
vermummt gegen den schneidenden Nachtwind, schreiten dem
Scheine des wegstampfenden Lichtträgers nach. »Heilige
Weihnacht« wollen die Hochsiedler feiern um diese Stunde im
kerzenerleuchteten Gotteshaus.
Im dämmervollen Winkel belauscht der Fremde das
mitternächtliche Hochamt.

Sehnend Erinnern
Immer wieder ziehts mich hin auf die Kammweiten, wo der
Wetterkräfte Spuren jedem Blicke eigen sind, wo dürftig Ackerland
mit jungfräulichem Boden raint, wo stille Kämpfer um deutsche Art,
ausgesöhnt mit ihrer kargen Heimat, wurzelfest die väterliche
Scholle hüten, wo kleiner Leute Kunst und Glaube herbe Einsamkeit
beseelt.
Vogelkundliches aus alten
sächsischen Chroniken
Von Prof. Dr. Bernh. Hoffmann
Eine der hervorragendsten Chroniken unseres engeren
Vaterlandes ist das Leipziger Geschichts-Buch (von M. Joh. Vogeln
in Leipzig), das 1714 erschienen ist und »in welchem die meisten
merckwürdigsten Geschichte und geschehene Veränderungen, die
in und bey belobter Stadt und Gegend – – – von Anno 661 nach
Christi Geburth an, biß in das 1714. Jahr, von Tage zu Tage sich
begeben haben, enthalten sind«. Es heißt da u. a.: »Umb Philippi
Jacobi 1517[1] sind seltzame Vögel / so unbekandt / umb Leipzig
gesehen und gefangen worden / an der Grösse wie die Schwalben /
mit langen Schnäbeln / der Obertheil am Kopff / Hals und Rücken
war dunkelbraun / die Flügel dunkelblau / der Leib schwartz / die
Kehle gelbe / hatten kurtze Füsse / und thäten denen Bienen und
Fischen grossen Schaden.« Es kann kein Zweifel darüber
herrschen, daß wir es hier – obgleich die Beschreibung besonders
betreffs der Unterseite nicht ganz stimmt – mit sogenannten
Europäischen Bienenfressern (Merops apiaster L) zu tun haben.
Auch in ihren Lebensgewohnheiten ähneln diese Vögel den
Schwalben, sofern sie wie diese andauernd in den Lüften
herumjagen und Insekten fangen. Mit Vorliebe vertilgen sie freilich
Wespen, Hummeln, Bienen usw., die sie mitsamt dem Stachel
hinunterschlucken[2]. Meist halten sie in kleinen oder größeren
Scharen zusammen und bauen ihre Nester in steile Flußufer oder
andere erdige Wände in Gestalt langer Röhren oft ein bis zwei Meter
weit in das Erdreich hinein, wodurch sie an Uferschwalben und
Eisvögel erinnern. Die Bienenfresser bewohnen hauptsächlich Süd-
Europa, Nordafrika, sowie Mittel- und Südasien; auf dem Herbstzuge
wandern sie bis ins Kapland. In Sachsen ist diese Vogelart nur
gelegentlich und verhältnismäßig selten zu Gaste. Vielleicht, daß
besonders günstiges Wetter (Föhnstimmung über Mitteleuropa) sie
dann und wann einmal veranlaßt, im Frühjahr die Rückwanderung
aus dem fernen Süden über die Alpen bis zu uns herein
auszudehnen. Auf alle Fälle hat das mehrzählige plötzliche
Erscheinen von Bienenfressern in der Umgegend von Leipzig
verdient, daß es in obiger Chronik verzeichnet wurde[3].
In einer Frankenberger Chronik vom Archidiakono C. A. Bahn,
erschienen im Jahre 1755, ist weiterhin folgendes zu lesen: »Anno
1679, den 9. Dezember, haben sich in Frankenberg zwei frembde
und unbekannte Vögel auf die Kirche, hernach aufs Rathhaus und
dann auf den Markt gesetzet. Sie hatten die Gestalt einer Endten,
schneeweise Köpffe und weise Flügel; auf dem Rücken, am Halse
und Bauche waren sie schwartz, und hatten lange grüne Schwäntze.
Später sind sie auf und davongeflogen.« Diese Mitteilung ist deshalb
von Bedeutung, weil es sich darin, trotz der etwas unzutreffenden
Beschreibung der Vögel, höchstwahrscheinlich um Eisenten (Nyroca
hyemalis L) handelt, welche bei uns nur als sehr seltene Wintergäste
bekannt sind. Ihre Heimat ist der hohe Norden beider Erdhälften. Sie
wandern (nach Reichenow) im Winter bis nach Süd-Europa und dem
Kaspischen Meere, in Amerika bis Florida und Kalifornien. Jedenfalls
sind die erwähnten Stücke sehr ermüdet gewesen und haben erst
nach einiger Zeit des Ausruhens, wozu sie sich freilich recht
ungewohnte Plätze ausgesucht haben, die Wanderung fortgesetzt,
die sie übrigens an sich schon sehr spät angetreten zu haben
scheinen[4].
An einer anderen Stelle derselben Chronik heißt es: »In diesem
Jahre (1706) im Monat Oktober entstund in Dittersbach des Nachts
eine große Feuersbrunst. Bey derselbigen versammelten sich wilde
Enten, wilde Gänse, wilde Tauben, Fischreiher, Schnepffen, Zippen,
Droßeln, Finken, Quäcker[5], Kybitzen, Sperber, Eulen, Lerchen,
Rothkehlchen; darzu kamen gegen Morgen Raben und Krähen und
führten ein gräßliches Geschrey. Diese Vögel flogen ums Feuer
herum, viele verbrannten, viele wurden von den Leuten gefangen,«
usw. – Wir können mit großer Sicherheit annehmen, daß die meisten
der genannten Vögel auf ihrem Herbstzuge nach dem warmen
Süden waren und zwar hauptsächlich wohl als Nachtwanderer.

You might also like