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

Hacking with Spring Boot 2.3: Reactive Editioninstant download

The document promotes the ebook 'Hacking with Spring Boot 2.3: Reactive Edition' by Greg L. Turnquist, detailing its contents and structure, which includes chapters on building web apps, data access, testing, and securing applications using Spring Boot. It emphasizes the importance of reactive programming and introduces Project Reactor for handling asynchronous data streams. The book targets both new and experienced developers, aiming to enhance their understanding of Spring Boot and its capabilities in building modern applications.

Uploaded by

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

Hacking with Spring Boot 2.3: Reactive Editioninstant download

The document promotes the ebook 'Hacking with Spring Boot 2.3: Reactive Edition' by Greg L. Turnquist, detailing its contents and structure, which includes chapters on building web apps, data access, testing, and securing applications using Spring Boot. It emphasizes the importance of reactive programming and introduces Project Reactor for handling asynchronous data streams. The book targets both new and experienced developers, aiming to enhance their understanding of Spring Boot and its capabilities in building modern applications.

Uploaded by

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

Visit https://ebookmass.

com to download the full version and


browse more ebooks or textbooks

Hacking with Spring Boot 2.3: Reactive Edition

_____ Press the link below to begin your download _____

https://ebookmass.com/product/hacking-with-spring-
boot-2-3-reactive-edition/

Access ebookmass.com now to download high-quality


ebooks or textbooks
ABOUT THE AUTHOR

Greg L. Turnquist works on the Spring team as a principal developer at


VMware. He is a committer to Spring HATEOAS, Spring Data, Spring Boot,
R2DBC, and Spring Session for MongoDB. He also wrote Packt’s best-
selling title, Learning Spring Boot 2.0 2nd Edition. He co-founded the
Nashville Java User Group in 2010 and hasn’t met a Java app (yet) that he
doesn’t like.

Follow him on Twitter @gregturn and subscribe for all his Spring Boot
videos at YouTube.com/GregTurnquist.
PREFACE
What this book covers
Chapter 1, Building a Web App with Spring Boot - Learn how to build web
applications using Spring WebFlux.

Chapter 2, Data Access with Spring Boot - Access reactive data stores using
Spring Data.

Chapter 3, Developer Tools for Spring Boot - Enhance your developer


experience with all the tools afforded by Spring Boot.

Chapter 4, Testing with Spring Boot - Get a hold of reactive testing tools and
how Spring Boot empowers testing your applications.

Chapter 5, Operations with Spring Boot - See how to manage your


applications after they go to production.

Chapter 6, Building APIs with Spring Boot - Build JSON-based APIs using
different tactics and tools from the Spring portfolio.

Chapter 7, Messaging with Spring Boot - Create asynchronous, message-


based solutions using Spring Boot and Testcontainers.

Chapter 8, RSocket with Spring Boot - Discover a protocol that has reactive
baked right in and supports multiple ways to communicate.

Chapter 9, Securing your Application with Spring Boot - Learn how secure
your application with the most powerful tools available.
What you need for this book
Spring Boot 2.3 supports Java 8 and higher. This book is written using Java
8. Use sdkman to install, manage, and even switch between different
distributions and versions of Java.

Spring Boot 2.3 is able to bake Docker containers. There is also Docker-
based testing support through 3rd party tools like Testcontainers. For those
sections, you’ll need to install Docker.

If you use Mac, you should consider Homebrew as an alternative package


manager for certain utilities.

You need either an IDE or a good editor. Recommended options include:

▪ IDE
◦ IntelliJ IDEA
◦ Spring Tool Suite

◦ VS Code
◦ Eclipse

▪ Editor
◦ Sublime Text 3
◦ Atom
Who should read this book
This book is to help developers new to Spring Boot as well as experienced
Spring developers.

It shows how to get operational, fast, with some of the best coding practices
available.

It helps the reader focus on adding business value to their applications and
not get distracted with infrastructure.
Optimal viewing
Adjust your e-reader to use a smaller font. This book is loaded with code
examples. Attempting to show things too big will cause unneeded wrapping,
culminating in a less than desirable experience.
Conventions
In this book, you will find a number of styles of text.

Code found in the text are shown like this: "A Spring WebFlux controller is
flagged with an @Controller annotation."

A block of code looks like this,


Example block of code

@RestController
class WebController {
@GetMapping("/api")
Mono<String> home() {
return Mono.just("Hello, world!");
}
}

When certain parts of the code are described in more detail, they are
annotated with a circled number at the end of the line.
Code with annotated lines

@Component ①
public class RepositoryDatabaseLoader {

@Bean ②
CommandLineRunner initialize(BlockingItemRepository repository)
{ ③
return args -> { ④
repository.save(new Item("Alf alarm clock", 19.99));
repository.save(new Item("Smurf TV tray", 24.99));
};
}
}
① This comment describes the line above with the (1) comment.

② And this is for the (2) line.

③ The (3) line.

④ The lambda expression with (4).

Sometimes you’ll see chunks of code that have comments at the end with no
numbering. To improve readability in the code and in the manuscript, line
breaks are sometimes forced.


Warnings appear like this.


Tips appear like this.

@
Notes appear like this.


Important facts appear like this.
Reader feedback
The most valuable feedback you can leave is an honest review.

Please visit Amazon when you finish and share you personal opinion of
Hacking with Spring Boot 2.3: Reactive Edition.
Support
If you have issues with getting your copy, contact the provider.

If you are having issues with the code, please file a ticket at
https://github.com/hacking-with-spring-boot/hacking-with-spring-boot-
code/issues.

If there is an issue with the manuscript, please email me at


greg@greglturnquist.com.
Downloading the code
You can download the example code from GitHub at
https://github.com/hacking-with-spring-boot/hacking-with-spring-boot-code,
free of charge.

Are you ready? Chapter 1, Building a Web App with Spring Boot is waiting!
Building a Web App with Spring Boot
Working with Spring Boot is like pair-
programming with the Spring developers.

~ Josh Long @starbuxman

Six years ago, something amazing happened. Spring Boot 1.0 was released.
On April 1st, 2014, project lead Phil Webb published a blog article detailing
the first stable release.[1]

And the crowd went wild. The Java community embraced this amazing
culmination of engineering and creative art with fervent excitement.
Searching Twitter for #springboot tweets generated an avalanche of activity.

Three years later, in 2017, the marketing department of Pivotal tweeted that
Spring Boot’s download growth had achieved 19.7MM downloads per
month.[2]

Something was done. And it was done right.

In this groundbreaking release of Hacking with Spring Boot 2.3: Reactive


Edition, you are going to dive head first into all kinds of goodness. You’ll
build some features for a shopping cart-e-commerce system. Then you’ll
accelerate things chapter by chapter, taking a new angle on building your
application. And you’ll use Spring Boot to make it happen.
You’ll explore Spring Boot’s powerful tools to speed up development efforts
as well as production-ready, cloud-native features.

If you’ve never used Spring Boot before, get ready for some fun. This book is
jam-packed with extra goodies that perhaps you weren’t aware of. Your
knowledge will be extended so you can take full advantage of its features.

What is Spring Boot?


Maybe you’ve seen a Spring Boot presentation at a conference or a JUG
meeting? Perhaps you’ve encountered a quick-fire demo.

What, exactly, is it?

Spring Boot is a fast, opinionated, portable, and production-ready assembly


of the Spring portfolio.

▪ Fast - By making decisions based on many factors including your


dependencies, Spring Boot helps you build your app quickly.
▪ Opinionated - Spring Boot makes assumptions based on what it sees.
These opinions can easily be overruled when needed. But based on
feedback, these pre-made opinions have served the community well.
▪ Portable - Built on top of Java’s de facto standard toolkit, the Spring
Framework, Spring Boot apps can be run anywhere a JDK can be found.
No need for a certified application server or other vendor-specific product.
Build your app, package it up using Boot’s tools, and you’re ready to
deploy!
▪ Production Ready - Make no mistake, Spring Boot isn’t vaporware. And
it’s not confined to tiny stuff (but it’s great for micro/macro/anysize
services!) Spring Boot is real and widely adopted. As an example, check
out this blog article from Netflix, one of the largest Java shops out there.


You can also subscribe to my YouTube channel and see my fun videos about Spring Boot.

Using this powerful and widely adopted stack, you’ll build a system with
speed AND stability.

In Hacking with Spring Boot 2.3: Reactive Edition you will also explore the
new paradigm of reactive programming, introduced in Spring Framework
5.0. As you build bigger and bigger systems with increasing volume of users,
you need an approach that is steady and rock-solid. Such high-end systems
require the ability to process possibly unlimited streams of data arriving
asynchronously and in a non-blocking fashion.

In this chapter you will cover the following topics:

▪ Introducing reactive programming.


▪ Launching an e-commerce platform using https://start.spring.io.
▪ Exploring Spring Boot’s management of third-party libraries.
▪ Running your app inside your IDE with no standalone container.
▪ Building a web layer using Spring WebFlux.

Introducing Reactive Programming


Reactive programming is something that has existed for years. You can find
academic papers on facets of it going back to the 1970s. And there have been
asynchronous, event-driven programming stacks available for years.

So why hasn’t it been picked up in the mainstream?

