Skip to content

Commit 3bd115e

Browse files
committed
perf(SitemapController): reduce number of calls of synchronized print() method by using StringBuilder.
A little related to #1438
1 parent aedfa12 commit 3bd115e

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

src/main/java/ru/mystamps/web/feature/site/SitemapController.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,7 @@ public void generateSitemapXml(HttpServletResponse response) {
6767
writer.print(INDEX_URL_ENTRY);
6868

6969
for (SitemapInfoDto item : seriesService.findAllForSitemap()) {
70-
writer.print("<url><loc>");
71-
writer.print(createLocEntry(item));
72-
writer.print("</loc><lastmod>");
73-
writer.print(createLastModEntry(dateFormatter, item));
74-
writer.print("</lastmod></url>\n");
70+
writer.print(createUrlEntry(dateFormatter, item));
7571
}
7672

7773
writer.print("</urlset>\n");
@@ -80,6 +76,15 @@ public void generateSitemapXml(HttpServletResponse response) {
8076
}
8177
}
8278

79+
private static String createUrlEntry(DateFormat dateFormatter, SitemapInfoDto item) {
80+
return new StringBuilder("<url><loc>")
81+
.append(createLocEntry(item))
82+
.append("</loc><lastmod>")
83+
.append(createLastModEntry(dateFormatter, item))
84+
.append("</lastmod></url>\n")
85+
.toString();
86+
}
87+
8388
private static String createLocEntry(SitemapInfoDto item) {
8489
return SiteUrl.PUBLIC_URL
8590
+ SeriesUrl.INFO_SERIES_PAGE.replace("{id}", String.valueOf(item.getId()));

0 commit comments

Comments
 (0)