|
Совет по архитектуре Spring MVC
|
|||
---|---|---|---|
#18+
PetroNotC Sharpcapfreedom228 Код: java 1.
получается, нас в контексте задачи не интересует параметер settings1 или 2... Это твои проблемы. ЗАЧЕМ ЗАДАНИЕ ПРИВЯЗЫВАТЬ К КАССЕ? Я в курсе, что это мои проблемы. Клиент формирует задание для конкретной кассы, такова бизнес логика. Заданием может быть например перезагрузка кассы, или обновление каких то настроек или печать чека, все это относится к конкретной кассе. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2019, 12:52 |
|
Совет по архитектуре Spring MVC
|
|||
---|---|---|---|
#18+
PetroNotC Sharpнет). Если в переменной settings одна и та же КассаИменемПети) ну да если PetroNotC Sharpполучается, нас в контексте задачи не интересует параметер settings1 или 2... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2019, 12:53 |
|
Совет по архитектуре Spring MVC
|
|||
---|---|---|---|
#18+
capfreedom228, Наконец то ты сформировал все ТЗ. Решение в моем первом посте. Гадал на кофейной гуще. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2019, 13:04 |
|
Совет по архитектуре Spring MVC
|
|||
---|---|---|---|
#18+
PetroNotC Sharpcapfreedom228, Наконец то ты сформировал все ТЗ. Решение в моем первом посте. Гадал на кофейной гуще. Спасибо, но это абстрактное решение. В нем ни слова про Spring. Вопрос то был именно в том, чтобы выяснить, как в рамках спринга это красиво реализовать. Или выяснить, что стандартные компоненты не подходят и надо либо искать другие, либо писать свои. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2019, 13:19 |
|
Совет по архитектуре Spring MVC
|
|||
---|---|---|---|
#18+
capfreedom228В нем ни слова про Spring.а задача не для спринга)) Что поделать. Тут противоречие. Либо просто и логично, либо спринг, будь он неладен)) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2019, 13:25 |
|
Совет по архитектуре Spring MVC
|
|||
---|---|---|---|
#18+
capfreedom228, Стоп. Спинг MVC это ГУИ. Образец - Цветочный магазин. И не мешай сюда свои кассы убогие. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2019, 13:27 |
|
Совет по архитектуре Spring MVC
|
|||
---|---|---|---|
#18+
Sergunkacapfreedom228пропущено... В таске зафиксирован id кассы, т.е. каждый таск предназначен конкретной кассе. Как то уж совсем тупенько. Вот к примеру мой учебный пример на основе пулэкзекьютора написанный пятью годам ранее. Классическая задача Дейкстры - спящий парикмахер https://vyatkins.wordpress.com/2013/12/21/sleeping-barber-problem/ https://github.com/SVyatkin/KafkaSleepingBarberProblem/blob/master/src/main/java/com/sleeping/barber/blockingQueue/BlockingQueueSleepingBarbersPoolExecutor.java Нет там большой проблемы передать параметр Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34.
Что там за таск такой? Код покажи? Заданием может быть например перезагрузка кассы, или обновление каких то настроек или печать чека, все это относится к конкретной кассе. Вот например задание на печать чека: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2019, 13:30 |
|
Совет по архитектуре Spring MVC
|
|||
---|---|---|---|
#18+
capfreedom228как в рамках спринга это красиво реализовать что мешает заинжектить applicationcontext и инстанциировать нужное кол-во бинов-касс? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2019, 13:54 |
|
Совет по архитектуре Spring MVC
|
|||
---|---|---|---|
#18+
chpashacapfreedom228как в рамках спринга это красиво реализовать что мешает заинжектить applicationcontext и инстанциировать нужное кол-во бинов-касс? Думаю ничего не мешает, я только толкового примера не нашел как это делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2019, 15:44 |
|
Совет по архитектуре Spring MVC
|
|||
---|---|---|---|
#18+
PetroNotC Sharpcapfreedom228, Стоп. Спинг MVC это ГУИ. Образец - Цветочный магазин. И не мешай сюда свои кассы убогие. Если ГУИ в твоем мире выглядит как json, то да ГУИ. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2019, 15:49 |
|
Совет по архитектуре Spring MVC
|
|||
---|---|---|---|
#18+
capfreedom228PetroNotC Sharp, Post из фронта прилетает из браузера. capfreedom228Если ГУИ в твоем мире выглядит как json, то да ГУИ. У меня с памятью все отлично. А у вас? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2019, 15:53 |
|
Совет по архитектуре Spring MVC
|
|||
---|---|---|---|
#18+
capfreedom228Думаю ничего не мешает, я только толкового примера не нашел как это делать 1) scope = prototype у бина 2) инжектим ApplicationContext в то место, где бины создавать надо, context.getBean(DeviceWorker.class) дальше как по архитектуре удобнее - либо с помощью async, либо вручную с помощью Executors ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2019, 16:22 |
|
Совет по архитектуре Spring MVC
|
|||
---|---|---|---|
#18+
chpashacapfreedom228Думаю ничего не мешает, я только толкового примера не нашел как это делать 1) scope = prototype у бина 2) инжектим ApplicationContext в то место, где бины создавать надо, context.getBean(DeviceWorker.class) дальше как по архитектуре удобнее - либо с помощью async, либо вручную с помощью Executors Спасибо, попробую. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2019, 17:51 |
|
Совет по архитектуре Spring MVC
|
|||
---|---|---|---|
#18+
chpashacapfreedom228Думаю ничего не мешает, я только толкового примера не нашел как это делать 1) scope = prototype у бина 2) инжектим ApplicationContext в то место, где бины создавать надо, context.getBean(DeviceWorker.class) дальше как по архитектуре удобнее - либо с помощью async, либо вручную с помощью Executors Это антипаттерн, дети, не делайте так. Для просветления смотреть Жеку Борисова ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2019, 19:55 |
|
Совет по архитектуре Spring MVC
|
|||
---|---|---|---|
#18+
fixxerЭто антипаттерн, дети с удовольствием посмотрю на более кошерный способ создать N экземпляров в рантайме. дядя. fixxerДля просветления смотреть какая минута? fixxerЖеку Борисова Жеке привет ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2019, 22:16 |
|
Совет по архитектуре Spring MVC
|
|||
---|---|---|---|
#18+
fixxerсороковая минутаобъяснение про контекст имело смысл во времена xml - говорить о том, что у нас в классе появилась явная зависимость от spring при наличии N аннотаций того же спринга в этом же классе, серьезно? Но метод с абстрактным классом действительно неплох. Я даже когда-то о нем помнил ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2019, 00:13 |
|
Совет по архитектуре Spring MVC
|
|||
---|---|---|---|
#18+
chpashafixxerсороковая минутаобъяснение про контекст имело смысл во времена xml - говорить о том, что у нас в классе появилась явная зависимость от spring при наличии N аннотаций того же спринга в этом же классе, серьезно? Но метод с абстрактным классом действительно неплох. Я даже когда-то о нем помнил Вообще method-injection был с первой версии спринга (когда он еще назывался interface21). За 13 лет использования спринга в проектах, мне такой способ di ни разу не понадобился. Написания собственного скопа так же ни разу не понадобилось, вполне хватало (protoype, singleton) + 3 которые добавлены в SpringMVC. Вообщем просветления при просмотре не наступило. Вообще если бы в проекте было бы > 50 бинов с method-injection, то я бы как раз такой вариант посчитал за антипатерн. Конфигурационного кода много, а только от него близко к нулю. Ну и вариант с переопределением scope, тоже так себе. В Spring-е такое можно сделать кучей способов. Я бы наверно выбрал просто реализовав @Component ColorProvider и просто заинжектил бы его. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2019, 14:47 |
|
Совет по архитектуре Spring MVC
|
|||
---|---|---|---|
#18+
Нашел кстати еще 2 вариации на тему lookup-метода, собственно @Lookup анотация (по сути тоже самое без явного конфига) и паттерн Provider (через ObjectFactoryCreatingFactoryBean или ProviderCreatingFactoryBean). Последний вариант мне нравится больше всего, т.к. в нем меньше всего магии. когда видишь вариант с Lookup год спустя Код: java 1. 2. 3. 4. 5. 6. 7. 8.
то можно слегка прифигеть, что за чудеса тут творятся. с абстрактным методом чутка лучше, т.к. можно скакнуть к его имплементации и понять, что происходит. Но имхо лучший вариант, если мы инжектим фабрику объектов. К счастью случай действительно довольно редкий. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2019, 15:49 |
|
|
start [/forum/topic.php?fid=59&msg=39867862&tid=2121100]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 144ms |
0 / 0 |