Skip to content

Commit f035cb2

Browse files
authored
Merge pull request #73 from TeamDMU/debug/jsoup-memory-leak
[TEST] Spring Prototype Bean์˜ ๋ฌด๊ฑฐ์šด ์ •๋„๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•จ
2 parents 6df7b03 + 2f63382 commit f035cb2

3 files changed

Lines changed: 19 additions & 17 deletions

File tree

โ€Ždmforu-admin/src/main/kotlin/com/dmforu/admin/config/ApplicationConfig.ktโ€Ž

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -50,25 +50,25 @@ class ApplicationConfig {
5050
return JsoupHtmlLoader()
5151
}
5252

53-
// @Scope("prototype")
54-
// @Bean
55-
// fun departmentNoticeParser(): DepartmentNoticeParser {
56-
// return DepartmentNoticeParser(htmlLoader = JsoupHtmlLoader())
57-
// }
58-
//
59-
// @Scope("prototype")
60-
// @Bean
61-
// fun universityNoticeParser(): UniversityNoticeParser {
62-
// return UniversityNoticeParser(htmlLoader = JsoupHtmlLoader())
63-
// }
53+
@Scope("prototype")
54+
@Bean
55+
fun departmentNoticeParser(): DepartmentNoticeParser {
56+
return DepartmentNoticeParser(htmlLoader = jsoupHtmlLoader())
57+
}
58+
59+
@Scope("prototype")
60+
@Bean
61+
fun universityNoticeParser(): UniversityNoticeParser {
62+
return UniversityNoticeParser(htmlLoader = jsoupHtmlLoader())
63+
}
6464

6565
@Bean
6666
fun dietParser(): DietParser {
67-
return DietParser(htmlLoader = JsoupHtmlLoader())
67+
return DietParser(htmlLoader = jsoupHtmlLoader())
6868
}
6969

7070
@Bean
7171
fun scheduleParser(): ScheduleParser {
72-
return ScheduleParser(htmlLoader = JsoupHtmlLoader())
72+
return ScheduleParser(htmlLoader = jsoupHtmlLoader())
7373
}
7474
}

โ€Ždmforu-admin/src/main/kotlin/com/dmforu/admin/scheduler/crawling/DepartmentNoticeCrawlingService.ktโ€Ž

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ import org.springframework.stereotype.Service
1111

1212
@Service
1313
class DepartmentNoticeCrawlingService(
14-
private val htmlLoader: JsoupHtmlLoader,
14+
// private val htmlLoader: JsoupHtmlLoader,
15+
private val objectProvider: ObjectProvider<DepartmentNoticeParser>,
1516
private val noticeReader: NoticeReader,
1617
private val noticeService: NoticeService
1718
) {
@@ -23,7 +24,7 @@ class DepartmentNoticeCrawlingService(
2324
}
2425

2526
private fun crawlMajorDepartment(major: DepartmentCrawlingPath) {
26-
val parser = DepartmentNoticeParser(htmlLoader)
27+
val parser = objectProvider.getObject()
2728
val log: Logger = LoggerFactory.getLogger(DepartmentNoticeParser::class.java)
2829
log.info("${major} ์Šคํฌ๋ž˜ํ•‘ ์‹œ์ž‘")
2930

โ€Ždmforu-admin/src/main/kotlin/com/dmforu/admin/scheduler/crawling/UniversityNoticeCrawlingService.ktโ€Ž

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,16 @@ import org.springframework.stereotype.Service
1212

1313
@Service
1414
class UniversityNoticeCrawlingService(
15-
private val htmlLoader: JsoupHtmlLoader,
15+
// private val htmlLoader: JsoupHtmlLoader,
16+
private val objectProvider: ObjectProvider<UniversityNoticeParser>,
1617
private val noticeService: NoticeService,
1718
private val noticeReader: NoticeReader,
1819
) {
1920

2021
fun addRecentUniversityNotice() {
2122
val log: Logger = LoggerFactory.getLogger(UniversityNoticeCrawlingService::class.java)
2223
log.info("๋Œ€ํ•™ ์Šคํฌ๋ž˜ํ•‘ ์‹œ์ž‘")
23-
val parser = UniversityNoticeParser(htmlLoader)
24+
val parser = objectProvider.getObject()
2425
val maxNumber: Int? = noticeReader.findMaxNumberByType("๋Œ€ํ•™")
2526
val currentMaxNumber = maxNumber ?: 0
2627

0 commit comments

Comments
ย (0)