<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress.com" -->
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"><url><loc>https://neiljbrown.com/2016/06/28/introducing-json-schema/</loc><lastmod>2025-01-18T22:07:42+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://neiljbrown.com/2013/11/25/designing-and-implementing-a-restful-resource-model/</loc><lastmod>2024-04-16T09:40:25+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://neiljbrown.com/2013/08/26/versioning-restful-web-apis/</loc><lastmod>2024-04-16T09:04:56+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://neiljbrown.com/2015/12/30/amazon-api-gateway-whats-it-all-about/</loc><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2015/12/amazon-api-gateway-logo.png</image:loc><image:title>amazon-api-gateway-logo</image:title></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2015/12/amazon-api-gateway-context-diagram.png</image:loc><image:title>amazon api gateway - context diagram</image:title></image:image><lastmod>2024-03-07T09:56:48+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://neiljbrown.com/2016/02/27/measuring-api-throughput-using-jmeter/</loc><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2016/02/jmeter-response-times-over-time-graph.png</image:loc><image:title>jmeter-response-times-over-time-graph</image:title><image:caption>JMeter - Response Times over Time graph</image:caption></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2016/02/jmeter-throughput-per-sec-graph.png</image:loc><image:title>jmeter-throughput-per-sec-graph</image:title><image:caption>JMeter - Throughput per second graph</image:caption></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2016/02/jmeter-test-plan-throughput-shaping-timer.png</image:loc><image:title>jmeter-test-plan-throughput-shaping-timer</image:title><image:caption>JMeter Test Plan - Throughput Shaping Timer</image:caption></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2016/02/jmeter-throughput-shaping-timer-required-throughput-graph.png</image:loc><image:title>jmeter-throughput-shaping-timer-required-throughput-graph</image:title><image:caption>JMeter - Throughput Shaping Timer - Required Throughput Graph</image:caption></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2016/02/jmeter-throughput-shaping-timer-schedule.png</image:loc><image:title>jmeter-throughput-shaping-timer-schedule</image:title><image:caption>JMeter Throughput Shaping Timer - Schedule</image:caption></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2016/02/jmeter-test-plan-constant-throughput-timer.png</image:loc><image:title>jmeter-test-plan-constant-throughput-timer</image:title></image:image><lastmod>2023-11-01T15:21:52+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://neiljbrown.com/2023/03/25/java-20-whats-included-and-is-it-worth-adopting/</loc><lastmod>2023-04-01T17:12:04+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://neiljbrown.com/2022/07/23/preparing-for-java-virtual-threads/</loc><lastmod>2022-07-23T17:11:36+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://neiljbrown.com/2021/11/06/java-17-is-here-and-set-for-mass-adoption/</loc><lastmod>2021-11-06T17:14:42+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://neiljbrown.com/2020/10/09/java-15-is-generally-available-ga/</loc><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2020/10/15.png</image:loc><image:title>15</image:title></image:image><lastmod>2021-08-09T13:43:20+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://neiljbrown.com/2019/04/06/java-12-new-features-and-adoption-considerations/</loc><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2019/04/java12.png</image:loc><image:title>java12</image:title></image:image><lastmod>2019-10-18T10:39:09+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://neiljbrown.com/2019/04/27/investigating-solutions-for-serverless-spring-microservices-part-1/</loc><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2019/04/aws-logo-icon-transparent.png</image:loc><image:title>aws-logo-icon-transparent</image:title></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2019/05/spring-java-lambda-transparent.png</image:loc><image:title>spring-java-lambda-transparent</image:title></image:image><lastmod>2019-05-25T15:46:20+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://neiljbrown.com/2018/11/10/java-11-new-features-code-examples-support/</loc><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2018/10/duke_java_mascot_java_11.png</image:loc><image:title>Duke_(Java_mascot)_Java_11</image:title><image:caption>Java 11</image:caption></image:image><lastmod>2019-03-16T16:32:08+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://neiljbrown.com/2018/10/27/oracles-recent-changes-to-java-jdk-overview-impact-advice/</loc><lastmod>2023-12-19T08:45:57+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://neiljbrown.com/2018/08/11/java-10-new-features-code-examples-support/</loc><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2018/08/java10-logo.png</image:loc><image:title>java10-logo</image:title></image:image><lastmod>2018-09-29T17:44:57+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://neiljbrown.com/2017/10/23/java-9-features-examples-upgrade-planning/</loc><lastmod>2018-09-29T17:16:27+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://neiljbrown.com/2016/12/03/improving-log-aggregation-search-for-application-services/</loc><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2018/08/kibana-example-log-search-result.png</image:loc><image:title>kibana-example-log-search-result</image:title></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2018/08/kibana-custom-service-log-dashboard-2.png</image:loc><image:title>kibana-custom-service-log-dashboard-2</image:title></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2018/08/kibana-custom-service-log-dashboard-1.png</image:loc><image:title>kibana-custom-service-log-dashboard-1</image:title></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2018/08/elk-stack-implementation-of-logging-infrastructure.png</image:loc><image:title>elk-stack-implementation-of-logging-infrastructure</image:title></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2018/08/service-logging-infrastructure-logical-architecture.png</image:loc><image:title>service-logging-infrastructure-logical-architecture</image:title></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2018/08/log-analyzer.png</image:loc><image:title>log-analyzer</image:title></image:image><lastmod>2018-08-26T10:42:14+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://neiljbrown.com/2018/07/23/soak-testing-new-services-on-the-jvm-why-and-how/</loc><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2018/07/visualvm-snapshot.png</image:loc><image:title>visualvm-snapshot</image:title></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2018/07/soak-test-architecture.png</image:loc><image:title>soak-test-architecture</image:title></image:image><lastmod>2018-07-23T20:51:38+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://neiljbrown.com/2017/08/26/evaluating-message-brokers-amazon-sqs/</loc><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2017/08/which-message-broker-sqs.png</image:loc><image:title>which-message-broker-sqs</image:title></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2017/08/amazon-sqs-web-console.png</image:loc><image:title>amazon-sqs-web-console</image:title></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2017/08/amazon-sqs-distributed-queue.png</image:loc><image:title>amazon-sqs-distributed-queue</image:title></image:image><lastmod>2018-08-20T14:57:36+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://neiljbrown.com/2017/05/13/message-broker-or-bus-whats-the-difference/</loc><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2017/05/message-bus-toplogy.png</image:loc><image:title>message-bus-toplogy</image:title></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2017/05/hub-and-spoke-topology.png</image:loc><image:title>hub-and-spoke-topology</image:title></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2017/05/message-broker-mediating-collaboration.png</image:loc><image:title>message-broker-mediating-collaboration</image:title></image:image><lastmod>2023-03-03T11:51:50+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://neiljbrown.com/2016/11/25/designing-message-consumer-error-handler-for-amazon-sqs/</loc><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2016/11/amazon-sqs-dlq-redrive-policy-settings.png</image:loc><image:title>amazon-sqs-dlq-redrive-policy-settings</image:title></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2016/11/amazon-sqs-visibility-timeout.png</image:loc><image:title>amazon-sqs-visibility-timeout</image:title></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2016/11/amazon-sqs-logo.jpeg</image:loc><image:title>amazon-sqs-logo</image:title></image:image><lastmod>2016-11-25T15:37:39+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://neiljbrown.com/2016/08/13/messaging-consumption-rate-management/</loc><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2016/08/rate-limited-message-consumer-sequence-diagram.png</image:loc><image:title>Rate Limited Message Consumption</image:title></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2016/08/rate-limiting-tokens-per-interval.png</image:loc><image:title>Rate Limiting</image:title></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2016/08/solution-overview.png</image:loc><image:title>Solution Overview</image:title></image:image><lastmod>2016-11-25T15:31:40+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://neiljbrown.com/2016/09/25/json-schema-part-2-automating-json-validation-tests/</loc><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2016/09/json-schema-org-logo.png</image:loc><image:title>json-schema-org-logo</image:title><image:caption>json-schema.org</image:caption></image:image><lastmod>2016-09-25T21:11:35+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://neiljbrown.com/2015/10/04/selecting-a-modern-stack-for-building-deploying-microservices-on-the-jvm/</loc><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2015/10/hypervisor-and-docker-comparison.png</image:loc><image:title>hypervisor and docker comparison</image:title></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2015/10/new-software-stack-packaging.png</image:loc><image:title>new software stack - packaging</image:title></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2015/10/new-software-stack-java-8-spring-boot.png</image:loc><image:title>new software stack - java 8 spring boot</image:title></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2015/10/current-deploy-and-runtime-logical-view.png</image:loc><image:title>current deploy and runtime logical view</image:title></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2015/10/current-software-stack.png</image:loc><image:title>current software stack</image:title></image:image><lastmod>2015-10-04T15:58:05+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://neiljbrown.com/2015/01/17/designing-and-building-a-rest-api-client/</loc><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2015/01/travis-ci-buidl-passing-badge.png</image:loc><image:title>travis-ci-buidl-passing-badge</image:title></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2015/01/class-diagram-spring-implementation-classes.png</image:loc><image:title>class diagram - spring implementation classes</image:title></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2015/01/class-diagram-major-interface-classes.png</image:loc><image:title>class diagram - major interface classes</image:title></image:image><image:image><image:loc>https://neiljbrown.com/wp-content/uploads/2015/01/package-diagram-main-packages.png</image:loc><image:title>package diagram - main packages</image:title></image:image><lastmod>2015-04-05T11:52:04+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://neiljbrown.com/2014/08/31/java-8-examples-of-the-major-new-language-features/</loc><lastmod>2014-10-04T16:46:16+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://neiljbrown.com/2012/12/29/first-steps-to-scala/</loc><lastmod>2013-12-23T14:03:30+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://neiljbrown.com/about/</loc><lastmod>2013-11-25T17:41:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.6</priority></url><url><loc>https://neiljbrown.com/legal-disclaimer/</loc><lastmod>2013-09-04T20:53:25+00:00</lastmod><changefreq>weekly</changefreq><priority>0.6</priority></url><url><loc>https://neiljbrown.com</loc><changefreq>daily</changefreq><priority>1.0</priority><lastmod>2025-01-18T22:07:42+00:00</lastmod></url></urlset>