Probably because the number of shops needing it has been rather small. But
the world is entering a new era. Startups are having to serve content to
literally millions of users. International audiences demand around-the-clock
operational support. And as cloud-based hosting of applications grows in
popularity, the concept of "throw some more servers at the problem" isn’t
working.

Developers seek more efficient, more consistent usage of existing resources.


And there is one approach that addresses this: Reactive Streams.

Reactive Streams is a tiny spec. It’s focus is to define a simple contract


between publishers and subscribers. Instead of publishing traffic as fast as
possible, subscribers are able to exert control by saying, "I’m ready for ten
more." And the publisher only sends the next ten. Think of it as demand
control.

Chaining together publishers and subscribers across the enterprise makes it


possible to have system-wide backpressure. No more performance surprises,
but instead better coordinated management of traffic.

Reactive Streams is so simple, in fact, that it isn’t recommended for


application developers. Instead, it’s a foundation for frameworks and a means
to achieve interoperability.
Project Reactor is VMware’s implementation of Reactive Streams. With it,
it’s possible to achieve reactive programming built with the following
aspects:

▪ non-blocking, asynchronous programming model


▪ functional programming style
▪ thread-agnostic concurrency

Throughout this book, you’ll learn more and more about what this means.
But bottom line, the Spring portfolio of projects makes it easy to embrace
scalable solutions without having to start from scratch.

Coding with Reactor Types


