Size: a a a

Spring Framework and more

2019 October 11

KS

Kamo Spertsyan in Spring Framework and more
maksim gavrilov.
прямо в базе искать плохая идея.
обычно используется специализированные решения для полнотекстового поиска, solr , elastic search, и пр
Окей, спасибо, прочитаю
источник
2019 October 12

М

Максим in Spring Framework and more
Подскажите пожалуйста. Написал на спринге прогу, там просто шедуллер вызывается раз в 10 минут. После 10 часов работы, консоль, где где запущен сервер, начинает дико грузить процессор, хотя там ничего не происходит, из-за чего это может быть?
источник

М

Михаил in Spring Framework and more
Максим
Подскажите пожалуйста. Написал на спринге прогу, там просто шедуллер вызывается раз в 10 минут. После 10 часов работы, консоль, где где запущен сервер, начинает дико грузить процессор, хотя там ничего не происходит, из-за чего это может быть?
Сферический конь в вакууме) а что делает этот шедулер?
источник

М

Максим in Spring Framework and more
просто посылает http запрос
источник

М

Михаил in Spring Framework and more
Надо посмотреть какая нить приложения (если в нем дело конечно) отъедает процессор
источник

М

Михаил in Spring Framework and more
Часто бывает gc яростно пытается убирать мусор и его нити грузят проц на 100 процентов
источник

М

Максим in Spring Framework and more
пытается но не может?
источник

М

Максим in Spring Framework and more
может такое быть из-за того что я connection не закрыл мб?
источник

М

Максим in Spring Framework and more
суть в том что сейчас я перезапустил и оно вообще не грузит проц в интервалах работы шедуллера , 0%. А  чем дольше поработает тем больше грузит
источник

М

Михаил in Spring Framework and more
Вот когда будет грузить надо посмотреть снова
источник

М

Михаил in Spring Framework and more
В htop вроде видно детализацию по создаваемым нитям процесса
источник

KS

Kamo Spertsyan in Spring Framework and more
Ребят, подскажите, пожалуйста, почему удаление в таблице не работает?

Есть сущность "аватар магазина", которая линкует фотку к магазину.
@Entity
class ShopAvatar(
       @OneToOne @MapsId
       val image: Image = Image(),
       @Id @GeneratedValue(generator = "SharedPrimaryKeyGenerator")
       @GenericGenerator(name = "SharedPrimaryKeyGenerator", strategy = "foreign", parameters = [Parameter(name = "property", value = "image")])
       @Column(columnDefinition = "BINARY(16)")
       val uuid: UUID = defaultUuid(),
       @OneToOne @JsonIgnore
       var shop: Shop? = null
)

Репозиторий:
@R
epository
interface ShopAvatarRepository: JpaRepository<ShopAvatar, UUID> {

   fun deleteAllByShop(shop: Shop)
}
И
вот метод в сервисе, который линкует:
@Tra
nsactional
override fun linkAvatarToShop(link: String, shop: Shop): ShopAvatar {
   val image = findImageEntity(link)
   shop.avatar?.let {
       imageRepository.delete(it.image)
   }

   shopAvatarRepository.deleteAllByShop(shop)

   val linkedAvatar = ShopAvatar(image = image, shop = shop)
   return shopAvatarRepository.save(linkedAvatar)
}

Ес
ли до выполнения этого метода в таблице уже был залинкованный аватар к магазину, он не удалится..
источник

KS

Kamo Spertsyan in Spring Framework and more
Я пробовал ещё делать так:
shopAvatarRepository.findAllByShop().forEach { shopAvatarRepository.delete(it) }


результат тот же
источник

KS

Kamo Spertsyan in Spring Framework and more
при этом сами аватарки во твором случае находятся
источник

KS

Kamo Spertsyan in Spring Framework and more
Нашёл проблему
источник

KS

Kamo Spertsyan in Spring Framework and more
https://stackoverflow.com/a/52525033/8506507
вот тут круто объясняется
источник

KS

Kamo Spertsyan in Spring Framework and more
В моём случае надо было добавить обнуление переменной перед удалением
shop.avatar = null
shopAvatarRepository.deleteAllByShop(shop)
источник

Ar

Arseny -> r2d2 in Spring Framework and more
@OneToOne @JsonIgnore
       var shop: Shop? = null

(orphanRemoval)
источник

A

Andrii in Spring Framework and more
Максим
Подскажите пожалуйста. Написал на спринге прогу, там просто шедуллер вызывается раз в 10 минут. После 10 часов работы, консоль, где где запущен сервер, начинает дико грузить процессор, хотя там ничего не происходит, из-за чего это может быть?
Была похожая проблема, небольшой rest/soap сервис на спринг-бут вижирал ресурсы, запущенный из cmd. Отключение логов в консоль помогло
источник

A

Andrii in Spring Framework and more
Если под виндой - желательно запускать как сервис
источник