As just mentioned Reactive Streams is based on demand control. Project
Reactor implements this using the core type Flux<T>. A Flux<T> is a
container around a series of T objects. (For a crash course in Java generics,
see https://www.baeldung.com/java-generics).

A Flux<T> is a placeholder for someone to deliver items. Kind of like a


server at a restaurant. As dishes are completed in the kitchen, they are handed
to the server. The server, in turn, carries them out to customers and returns
back to wait for more.

Continuing with this metaphor, the server doesn’t know when the next dish
will be finished by the kitchen. But when it is and when he or she is
available, the server is able to deliver the next dish.

Imagine modeling a service that emulated that kitchen.


Modeling a very simple "kitchen" service

class KitchenService {

Flux<Dish> getDishes() {
// You could model a ChefService, but let's just
// hard code some tasty dishes.
return Flux.just( //
new Dish("Sesame chicken"), //
new Dish("Lo mein noodles, plain"), //
new Dish("Sweet & sour beef"));
}
}

As a server, you can ask that the KitchenService provide you with
Dish objects to walk out to customers. Instead of being handed a batch, you
instead receive this Flux<Dish> object. It means the dishes aren’t
available, yet. But they will be at some point. Exactly when, you can’t be
sure.

But when they are, you can act. Or shall we say, react. That’s because
Reactor is non-blocking. You don’t hold up the "server" thread (see what I
did there?) waiting for the kitchen to do its job.

This Flux<Dish> is similar to a Future<Dish> in that the results are


coming some time in the future. But that is about it when comes to comparing
Flux<Dish> with Future<Dish>. A Future is something that has
already started, while a Flux is startable.

So what does Flux offer that Future does not? Flux<Dish> has the
following characteristics:
▪ Handles more than one Dish.

▪ Codifies what happens as each Dish is provided.

▪ Defines both success and failure paths.


▪ No need to poll for results.
▪ Functional programming support.

A lot of this limited functionality is tied up in the fact that Java’s Future
API was introduced with Java 5, which dates back to 2004. That was long
before Java introduced functional programming constructs. The other factor
is that Future is squarely aimed at providing a single value, while Flux is
meant for multiple values. There have been some updates to Java’s
Future<T> class, but they just don’t cut it when you want to implement
backpressure and demand control.

To focus on the concept of a server delivering these asynchronous dishes,


write some more code!
Creating a simple server

class SimpleServer {

private final KitchenService kitchen;

SimpleServer(KitchenService kitchen) {
this.kitchen = kitchen;
}

Flux<Dish> doingMyJob() {
return this.kitchen.getDishes() //
.map(dish -> Dish.deliver(dish));
}

This simple server has the following features:

▪ Whoever creates an instance of SimpleServer must provide it with an


instance of KitchenService. This is known as constructor injection.
(More on that later!)
▪ The doingMyJob() function, which a manager can tap, invokes the
kitchen to getDishes().

▪ After asking the kitchen for dishes, it uses .map() to define a handler for
what to do with each dish when it arrives. In this case, invoke the
deliver(dish) function.

▪ Notice how deliver(dish) simply sets the dish’s delivered state


to true.

This is a simple reactive consumer you’ve defined. It invokes another


reactive service and transforms the results.

Look closely, and you’ll notice that while retrieving a Flux of Dish objects
from the kitchen, it itself returns the same type. The difference being that
t h e kitchen produces a cooked series of entrées, while the
SimpleServer produces a delivered series of entrées.


In the code above, you are using a Java 8 lambda function, dish →
Dish.deliver(dish). "lambda" is a fancy way of saying "anonymous." On the left
side of the arrow are the inputs (dish in this case). On the right side of the arrow is what
you do with it. SimpleServer invokes its deliver() function. This function is
applied to each and every Dish the kitchen sends through this Flux. Because this
map transforms one Flux into another, it’s mapping function must return something!
That’s why your deliver() function can’t have a void return type. So instead, it
returns dish.

Flux.map() is a function you’ll be using throughout this book, so stop and


re-read the code to ensure you grok what it’s doing!

Project Reactor provides a rich programming model. Not only can you do
functional transforms, but you can hook into the Reactive Stream lifecycle
which includes onNext(), onError(), and onComplete() signals -
something else missing from Future objects.

To see some of this, imagine having a super polite service.


Creating a polite server

class PoliteServer {

private final KitchenService kitchen;

PoliteServer(KitchenService kitchen) {
this.kitchen = kitchen;
}

Flux<Dish> doingMyJob() {
return this.kitchen.getDishes() //
.doOnNext(dish -> System.out.println("Thank you for " +
dish + "!")) //
.doOnError(error -> System.out.println("So sorry about "
//
+ error.getMessage())) //
.doOnComplete(() -> System.out.println("Thanks for all
your hard work!")) //
.map(Dish::deliver);
}

This server has the same initialization of the kitchen as well as how each
dish is handled. But it has the following differences in its doingMyJob()
function:

▪ Using .doOnNext() you’ve added an extra bit of functionality to say


"thank you" to the kitchen with every Reactive Streams onNext()
signal.
▪ Using .doOnError() you’ve registered some code to run anytime the
onError() signal happens.

▪ Using .doOnComplete() you have some code to run whenever the


kitchen signals it’s done with onComplete().

What’s not shown is the fact that you can use these methods more than once.
Register all the handlers you need!

It’s important to point out that onNext(), onError() and


onComplete() are Reactive Streams signals. While you don’t have to use
these signals directly in your own code, being aware of them gives you the
most options in your own code.

You can create all the .doOnNext() operations you like.

return this.kitchen.getDishes() //
.doOnNext( //
dish -> System.out.println("Thank you for " +
dish + "!")) //
.doOnNext( //
dish -> System.out.println("Marking the ticket as
done.")) //
.doOnNext(dish -> System.out.println("Grabbing some
silverware.")) //
.map(this::deliver);

However, it’s currently recommended to register multiple handlers inside a single


.doOnNext().

return this.kitchen.getDishes() //
.doOnNext(dish -> {
System.out.println("Thank you for " + dish + "!");
System.out.println("Marking the ticket as done.");
System.out.println("Grabbing some silverware.");
}) //
.map(this::deliver);

While it may, at first, seem handy to avoid getting things tangled together, it’s actually
more performant to reduce the number of callbacks. You can still maintain separation by
having the functions themselves grouped in proper classes.

Instead, it’s about keeping different tasks and functions free and clear of each other.

So far, you have defined a kitchen and different types of servers. And
you’ve seen how to transform things, while also responding to Reactive
Streams signals.
What’s missing is the fact that you haven’t seen how to actually start the
flow. What does "start the flow" mean? In Project Reactor, you can define all
the flows and all the handlers you need, but nothing actually happens until
you subscribe.

Subscription is key. This isn’t just part of Reactor, but instead a concept
baked into that tiny Reactor Streams spec mentioned earlier.

No data or activity materializes until someone asks for it. The following code
shows what happens when the restaurant asks the server to do his or her job.
Polite restaurant subscribing for activity

class PoliteRestaurant {

public static void main(String... args) {


PoliteServer server = //
new PoliteServer(new KitchenService());

server.doingMyJob().subscribe( //
dish -> System.out.println("Consuming " + dish), //
throwable -> System.err.println(throwable));
}
}

The first line inside the main() method creates the kitchen and the server.
It’s a simple way to wire up the server.

It’s the next line where things get interesting. You call
server.doingMyJob() followed by subscribe. doingMyJob(), as
shown earlier, gives you a Flux<Dish>, but nothing happens (yet).
Remember, it’s just a placeholder for when things arrive.
In the KitchenService, it may be hard-wired with three dishes, but
nothing happens when you call doingMyJob()!

Nope. In Reactor-based apps, nothing happens until you subscribe. Here in


the main() method, it’s the line after where you invoke subscribe(…).

@
The phrase "when you subscribe" that is sprinkled throughout this book is shorthand for
"when you subscribe and start asking for results." Project Reactor is inherently lazy.
Nothing happens until someone subscribes and starts pulling. Connections aren’t opened,
web requests aren’t processed, and web filters aren’t activated until someone subscribes
and starts asking for data. In this case, the .subscribe() call includes a Java 8
Consumer which is the "code that pulls" in this scenario.

Looking a little closer, you can see that this usage of subscribe has a Java
8 Consumer as its first argument. This callback is invoked on every Dish
(during the Reactive Streams onNext() signal). In this case, it’s another
one of those lambda functions, dish →
System.out.println("Consuming " + dish). It prints to the
console. (Can you imagine instead serializing the object and writing it to an
HTTP response body?)

But this subscribe method also has a second argument, throwable →


System.err.println(throwable). This is what happens when an
error occurs and Reactive Streams sends the onError(throwable)
signal.

Want to run the code and see what you got? Do it!
Thank you for Dish{description='Sesame chicken',
delivered=false}!
Consuming Dish{description='Sesame chicken', delivered=true}
Thank you for Dish{description='Lo mein noodles, plain',
delivered=false}!
Consuming Dish{description='Lo mein noodles, plain',
delivered=true}
Thank you for Dish{description='Sweet & sour beef',
delivered=false}!
Consuming Dish{description='Sweet & sour beef', delivered=true}
Thanks for all your hard work!


Write it on a sticky on your monitor. Chisel it on a tablet and hang it on a wall. Nothing
happens until you subscribe. Reactive connections aren’t opened, reactive databases don’t
produce data, and reactive web services don’t write HTTP responses until you subscribe.

Now stop for a second. We’ve been talking about a server ferrying meals
from the kitchen to the customer. What if all those dining customers were
actually people visiting a web site. And the kitchen in the back was a mixture
of data stores and server-side services?

Your role as the server (taking orders from customers to the kitchen, followed
by delivering the requested items), would quite easily match up with…drum
roll…a web controller!

That’s right, your asynchronous, non-blocking approach to fulfilling orders is


exactly what a reactive web controller does. A reactive web controller
doesn’t take an order back to the kitchen and then stand around, waiting for
completion. Instead, the server goes out and processes other customer
requests. Only when the kitchen signals it’s ready does the server return to
carry out that task.

So where can you find a web controller that honors this Reactive Streams
approach?

Say hello to Spring WebFlux


Web applications dominate the landscape. Sure, you can find a thick client
here and there. But seriously, when was the last time you met a Swing or
Griffon developer?

And when it comes to building web applications, the most popular toolkit has
been Spring MVC.[3]

That is, until Spring Framework 5.0.


Spring Framework 5.0? I thought you were talking about Spring Boot 2.3. What gives?
Spring Framework is the core toolkit underlying Spring Boot. It has become arguably the
most popular toolkit in the Java community. And given that Spring Framework 5.0 has
embraced Reactive Streams through Project Reactor, much of what this book will cover
involves Spring Boot’s strong synergy with the Spring Framework.

With new startups embracing potentially millions of users, it has become


imperative to scale the web layer. When your needs grow huge, using Spring
WebFlux to reactively serve web requests is the way to go.
If you’re completely new to the Spring portfolio, never fear. Spring WebFlux
isn’t hard. In fact, it’s pretty down-to-earth.

In case you are somewhat familiar with the Spring Framework and had heard
of Spring MVC, you may be curious. What is the big difference between
Spring WebFlux and Spring MVC?

Spring MVC is built atop Java’s well-honed servlet API. There are many
assumptions in its underlying contracts. The biggest one being that the servlet
API is blocking. Sure, there is some asynchronous support since Servlet 3.1,
but it’s not completely reactive. It doesn’t come with support for fully
reactive event loops and backpressure signals.

Say hello to Netty, a 100% non-blocking, asynchronous web container. One


that isn’t beholden to the servlet spec. And Spring WebFlux fits Netty like a
glove, while still using the same programming model that has made Spring
MVC so popular.

And that is how you are going to developer e-commerce features throughout
this book—using Spring WebFlux along with other reactive parts of the
Spring portfolio.

Building an E-Commerce Platform with Spring Boot


So you’re all fired up to build an e-commerce platform using Spring
WebFlux? Great. To get going on any new project, you should do what
everyone else does. Go to your favorite search engine and type "spring boot
build file."
Just kidding!

You actually don’t have to rummage around on a search engine or


StackOverflow to get off the ground. There’s a website geared toward getting
you started. The Spring Initializr (yes, that’s how you spell it) at
https://start.spring.io lets you enter the barebones details about your project,
pick your favorite build system, the version of Spring Boot you want, and last
but not least, select all the dependencies you need. Then a ZIP file is
generated containing your app, ready to go!
Spring Initializr
Other documents randomly have
different content
the Redstone River, (now Fayette County) in Western Pennsylvania.
Being newly wedded and immensely wealthy for his day, he caused
to be erected a manor house of the showy native red stone,
elaborately stuccoed, on a bluff overlooking this picturesque winding
river. He cleared much land, being aided by Negro slaves, and a
horde of German redemptioners.
When General Forbes’ campaign against Fort Duquesne was
announced in 1757, he decided to again try for actual military
laurels, though his promotion in rank had been rapid for one of his
desultory service; so he journeyed to Carlisle, and was reassigned to
the Virginia Riflemen, with the rank of Lieutenant Colonel of Staff.
He was undecided what to do with his young wife in his absences,
but as she had become interested in improving “Red Clay Hall,” as
the new estate was called, he decided to leave her there, well
guarded by his armed Virginia overseers. The Indians had been
cleared out of the valley for several years, and were even looked
upon as curiosities when they passed through the country,
consequently all seemed safe on that score.
However, while Lieutenant-Colonel Claypoole was at Carlisle,
before the Forbes-Bouquet Army had started westward, an Indian
with face blackened and painted, in the full regalia of a chief,
appeared at the door of “Red Clay Hall” and asked to see the lady of
the manor, with whom he said he was acquainted–that she would
know him by the name of Suckaweek.
This was considered peculiar, and he was told to wait outside, until
“her ladyship” could be informed of his presence. Eulalie Gaspar
Claypoole, clad in a gown of rose brocade, was in her living room on
the second story of the mansion, an apartment with high ceilings
and large windows, which commanded a view of the Red Stone
Valley, clear to its point of confluence with the lordly Monongahela.
She was seated at an inlaid rosewood desk, writing a letter to her
husband, when the German chief steward entered to inform her of
the strange visitor waiting on the lawn, whom she would know by
the name of Suckaweek.
Taking the quill pen from her lips, for she had been trying to think
of something to write, the dark beauty directed the steward to admit
the visitor at once, and show him into the library. Hurrying to a pier
glass, she adjusted her elaborate apparel, and taking a rose from a
vase, placed it carefully in her sable hair, before she descended the
winding stairway.
“Suckaweek” (Black Fish), which was a pet name she used to call
Girty in the old days, was waiting in the great hall, and the greeting
between the ill-assorted pair seemed dignified, yet cordial. They
spent the balance of the afternoon between the library and strolling
over the grounds, admiring the extensive views, dined together in
the state dining room, and the last the stewards and servants saw of
them, when informed their presence would be no longer required,
was the pair sitting in easy chairs on either side of the great
fireplace, both smoking long pipes of fragrant Virginia tobacco.
In the morning the Indian and Madame Claypoole were missing,
and an express was sent at once to Carlisle to acquaint the Colonel
with this daring abduction of a lady of quality. The news came as a
great shock to the young officer, who obtained a leave of absence
and a platoon of riflemen to engage in the search for his vanished
spouse.
The marriage had seemed a happy one, but in discussing the case
with his father-in-law, “French Louis,” indiscreetly admitted that his
daughter had once seemed a little sweet on Simon Girty, the outlaw.
All was clear now, the motive revealed.
It was the truth, the lovely “Lady” Claypoole, as she was styled by
the mountain folks, had gone off with the seemingly uncouth
renegade, Simon Girty.
Why she had done so, she could never tell, but doubtless it was a
spark of love lain dormant since the old days at Chateau Gaspar,
when she had seen the young outlaw breaking her father’s
unmanageable colts, that furnished the motive for the elopement.
In the glade, where at an early hour in the morning, Girty and his
fair companion joined his entourage of Indians and white outlaws,
Simon, in the presence of all, unsheathed his formidable hunting
knife, a relic of his first campaign against the Indians when he
belonged to the Virginia “Long Knives,” and cut a notch on the stock
of his trusty rifle, which was handed to him by his favorite
bodyguard, a half Jew, half Indian, named Mamolen, a native of
Heidelberg in Berks County.
Although during the past eight years he had personally killed and
scalped over a hundred Indians and whites, Girty had never, as the
other frontiersmen always did, “nicked” his rifle stock.
Turning to Lady Claypoole with a smile, he said: “Some day I will
tell you why I have cut this notch; it is a long and curious story.”
In order to have her safe from capture or molestation, Girty took
the woman on a lengthy and perilous journey to Kentucky, “the dark
and bloody ground.” To the country of the mysterious Green River, in
what is now Edmonson County, land of caves, and sinks, and knobs,
and subterranean lakes and streams, amid hardwood groves and
limestone, he built a substantial log house, where he left her,
protected only by the faithful Mamolen, while he returned to fight
with the French and Indians along the banks of the Ohe-yu, “The
Beautiful River.”
The defeat of the allied forces by the British, and the
abandonment of Fort Duquesne, were sore blows to Simon Girty’s
plans and hopes, but his position and prestige among the Indians
remained undimmed.
Claypoole, though promoted to full Colonel, did not take part in
any of the battles, being intermittently off on leave, hunting for his
recreant wife, and spluttering vengeance against “that snake, that
dog, Girty,” as he alternately called him. It seemed as if the earth
had swallowed up the lovely object of the outlaw’s wiles, for though
Girty himself was heard of everywhere, being linked with the most
hideous atrocities and ambushes, no Indian prisoner, even under the
most dreadful torture, could reveal the Lady Claypoole’s
whereabouts. The reason for that was only two persons in the
service knew, one was Mamolen, the other Girty, and Mamolen
remained behind with the fair runaway.
It was not until after the final collapse of the French power in
1764, and the western country was becoming opened for
settlement, that Colonel Claypoole received an inkling of Eulalie’s
whereabouts. It did not excite his curiosity to see her again, or bring
her back, but merely fired his determination the more to even his
score with Girty. When he was sober and in the sedate atmosphere
of his correctly appointed library on Grant’s Hill, in the new town of
Pittsburg, he realized how foolish it would be to journey to the wilds
to kill “a scum of the earth,” he a gentleman of many generations of
refined ancestry, all for a “skirt” as he contemptuously alluded to his
wife.
But when in his cups, and that was often, he vowed vengeance
against the despoiler of his home, and the things he planned to do
when once he had him in his clutches would have won the grand
prize at a Spanish Inquisition.
If it was Girty’s destiny to notch his rifle once, Nemesis provided
that Colonel Claypoole should also have that rare privilege. At a
military muster on the Kentucky side of Big Sandy, during the
Revolutionary War, Simon Girty boldly ventured to the outskirts of
the encampment, to spy on the strength and armament of the
patriot forces, as he had done a hundred times before. Colonel
Claypoole, riding on the field on his showy, jet black charger, noticed
a low-brewed face, whiskered like a Bolshevik, peering out through a
clump of bushes. Recognizing him after a lapse of over a quarter of
a century, he rode at him rashly, parrying with the flat blade of his
sabre, the well directed bullet which Girty sent at him. Springing
from his mount, which he turned loose, and which ran snorting over
the field, with pistol in one hand, sabre in the other, he rushed into
the thicket, and engaged his foe in deadly combat. He was soon on
top of the surprised Girty, and stamping on him, like most persons
do with a venomous snake, at the same time shooting and stabbing
him.
When his frightened orderly, leading the recaptured charger, rode
up, followed by a number of excited officers and men, and drew
near to the thicket, they were just in time to see Colonel Claypoole
emerging from it, red-faced but calm, carrying a long rifle.
“I see you have put a notch in it already,” said one of his
companions, as he eagerly wrung his hand.
“So I perceive,” replied the Colonel, “but it was hardly necessary,
for I have only killed a snake.”
There are some who say that Colonel Claypoole’s victim was not
Simon Girty at all, but merely a drunken settler who was coming out
of the bushes after a mid-day nap, and a coincidence that the fellow
was armed with a rifle on which there was a single nick. Yet for all
intents and purposes Colonel Claypoole had killed a good enough
Simon Girty, and had his rifle to prove it.
Other reports have it that Simon Girty survived the Revolution,
where he played such a reprehensive part, to marry Catharine
Malott, a former captive among the Indians, in 1784, and was killed
in the Battle of the Thames, in the War of 1812.
C. W. Butterworth in his biography of the Girty family, says that
Simon, in later life, became totally blind, dying near Amlerstburg,
Canada, February 18, 1818, was buried on his farm, and a troop of
British soldiers from Fort Malden fired a volley at his grave.
XIII
Poplar George

“I have been reading your legends of the old days in the ‘North
American,’” said the delegate to the Grange Convention, stroking his
long silky mustache, “and they remind me of many stories that my
mother used to tell me when I was a little shaver, while we were
living on the Pucketa, in Westmoreland County. There was one story
that I used to like best of all. It was not the one about old Pucketa
the Indian warrior for whom the run was named, but about a less
notable Indian, but more esteemed locally, known as ‘Poplar George.’
“It isn’t nearly as interesting an Indian story as the one that
Emerson Collins tells, of the time when his mother, as a little girl on
the Quinneshockeny, went to the spring for a jug of water, finding a
lone Indian sitting there all by himself, looking as if he was in deep
thought. As he made no move to molest her, she filled her jug, and
then scampered back to the house as fast as she could tote the jug
there.
“She was a little shy about telling of her strange experience, but
finally, when she mentioned the subject, her mother said, ‘maybe
the poor fellow was hungry.’ Quickly spreading a ‘piece,’ she hurried
back to the spring, but no Indian was to be found, only a few prints
of his mocassined feet in the soft earth by the water course. If it
hadn’t been for those footprints she would have always felt that she
had not seen a real live Indian, but a ghost.
“It was the last Indian ever heard of on the Quinneshockeny, and
he had probably come back to revive old memories of his happy
childhood. No, Poplar George was hardly like Emerson Collins’ ‘last
Indian,’ as he, my mother averred, was part Indian, part ghost. He
was also the last Indian that ever visited the Pucketa, which had
been a famous stream in its day for redmen, from the time when old
Pucketa, himself, came there to spend his last days, after having
been driven out from his former hunting grounds at the head of Lost
Creek, which runs into the ‘Blue Juniata’ above Mifflintown.
“The principal part of this story revolves around two large trees
that used to stand near the Pucketa, one a big tulip or ‘whitewood’
tree, hollow at the butt, so much so that a half grown person could
hide in it, and a huge water poplar tree, or ‘cottonwood,’ a rare tree
in Pennsylvania, you know, that stood on lower ground directly in
line with it, but on the far side of the creek, which ran parallel with
the road. It wasn’t much of a road in those days, I’m told, isn’t much
of one yet, little better than a cow path, with grass and dandelions
growing between the wagon tracks, and worn foot-path on the creek
side of it. Many’s the time I’ve gone along that path to and from
school, or to fetch the cows.
AGED FLAX-SPINNER AT WORK,
SUGAR VALLEY

“In my boyhood there were two big stumps which always arrested
my attention, the stumps of the ‘cottonwood’ and the tulip which I
have already mentioned. The native poplar stump, which was
chopped breast high for some reason, had been cut before my day,
but the tulip tree had stood a dead stab for many years, and was not
finally cut until my babyhood. I was too young to recall it, and its
stump had been sawed off almost level with the ground.
“When my mother was old enough to notice things, say along six,
or seven or eight years of age, both trees was standing, and despite
their venerable age, were thrifty and green; the hollow trunk of the
tulip did not seem to lessen its vitality. Trees in those days, of all
kinds, were pretty common, and regarded as nuisances; the farmers
were still having ‘burning bees’ in the spring and fall when all hands
would join in and drag with ox-spans the logs of the trees that had
been cut when they were clearing new ground, and making huge
bonfires, burn them like a modern section foreman does a pile of old
railroad ties, and by the way, the time is going to come soon when
tie burners will be as severely condemned as the instigators of the
‘burning bees’ in the olden days.
“Trees were too plentiful to attract much attention or create
affection or veneration, but these two trees had a very special
human interest.
“Long after the Indians passed out of our country they came back
as ghosts or ‘familiars,’ just as the wolves, panthers and wild pigeons
do, so that the stories of folks seeing them after they became
extinct, while not literally true, are in a sense correct. Closely
associated with the life of the big cottonwood was an old Indian,
mother said; he wasn’t a real live Indian, yet not a ghost, was
probably a half ghost, half Indian, if there could be any such thing.
“The tulip tree was inhabited by a very attractive spirit, an Indian
girl, an odd looking one too, for her smooth skin was only a pumpkin
color and her eyes a light blue. They all called her ‘Pale Eyes,’ and
she was described as slight, winsome and wonderfully pretty. The
Indian man, because he spent so much time under the cottonwood
or water poplar, became generally known as ‘Poplar George.’ He
would appear in the neighborhood early in the spring, in time to
gather poke, milkweed, dandelion and bracken for the farmer’s
wives, and to teach the young folks to fish, to use the bow and
arrow, and snare wild pigeons and doves.
“It was a sure sign of spring when the young people would see
him squatting before a very small fire of twigs under the still leafless
branches of the ancient poplar tree. He would remain about all
summer long, helping with the harvest, so he must have been real
flesh and blood, in a sense, and in the fall he gathered nuts, and
later cut some cordwood for those who favored him–but in truth he
never liked hard, downright work overly much.
“He was a creature of the forests and streams. When he went
away in the fall, after the wild pigeons had left, he always said that
he wintered south, on the Casselman River, where the weather was
not so severe, in that wonderful realm of the Pawpaw, the
Persimmon and the Red Bud.
“Often when he took the young folks of the neighborhood on
fishing trips, and his skill with the angle and fly were unerring, the
pretty Indian maiden, ‘Pale Eyes,’ would turn up, and be with the
party all day. When asked who she was, he would sometimes say
that she was his daughter, other times his niece, or grand-daughter,
but when anyone asked of ‘Pale Eyes,’ she would shake her pretty
head, indicating that she only spoke the Indian language. Poplar
George could speak Dutch and a little English.
“No one knew where Poplar George slept, if it wasn’t in the open,
under the cottonwood tree. If he slept in barns, or under haystacks,
no one had ever seen him coming or going, but a detail like that,
mattered nothing as long as he was kindly and harmless, and took
good care of the children.
“He was a master of woodcraft, much like that old Narragansett
Indian ‘Nessmuk,’ who furnished the late George W. Sears with his
inspiration as well as ‘nom de plume.’ Poplar George could call the
wild birds off the trees, so that they would feed on the ground
before him, the squirrels and even the shy chipmunks climbed all
over him, and extracted nuts from his pockets.
"The old Indian was an odd person to look at, so my mother said;
of medium height, meagre, wrinkled and weazened, tobacco
colored, with little black shoe-button eyes, and a sparse mustache
and beard. He dressed in rags, and was often bare-footed, yet he
never complained of the cold. He was always jolly and cheerful, had
always been the same; he had been coming to the Pucketa Valley
for several generations before my mother’s day; in fact, no one could
remember when he hadn’t been there, but that wasn’t saying much,
as it was a new country, dating only from the time when Pucketa
and his tribesmen had enjoyed it as a hunting ground for big game.
"Once when some hunters killed a bear, they were going to nail
the paws on the end of a log barn, but Poplar George begged for
them, and invited the children to a feast of ‘bear paw cutlets’ under
the cottonwood tree. My mother sat beside ‘Pale Eyes,’ and took a
great fancy to her; she was able to talk with her in sign language,
and Poplar George, seeing how well they got on together,
occasionally interpreted for them.
"Mother managed to learn that ‘Pale Eyes’’ abode was in a huge
hollow tulip tree, but that she, too, wintered in the south, but
beyond the Maryland line. Those were all gloriously care-free, happy
days, and my mother, in later life, never tired talking about them.
"Once in the fall when the buckwheat harvest was in progress,
millions of wild pigeons came in, and mother could never forget the
sight of old Poplar George sitting on a ‘stake and rider’ fence, with a
handsome cock pigeon resplendent with its ruddy breast, pearched
on one of his wrists, while it pecked at some buckwheat seeds in his
other hand. Beside him sat the demure ‘Pale Eyes,’ a speckled squab
of the year in her lap, stroking it, while other pigeons, usually so
wild, were feeding in the stubble about them, or perched on the
stakes of the fence.
"Some of the boys of sixteen years or thereabouts, grown lads
they seemed to my mother, wanted to be attentive to ‘Pale Eyes,’ but
she was so shy that she never let them get close to her. As it was a
respectable backwoods community, and all minded their own
business, no further efforts were made to have her mingle in society.
"There was a rich boy, Herbert Hiltzheimer from Philadelphia,
whose father was a great land owner, and who sometimes came
with his parents to stay with their Agent while inspecting their
possessions, who, at first sight of ‘Pale Eyes,’ fell violently in love
with her. On rainy days he was not allowed out of doors, and sent
word to Poplar George that ‘Pale Eyes’ should go to the Agent’s
house, and play with him. Old Poplar George replied that he was
willing if his niece would consent, but she always ran away into the
depths of the forest, and was never once induced to play with him
indoors. She did not dislike the city boy, only was very timid, and
was afraid to go inside of a house.
"My mother was made a confidante of by Herbert,who offered her
five dollars, a collosal sum in those days, if she would induce ‘Pale
Eyes’ to at least come into the Agent’s yard, and play with him
alone. He had her name cut on everything, even on the window
frames, and wrote verses about her which he carried in his pocket,
and sometimes tried to read to her.
"In the fall he was taken back to Philadelphia to school, but said
that, the evening before, when he walked up the lane, weeping over
his misfortune, he opportunately met the fair Indian maid alone at
the tulip tree, and actually kissed her. She broke away and ran into
the hollow trunk, and while he quickly followed her into the
aperture, she had disappeared.
"The lands on which the cottonwood and the tulip tree stood were
a part of a farm belonging to ’Squire George Garnice, an agreeable,
but easy going old gentleman, who never learned to say ‘no’ to any
one, though not much to his detriment for he was very generally
respected.
"One fall some of the Fiedler boys suggested to him, that he let
them go on his property and cut up a lot of old half-dead good-for-
nothing trees for cordwood and of course he assented. The first tree
they attacked was Poplar George’s favorite, the mighty cottonwood.
They were skilled axemen, and cut a level stump but too high for
these days of conservation. Soon the big poplar was down, and the
boys were trimming off the sweeping branches. Before cutting into
stove lengths, they hopped across the creek and started on their
next victim, the hollow tulip tree, the home of ‘Pale Eyes.’
"One of the boys, the youngest, Ed, had gotten a new cross-cut
saw, and begged them to try it on the tulip. They notched, and then
getting down on their knees, started to saw a low stump, for some
reason or other. They had sawed in quite a distance on both edges
of the hollow side when they heard a piteous shrieking and wailing
down the road, toward the old ’Squire’s barn.
"Leaving saw, axes and wedges, they ran to where the cries came
from, and to their horror, found ‘Pale Eyes’ lying on the grassy bank
beside the road at the orchard, her ankles terribly lacerated, front
and back, clear in to the bones, and bleeding profusely. On this
occasion she was able to speak in an intelligible tongue.
“‘Run quick to the ’Squire’s, and get help,’ she said, in
Pennsylvania German; ‘I am dying, but I want something to ease
this dreadful pain.’
“The sympathetic boys, without waiting to inquire where she
received her grevious hurts, scurried down the road and through the
’Squire’s gate. The old gentleman was in his library, drawing up a
legal document, when the long, lanky youths, hatless and
breathless, burst in on him.
“‘Oh, sir,’ they chorused, ‘the Indian girl, ‘Pale Eyes,’ you know, has
cut herself, and is dying up the road, and wants help.’
"The ’Squire always kept an old-fashioned remedy chest in his
desk, so seizing it, and adjusting his curly wig, so that it would not
blow off, he ran out after the nimble mountaineers. As they left the
gate they saw old Poplar George running across the orchard in the
direction of the wounded girl. Evidently he, too, had heard her cries.
"When they reached the spot where marks on the greensward
showed where ‘Pale Eyes’ had been lying, she was nowhere to be
found, neither was Poplar George. There were no signs of blood,
only a lot of sawdust like comes from the workings of a cross-cut
saw.
"The old ’Squire was nonplussed, but consented to accompany the
boys to the scene of their wood cutting operations. ‘Pale Eyes’ was
not there either, nor Poplar George. The newly formed leaves of the
cottonwood–it was in the month of May–although the tree had only
been cut and sawed into but an hour before, were scorched and
withered.
"The ’Squire showed by his face how heartbroken he was to see
the two picturesque trees so roughly treated, but he was too kindly
and forgiving to chide the boys for their sake. As he was standing
there, looking at the ruin, a number of school children, among them
my mother, came along, for it was during the noon recess, or dinner
hour. They saw the butchered trees, and learned of the events of the
morning; several of them, prosaic backwoods youngsters, though
they were, shed bitter tears.
“‘Dry your eyes,’ the ‘’Squire urged them, ‘else your people will
think that the teacher licked you.’ Then they all chorused that it was
a shame to have ruined the retreats of Poplar George and ‘Pale
Eyes.’
“Evidently ’Squire Garnice was wise in the lore of mysticism, for he
shook his head sadly, saying, ‘Never mind, you’ll never see Poplar
George nor ‘Pale Eyes’ again.’
“It was a dejected company that parted with him at his gate. The
old ’Squire was right, for never more was anything seen or heard of
Poplar George and the mysterious ‘Pale Eyes.’ They must have been
in some unknowable way connected with the lives of those two
trees, the cottonwood and the tulip–their lives or spirits maybe, and
when they were cut into, their spirits went out with them.
“I knew of a wealthy man who had a cedar tree in his yard, that
when he fell ill, the tree became brown, but retained a little life.
Finally it was cut down as an eyesore, and the gentleman died
suddenly a few days afterward. That tree must have contained a
vital part of his spirit.
“By fall the tulip tree looked as if it had been dead for years, and
the bark was peeling off. As the wood of the poplar would not burn,
and set up a fetid odor, the Fieldler boys never bothered to finish
cutting down the hollow tulip tree, of which the shy wood sprite,
‘Pale Eyes,’ had been the essence.
"Much of the mystery and charm of that old grass-grown way
along the gently flowing Pucketa had vanished with its Indian
frequenters. But the memory of Poplar George and ‘Pale Eyes’ will
never be forgotten as long as any of those children who were lucky
enough to know them, remain in this world."
XIV
Black Alice Dunbar

Down in the wilds of the Fourth Gap, latterly used as an artery of


travel between Sugar Valley and White Deer Hole Valley, commonly
known as “White Deer Valley,” a forest ranger’s cabin stands on the
site of an ancient Indian encampment, the only clearing in the now
dreary drive from the “Dutch End” to the famous Stone Church. Until
a dozen years ago much of the primeval forest remained, clumps of
huge, original white pines stood here and there, in the hollows were
hemlock and rhododendron jungles, while in the fall the flickers
chased one another among the gorgeous red foliage of the gum
trees.
Now much is changed; between “Tom” Harter and “Charley”
Steele, and other lumbermen, including some gum tree contractors,
little remains but brush and slash; forest fires have sacrificed the
remaining timber, and only among the rocks, near the mouth of the
gap, can be seen a few original yellow pines, shaggy topped in
isolated grandeur. Some day the tragic Indian history of White Deer
Hole Valley will come to its own, and present one of the most tragic
pages in the narrative of the passing of the red man.
It was into this isolated valley, that terminates in Black Hole Valley,
and the Susquehanna River, near Montgomery, that numbers of the
Monsey Tribe of the Lenni-Lenape, called by some the Delaware
Indians, retreated after events subsequent to the Walking Purchase,
made them outcasts on the face of the earth. It was not long
afterwards that warlike parties of their cruel Nemesis, the Senecas,
appeared on the scene, informing the Monseys that they had sold
the country to the whites, and if they stayed, it was at their peril.
Even at that early day white men were not wholly absent; they
came in great numbers after the Senecas had sold the lands of the
Lenni-Lenape to the “Wunnux,” but even coincident with the arrival
of the Delawares, a few white traders and adventurers inhabited the
most inaccessible valleys.
Alexander Dunbar, a Scotchman, married to a Monsey woman,
arrived in White Deer Hole Valley with the first contingent of his
wife’s tribes-people, settling near the confluence of White Deer Hole
Creek and South Creek. Whether he was any relation to the Dunbar
family, who have long been so prominent in this valley is unknown,
as his family moved further west, and the last heard of them was
when his widow died and was buried in the vicinity of Dark Shade
Creek, Somerset County.
Dunbar was a dark, swarthy complexioned man, more like an
Indian than a Celt, and dressed in the tribal garb, could easily have
passed off as one of the aboriginies. At one time he evidently
intended to remain in the Fourth Gap, as in the centre of the
greensward which contained the Indian encampment, he erected a
log fortress, with four bastions, the most permanent looking
structure west of Fort Augusta. In it he aimed to live like a Scottish
Laird, with his great hall, the earthen floor, covered with the skins of
panthers, wolves and bears, elk and deer antlers hanging about, and
a huge, open fireplace that burned logs of colossal size, and would
have delighted an outlaw like Rob Roy MacGregor.
When the Seneca Indians penetrated into the valley they were at
a loss at first to ascertain Alexander Dunbar’s true status. If he was
related to the prominent Scotch families identified with the Penn
Government, he would be let alone, but if a mere friendless
adventurer, he would be driven out the same as any one of the
“Original People.”
Dunbar was a silent man, and by his taciturnity won toleration for
a time, as he never revealed his true position. When the Senecas
became reasonably convinced that, no matter who he had been in
the Highlands of Scotland, he was a person of no importance in the
mountains of Pennsylvania, they began a series of prosecutions that
finally ended with his murder. This took its first form by capturing all
members of the Lenni-Lenape tribe who ventured into the lower end
of the valley, for those who had settled further down, and on the
banks of the Susquehanna and Monsey Creek had moved westward
when they learned that they had been “sold out.” However, the
residents of Dunbar’s encampment occasionally ventured down
South Creek on hunting and fishing expeditions. When the heads of
half a dozen families, and several squaws, young girls and children
had been captured, over a dozen in all, and put into a stockade near
the present village of Spring Garden, and rumor had it that they
were being ill-treated, Alexander Dunbar, carrying a flag of truce, set
off to treat with the Seneca Council, at what is now Allenwood, with
a view to having them paroled.
The unfortunate man never reached the Senecas’ headquarters,
being shot from ambush, and left to die like a dog on the trail, not
far from the Panther Spring, above the present John E. Person
residence.
While the surviving, able bodied Monseys could have risen and
started a warfare, they deemed it prudence to remain where they
were, and to make Sugar Valley, and the valleys adjacent to White
Deer Creek, their principal hunting grounds.
While Dunbar had lived, squaw man, though he was, he was the
leader of the Indians among whom he resided, else they would
never have permitted his erecting a pretentious fortress in the midst
of their humble tepees of hides and poorly constructed log cabins. At
his death the leadership devolved on his eighteen-year-old daughter,
“Black Agnes,” his widow being a poor, inoffensive creature, a typical
Indian drudge.
“Black Agnes” was even darker complexioned than her father, but
was better looking, having fine, clear cut features, expressive dark
eyes which flashed fire, although she was much below medium
height, in fact, no bigger than a twelve-year-old child. She wore her
hair in such a tangled way that her eyes, lean cheeks and white
throat were half hidden by the masses of her sable tresses. She
usually attired herself in a blue coat and cape, a short tan skirt
trimmed with grey squirrel tails, and long Indian stockings. She was
in miniature a counterpart of Miriam Donsdebes, the beautiful
heroine of one of the chapters in this writer’s book “South Mountain
Sketches.”
While it may have given the Senecas added cause to repeat their
jibe of “old women” at the Lenni-Lenapes, for not avenging Dunbar’s
death, it was a case of living on sufferance anyway, and foolish to
have attacked superior numbers. The Senecas always had white
allies to call on for arms and ammunition, while from the first, the
Delawares were a proscribed people, slated to be run off the earth
and exterminated.
During this lull, following the Scotchman’s murder, which the
Senecas would have doubtless have disavowed, an embassy
appeared at the Dunbar stronghold to ask “Black Agnes’” hand in
marriage with a young Seneca warrior named Shingaegundin, whom
the intrepid young girl had never seen. While it would have been
extremely politic for “Black Agnes” to have accepted, and allied
herself with the powerful tribe that had wronged her people, she
sent back word firmly declining.
After the emissaries departed through the gate of the stockade,
she turned to her warriors, saying, in the metaphorical language of
her race: “The sky is overcast with dark, blustering clouds,” which
means that troublesome times were coming, that they would have
war.
The embassy returned crestfallen to Shingaegundin, who was
angry enough to have slain them all. Instead, he rallied his braves,
and told them that if he could not have “Black Agnes” willingly, he
would take her by force, and if she would not be a happy and
complaisant bride, he would tie her to a tree and starve her until she
ceased to be recalcitrant.
The bulk of the Monseys having departed from the valleys on both
sides of the Susquehanna, to join others of their tribe at the
headwaters of the Ohe-yu, left the Dunbar clan in the midst of an
enemy’s country, so that it would look like an easy victory for
Shingaegundin’s punitive expedition.
“Black Agnes” had that splendid military quality of knowing ahead
of time what her adversaries planned to do–whether “second sight”
from her Scotch blood, or merely a highly developed sense of
strategy, matters not. At any rate, she was ready to deal a blow at
her unkind enemies. Therefore she posted her best marksmen along
the rocky face of the South Mountains, on either side of Fourth Gap.
Behind these grey-yellow, pulpit-shaped rocks, the tribesmen
crouched, ready for the oncoming Senecas. “Black Agnes” herself
was in personal command inside the stockade, where she was
surrounded by a courageous bodyguard twice her size. The women,
old men and children, were sent to the top of the mountain, to
about where Zimmerman’s Run heads at the now famous
Zimmerman Mountain-top Hospice. At a signal, consisting of a shot
fired in the air by “Black Agnes” herself, the fusillade from the
riflemen concealed among the rocks was to begin, to make the
Fourth Gap a prototype of Killiecrankie.
In turn the entrance of the Senecas into the defile was to be
announced by arrow shot into the air by a Monsey scout who was
concealed behind the Raven’s Rock, the most extensive point of
vantage overlooking the “Gap.”
When “Black Agnes” saw the graceful arrow speed up into space,
she again spoke metaphorically, “The path is already shut up!” which
meant that hostilities had commenced, the war begun.
The little war sprite timed her plot to a nicety. When the Senecas
were well up in the pass, and surrounded on all sides by the
Monseys, whom they imagined all crowded into the stockade, “Black
Agnes” fired her shot, and the slaughter began. The Senecas began
falling on all sides, thanks to the unerring aim of the Monsey
riflemen, but they were too inured to warfare to break and run,
especially when caught in a trap.
Shingaegundin, enraged beyond all expression at again being
flouted by a woman, and a member of the tribe of “old women,”
determined to die gamely, and within the stockade which harbored
“Black Agnes.” He seemed to bear a charmed life, for while his
cohorts fell about him, he plunged on unhurt. The gate of the
stockade was open, and “Black Agnes” stood just within it, directing
her warriors, a quaint but captivating little figure, more like a sprite
or fairy than one of flesh and blood.
OLD CONESTOGA WAGON, BRUSH VALLEY

Shingaegundin espied her, and knew at a glance that this must be


the woman who the wise men of his tribe had selected to be his
bride, and the cause of this senseless battle. His was a case of love
at first sight, the very drollness of her tiny form adding to his
passion, and he ran forward, determined to be killed holding her in
his arms and pressing kisses on her dusky cheeks.
Such thoughts enhanced his ambition and courage, and he
shouted again and again to his braves to pick themselves up and
come on as he was doing. Dazed with love, he imagined in a blissful
moment that he would yet have the victory and carry “Black Agnes”
home under his arm like a naughty child.
Just outside the palisade he was met by three of Agnes’
bodyguard, armed with stone hatchets. None of his warriors were
near him; shot and bleeding, they were writhing on the grass, while
some were already in the hands of the Monsey braves, who had
come down from their eyries, and were dexterously plying the
scalping knives. Few of the mutilated Senecas uttered cries,
although as the scalps were jerked off, it was hard to suppress
involuntary sobs of pain.
“Black Agnes” saw nothing in the long, lank form of
Shingaegundin to awaken any love; she detested him as belonging
to the race that had sold her birthright and foully murdered her
father, and she called to her warriors: “Suffer no grass to grow on
the war-path,” signifying to carry on the fight with vigor.
Shingaegundin was soon down, his skull battered and cracked in a
dozen places. Even when down, his ugly spirit failed to capitulate.
Biting and scratching and clawing with his nails like a beast, he had
to have his skull beaten like a copperhead before he stretched out a
lifeless, misshapen corpse. As he gave his last convulsive kick the
Monsey warriors began streaming through the gates, some holding
aloft scalps dripping with blood, while others waved about by the
scalp locks, the severed heads of their defeated foemen.
Never had such a rout been inflicted on the Senecas; perhaps
“Black Agnes” would be a second Jeanne d’Arc, and lead the Lenni-
Lenape back to their former glories and possessions!
The victorious Monseys became very hilarious, hoisting the scalps
on poles, they shimmied around “Black Agnes,” yelling and singing
their ancient war songs, the proudest moment of their bellicose
lives.
“Black Agnes” was calm in triumph, for she knew how transitory is
life or fame. Biting her thin lips, she drew her scalping knife and
bent down over the lifeless form of Shingaegundin, to remove his
scalp in as business-like a manner as if she was skinning a rabbit.
Addressing the grinning corpse, she said: “Bury it deep in the earth,”
meaning that the Seneca’s injury would be consigned to oblivion.
Then, with rare dexterity, she removed the scalp, a difficult task
when the skull has been broken in, in so many places.
Holding aloft the ugly hirsute trophy, she almost allowed herself to
smile in her supreme moment of success. Her career was now
made; she would rally the widely scattered remnants of the
Delawares, and fight her way to some part of Pennsylvania where
prestige would insure peace and uninterrupted happiness. But in
these elevated moments comes the bolt from the blue.
One of the panic-stricken Senecas, bolting from the ignominious
ambush of his fellows, had scrambled up the boulder-strewn side of
the mountain, taking refuge behind the Raven’s Rock, lately
occupied by the chief lookout of the Monseys–he who had shot the
warning arrow into the air. Crouching abject and trembling at first,
he began to peer about him as the fusillade ceased and smoke of
battle cleared. He saw his slain and scalped clansmen lying about
the greensward, and in the creek, and the awful ignominy meted out
to his lion-hearted sachem, Shingaegundin. At his feet lay the bow
and quiver full of arrows abandoned by the scout when he rushed
down pell mell to join in the bloody scalping bee.
The sight of “Black Agnes” holding aloft his chieftain’s scalp, the
horribly mutilated condition of Shingaegundin’s corpse, the
shimmying, singing Monseys, waving scalps and severed heads of
his brothers and friends, all drew back to his heart what red blood
ran in his veins.
“Black Agnes” stood there so erect and self-confident, like a little
robin red-breast, ready for a potpie, he would lay her low and end
her pretensions. Taking careful aim, for he was a noted archer, the
Seneca let go the arrow, which sped with the swiftness of a
passenger pigeon, finding a place in the heart of the brave girl. The
tip came out near her backbone, her slender form was pierced
through and through. The slight flush on her dark cheeks gave way
to a deadly pallor, and, facing her unseen slayer, “Black Agnes”
Dunbar tumbled to the earth dead.
The dancing, singing Monseys suddenly became a lodge of sorrow,
weeping and wailing as if their hearts would break. The Seneca
archer could have killed more of them, they were so bewildered, but
he decided to run no further risks, and made off towards his
encampment to tell his news, good and bad, to his astounded
tribesmen.
When it was seen that “Black Agnes” was no more, and could not
be revived, the sorrowful Monseys dug a grave within the stockade.
It was a double death for them, as they knew that they would be
hunted to the end like the Wolf Tribe that they were, and they had
lost an intrepid and beloved leader.
According to the custom, before the interment, “Black Agnes’”
clothing was removed, the braves deciding to take it as a present to
the dead girl’s mother, to show how bravely she died. They walled
up the grave and covered the corpse with rocks so that wolves could
not dig it up, graded a nice mound of sod over the top, and, like the
white soldiers at Fort Augusta, fired a volley over her grave.
That night there was a sorrowing scene enacted at the
campground near the big spring at Zimmerman’s Run. The grief-
stricken mother wanted to run away into the forest, to let the wild
beasts devour her, and was restrained with great difficulty by her
tribesmen, who had also lost all in life that was worth caring for,
peace and security.
With heavy hearts they started on a long journey for the west,
carrying the heart-broken mother Karendonah in a hammock, to the
asylum offered to them by the Wyandots on the Muskingum. The
bereaved woman carried the blood-stained, heart-pierced raiment of
her heroic daughter as a priceless relic, and it was in her arms when
she died suddenly on the way, in Somerset County, and was buried
beside the trail, on the old Forbes Road. The Monseys, however,
took the costume with them as a fetich, and for years missionaries
and others interested in the tragic story of “Black Agnes” Dunbar
were shown her blue jacket with the hole in the breast where the
arrow entered.
That arrow pierced the hearts of all the Monseys, for they became
a dejected and beaten people in their Ohio sanctuary.
While it is true that most of the very old people who lived in the
vicinity of the Fourth Gap have passed away, it may yet be possible
to learn the exact location of the cairn containing the remains of
“Black Agnes” and place a suitable marker over it. One thing seems
certain, if the tradition of the Lenni-Lenape that persons dying
bravely in battle reach a higher spiritual plane once their souls are
released, her ghost will not have to hunt the hideous, burnt-over
slashings that were once the wildly romantic Fourth Gap; it has gone
to a realm beyond the destructive commercialism of this dollar-mad
age, where beauty finds a perpetual reward and recognition.
XV
Abram Antoine, Bad Indian

Abram Antoine, a Cacique of the Stockbridge Tribe of Oneida


Indians, had never before while in Pennsylvania been off the
watershed of the Ohe-yu, or “The Beautiful River,” called by the
white men “Allegheny,” until he accepted the position of interpreter
to a group of chiefs from the New York and Pennsylvania Indians, to
visit “The Great White Father,” General Washington, at Mount
Vernon.
While the General had not been President for several years, and
was living in retirement at his Virginia home, the red Chieftains felt
that his influence would be such that he could secure redress for
their wrongs. Cornplanter had been on many such missions, and
come home elated by promises, few of which were ever fulfilled in
any shape, and none in their entirety, consequently he declined to
accompany the mission on what he termed a “fool’s errand.”
Abram Antoine, through life in New England, New York and
Canada, had become much of a linguist, speaking English and
French with tolerable fluency, besides being well versed in the
Seneca and other Indian tongues. He was a tall, handsome type of
redman, powerfully muscled, his career on “The Beautiful River,”
where he rafted and boated between the Reservations and Pittsburg,
and his service as a ranger for the Holland Land Company, had
developed his naturally powerful form to that of a Hercules.
Previously he had served in the American Navy, during the
Revolutionary War, which had instilled in him a lifetime respect for
the name of Washington. He was eager therefore to act as
interpreter on an occasion which would bring him into personal
contact with the Father of his Country.
The Indians took the usual overland route, coming down the
Boone Road, to the West Branch of the Susquehanna at the mouth
of Drury’s Run; from there they intended hiking across the
mountains to Beech Creek, there to get on the main trail leading
down the Bald Eagle Valley to Standing Stone (now Huntingdon),
and from thence along the Juniata to Louisbourg, then just
beginning to be called Harrisburg. It had been an “open winter” thus
far.
At the West Branch they met an ark loaded with coal, bound for
Baltimore, in charge of some Germans who had mined it in the
vicinity of Mosquito Creek, Clearfield County, near the site of the
later town of Karthaus. A friendly conversation was started between
the party of Indians on shore and the boatmen, with the result that
the pilot of the ark, Christian Arndt, invited the redmen to climb
aboard.
The invitation being accepted with alacrity, the ark was steered
close to the bank, and the Indians, running out on an uprooted snag
which hung over the water, all leaped on the deck in safety. It made
a jolly party from that moment on. The time passed happily, and
many were the adventures and experiences en route. No stops of
any consequence were made except at the mouth of Mianquank
(Young Woman’s Creek), and Utchowig (now Lock Haven), until the
Isle of Que was reached, where other arks and flats and batteaux
were moored, and there were so many persons of similar pursuits
that a visit on dry land was in order.
There was much conviviality at the public houses of Selin’s Grove,
and the Germans amused themselves trying to carry on
conversations with the native Pennsylvania Dutchmen, dusky, dark-
featured individuals, who saw little affinity between themselves and
the fair, podgy “High Germans.” In wrestling and boxing matches,
throwing the long ball, running races, and lifting heavy weights, the
Germans were outclassed by the native mountaineers, but they took
their defeats philosophically. A shooting match was held, at which all
the Indians except Abram Antoine held aloof, but his marksmanship
was so extraordinary that he managed to tie the score for the up-
river team. This was a consolation for the Germans, and they left the
Isle of Que well satisfied with their treatment.
Other arks left their moorings at the same time, mostly loaded
with grain or manufactured lumber from the Christunn and the
Karoondinha, and the fleet was augmented by a batteau loaded with
buffalo hides, at the mouth of the West Mahantango. This was the
last consignment of Pennsylvania bison hides ever taken to
Harrisburg, the animals having been killed at their crossing over the
Firestone or Shade Mountains, the spring previous.
It was a picturesque sight to see the fleet of arks and other boats
coming down the noble river, the flood bank high, driving up flocks
of water birds ahead of them, while aloft like aeroplanes guarding a
convoy of transports, sailed several majestic American Eagles, ever
circling, ever drifting, and then soaring heavenward.
Out from the Juniata came several more arks, consequently the
idlers in front of the rivermen’s resorts at “The Ferry,” as some of the
old-timers still called Harrisburg, declared that they had never seen a
flood bring in a larger flotilla at one time. All, however, were anxious
to get in before the river closed up for the winter.
When the up-river ark with its load of Teutons and redmen made
its moorings for the night near the John Harris tree, they noticed
that all the flags were at half-mast–there were many displayed in
those days–and there was a Sunday calm among the crowds lolling
along the banks in the wintry sunshine.
“Who’s dead?” inquired Abram Antoine, as he stepped on the
dock; his naval training had made him alert to the language of the
flag.
“General Washington,” was the awed reply.
The big Stockbridge Indian’s jaw dropped, his lifetime ambition of
conversing with the “first in the hearts of his countrymen,” and the
purpose of the mission had been thwarted by a Higher Will.
Turning to the gaudy appareled chief behind him, he conveyed the
unhappy message. The Indians shook their heads so hard that their
silver earrings rattled, and were more genuinely sorry that
Washington was no more than the failure of their quest. All ashore,
they held a conclave under the old Mulberry tree, deciding that there
was no use to go any further, but would spend a day or two in the
thriving new town, Louisbourg or Harrisburg, whichever it was
proper to call it, and then return home. There was no use going to
Philadelphia again, and a new prophet sat in the chair of the Father
of his Country at the Nation’s Capitol.
The party then separated for the present, most of them hurrying
to the nearest tavern stands to refresh thirsts made deeper by the
sharp, fine air on the river. Abram Antoine stood undecided, one
hand resting on the trunk of the historic Mulberry, a crowd of small
boys watching him open-mouthed and wide-eyed, at a respectful
distance.
Pretty soon he was accosted by a very old, white-bearded
Dutchman, with a strip of soiled gray silk on the lapel of his coat,
which indicated that he was a veteran of the Royal American
Regiment of Riflemen that had figured at Fort Duquesne in 1758.
Abram Antoine had seen many such veterans in and about Pittsburg,
and held out his hand to the aged military man. The old soldier
signalled with his cane that the Indian come and sit with him on a
nearby bench, which he did, and they passed an hour pleasantly
together.
The conversation turned principally to soldiering, and then to
firearms, and all the ancient makes of rifles were discussed, and
their merits and demerits compared. The veteran allowed that the
best rifle he had ever owned was of Spanish make, the kind carried
by the Highlanders in the campaigns of 1758 and 1763; it was of
slim barrel, light and easily handled, and unerring if used by a
person of tolerable accuracy.
There was one gunsmith in the alley over yonder, a veteran of the
Revolution, named Adam Dunwicke, who made a rifle close to the
early Spanish pattern. It was the best firearm being turned out in
the State of Pennsylvania. The gunsmith, anyhow, was a man worth
knowing, as his shop was filled with arms of many makes and
periods, and he liked to talk with any one who was an enthusiast on
guns.
Abram Antoine was fired by what the veteran told him, and as it
was still early in the afternoon, asked if he would escort him thither.
It would be fine if he could get an extra good rifle as a souvenir of
his ill-starred trip to Mount Vernon. The old man had too much time
on his hands as it was, and was only too glad to pilot the redman to
the workshop. They made a unique looking pair together, the old
soldier, bent and hobbling along on his staff, the Indian, tall, erect,
and in the prime of life. Their high, aquiline noses, with piercing,
deep-set eyes, were their sole points of physical similarity.
When they reached the gunshop, in the dark, narrow alley that
ran out from Front Street, the veteran banged the grimy knocker,
and it was almost instantly opened by Dunwicke himself, a sturdy
man of medium height, who wore great mustaches, had on a leather
apron and his sleeves were rolled up, revealing the brawny biceps of
a smith.
Standing by the gunmaker, in the shadowy, narrow entry, was a
very pretty girl in a dark blue dress. She was as tall as the smith, but
very trim and slight, and her chestnut brown hair was worn low over
her ears, throwing into relief her pallid face, and the rather haunted,
tired look in her fine grey eyes, the marvelous smooth lines of her
chin and throat.
A third figure now emerged from the gloom, a small Negro boy, to
whom the girl was handing a letter, with her trembling white hands.
As the Indian, the veteran and the gunsmith withdrew into the
workroom, Abram could hear her saying to the lad, as she closed the
door by way of added emphasis: “Tell him to be sure and come.”
He could hear the footsteps of the girl as she went upstairs, and
henceforth he lost most of his interest in the question of obtaining a
rifle of the Spanish design. All his designs were elsewhere, and he
was glad when the smith suggested they visit another room on the
opposite side of the entry, to look at several sets of extra large horns
of the grey moose or elk, which had recently come down on an ark
from somewhere up Tiadaghton.
As they crossed the hallway, Abram Antoine looked up the flight of
stairs–there were three that he could make out–wondering on which
floor the fair apparition retired to; he presumed pretty near the roof,
as he had not heard her on the loose laid floor above the workshop.
When they returned to the gun shop, the Indian, knowing the
smith well enough by then, inquired who the lady was whom they
had seen in the entry.
“Oh, I don’t quite know what she is,” he replied. “She stays
upstairs, under the roof; you know that the upper floors of this
building are let for lodgers.”
Instantly a life’s story, tragic or unusual, grouped itself about his
image of the girl, and his heart was filled with yearning. He was
hoping against hope that she would come down again. He had no
excuse to go up, but several times while the smith was chatting with
the veteran of the Royal Americans, he managed to wander across
the hall, looking up the well towards the grimy skylight, and then
took another perfunctory glance at the huge antlers standing against
the wall. He prolonged his stay as long as he could, saying that he
liked to watch gunmakers at work, and having ordered and paid for
a costly rifle, he felt that his presence was justified.
It was well into the gloaming when “knock, knock, knock” on the
front door resounded through the hollow old building. Abram
Antoine’s blood ran cold; he could have shot the visitor if he was the
slender girl’s recalcitrant lover, but fervently hoped that, whoever it
was, would have the effect of bringing her downstairs.
True enough, before he could get to the door at the smith’s heel,
he heard the light, familiar footsteps, and the girl, trying to look
unconcerned, was the first to turn the lock.
It was only Simon Harper, a big, lean hunter from Linglestown,
over by the Blue Mountain, who had come to take delivery of a rifle
made to order.
“Oh, I am so disappointed,” said the girl, as she turned to run
upstairs.
The smith was escorting his swarthy customer into the shop.
Abram Antoine’s opportunity had come, if ever.
“Do you have the letting of the rooms upstairs?” he said, politely,
hat in hand.
The girl looked at him; it was probably the first time during the
afternoon that she had noticed his presence, so pre-occupied she
had been.
“No,” she said, softly; “the lady lives on the next landing, but I
saw her going out.”
Abraham was well aware how closely she had been watching that
doorway! “Are there any vacancies?”
The girl dropped her head as if in doubt about carrying on the
conversation further, then replied: “I think there are.” “said the
Indian.
Whether it was loneliness or desperation at the non-arrival of the
person to whom she had sent the letter, or the tall redman’s
superlative good looks and genteel demeanor–for a handsome man
can attempt what a plain one dare never aspire–at any rate without
another word, she turned and led the way up the long, steep stairs.
It was with no sense of surprise that she brought him to the top
of the house, into her own garret, with its two small dormer
windows which gave a view in the direction of the Narrows at Fort
Hunter, and the broad, majestic river. There was a narrow bed with a
soiled coverlet, a portmanteau, a brass candlestick, and two rush-
bottomed chairs, and nothing else in it. In those days lodgers
washed at the well in the back yard.
Both sat down as if they had known each other all their lives; the
frigid barrier of reserve of a few minutes earlier had broken down.
They were scarcely seated when the ominous “Clank, clank, clank,”
that the girl had been listening for so intently all afternoon,
resounded up the dismal vault of the stairway.
Casting a frightened look at the big Indian, as much as to say,
“What will he say if he finds you here?” she bounded out of the
room, descending the steps two or three at a time.
Abram Antoine did not take the hint to retire, if such was meant,
and sat stolidly in the high-backed, rush-bottomed chair, in the
unlighted room. It was only a few minutes until she returned, her
face red, all out of breath, carrying the same letter which he had
seen her hand to the colored boy earlier in the afternoon.
Welcome to our website – the perfect destination for book lovers and
knowledge seekers. We believe that every book holds a new world,
offering opportunities for learning, discovery, and personal growth.
That’s why we are dedicated to bringing you a diverse collection of
books, ranging from classic literature and specialized publications to
self-development guides and children's books.

More than just a book-buying platform, we strive to be a bridge


connecting you with timeless cultural and intellectual values. With an
elegant, user-friendly interface and a smart search system, you can
quickly find the books that best suit your interests. Additionally,
our special promotions and home delivery services help you save time
and fully enjoy the joy of reading.

Join us on a journey of knowledge exploration, passion nurturing, and


personal growth every day!

ebookmasss.com

You might also like