|
ServletContextListener.contextInitialized() выполнянется два раза
|
|||
---|---|---|---|
#18+
Всем привет! Приложение Spring boot. Создал класс реализующий ServletContextListener. Почему и в режиме Debug и в режиме Run метод contextInitialized(ServletContextEvent sce) выполняется два раза? При повторном выполнении контекст остается таким же, что и после первого выполнения метода. Это мешает тестированию приложения. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2020, 16:00 |
|
ServletContextListener.contextInitialized() выполнянется два раза
|
|||
---|---|---|---|
#18+
Molasar Всем привет! Приложение Spring boot. Создал класс реализующий ServletContextListener. Почему и в режиме Debug и в режиме Run метод contextInitialized(ServletContextEvent sce) выполняется два раза? При повторном выполнении контекст остается таким же, что и после первого выполнения метода. Это мешает тестированию приложения. Потому что контекст создается два раза, очевидно же? Как можно без кода, без аннотаций что-то вменяемое ответить? И вообще зачем спрашивать если можно продебажить? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2020, 16:13 |
|
ServletContextListener.contextInitialized() выполнянется два раза
|
|||
---|---|---|---|
#18+
забыл ник, contextInitialized - выводится дважды в консоле Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2020, 16:53 |
|
ServletContextListener.contextInitialized() выполнянется два раза
|
|||
---|---|---|---|
#18+
Приложение запускается под Tomcat автор . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.3.2.RELEASE) 2020-08-13 16:51:26.243 INFO 2404 --- [ost-startStop-1] com.example.demo.ServletInitializer : Starting ServletInitializer on A-PC with PID 2404 (C:\Dev\Code\Testing\JMX\InitializrSpringbootProject\target\demo-0.0.1-SNAPSHOT\WEB-INF\classes started by A in C:\Dev\apache-tomcat-8\bin) 2020-08-13 16:51:26.250 INFO 2404 --- [ost-startStop-1] com.example.demo.ServletInitializer : No active profile set, falling back to default profiles: default 2020-08-13 16:51:27.405 INFO 2404 --- [ost-startStop-1] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1042 ms 2020-08-13 16:51:28.080 INFO 2404 --- [ost-startStop-1] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor' 2020-08-13 16:51:28.363 INFO 2404 --- [ost-startStop-1] com.example.demo.ServletInitializer : Started ServletInitializer in 3.012 seconds (JVM running for 6.303) 13-Aug-2020 16:51:28.406 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDescriptor Deployment of deployment descriptor [C:\Dev\apache-tomcat-8\conf\Catalina\localhost\demo.xml] has finished in [5В 236] ms 13-Aug-2020 16:51:28.408 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Установка веб приложения РІ папку [C:\Dev\apache-tomcat-8\webapps\docs] contextInitialized 13-Aug-2020 16:51:28.449 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Dev\apache-tomcat-8\webapps\docs] has finished in [41] ms 13-Aug-2020 16:51:28.449 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Установка веб приложения РІ папку [C:\Dev\apache-tomcat-8\webapps\examples] 13-Aug-2020 16:51:28.734 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Dev\apache-tomcat-8\webapps\examples] has finished in [285] ms 13-Aug-2020 16:51:28.734 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Установка веб приложения РІ папку [C:\Dev\apache-tomcat-8\webapps\host-manager] 13-Aug-2020 16:51:28.764 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Dev\apache-tomcat-8\webapps\host-manager] has finished in [30] ms 13-Aug-2020 16:51:28.765 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Установка веб приложения РІ папку [C:\Dev\apache-tomcat-8\webapps\manager] 13-Aug-2020 16:51:28.799 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Dev\apache-tomcat-8\webapps\manager] has finished in [35] ms 13-Aug-2020 16:51:28.804 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8081"] 13-Aug-2020 16:51:28.820 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 5719 ms 2020-08-13 16:51:29.972 INFO 2404 --- [nio-8081-exec-9] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor' contextDestroyed 13-Aug-2020 16:51:30.485 INFO [http-nio-8081-exec-9] org.apache.catalina.startup.HostConfig.undeploy Undeploying context [/demo] 13-Aug-2020 16:51:30.496 INFO [http-nio-8081-exec-1] org.apache.catalina.startup.HostConfig.deployDescriptor Deploying deployment descriptor [C:\Dev\apache-tomcat-8\conf\Catalina\localhost\demo.xml] 13-Aug-2020 16:51:31.773 INFO [http-nio-8081-exec-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.3.2.RELEASE) 2020-08-13 16:51:32.666 INFO 2404 --- [nio-8081-exec-1] com.example.demo.ServletInitializer : Starting ServletInitializer on A-PC with PID 2404 (C:\Dev\Code\Testing\JMX\InitializrSpringbootProject\target\demo-0.0.1-SNAPSHOT\WEB-INF\classes started by A in C:\Dev\apache-tomcat-8\bin) 2020-08-13 16:51:32.670 INFO 2404 --- [nio-8081-exec-1] com.example.demo.ServletInitializer : No active profile set, falling back to default profiles: default 2020-08-13 16:51:33.465 INFO 2404 --- [nio-8081-exec-1] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 733 ms 2020-08-13 16:51:34.031 INFO 2404 --- [nio-8081-exec-1] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor' 2020-08-13 16:51:34.240 INFO 2404 --- [nio-8081-exec-1] com.example.demo.ServletInitializer : Started ServletInitializer in 2.204 seconds (JVM running for 12.18) contextInitialized 13-Aug-2020 16:51:34.254 INFO [http-nio-8081-exec-1] org.apache.catalina.startup.HostConfig.deployDescriptor Deployment of deployment descriptor [C:\Dev\apache-tomcat-8\conf\Catalina\localhost\demo.xml] has finished in [3В 758] ms 13-Aug-2020 16:51:34.263 INFO [http-nio-8081-exec-4] org.apache.catalina.util.LifecycleBase.start The start() method was called on component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/demo]] after start() had already been called. The second call will be ignored. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2020, 16:57 |
|
ServletContextListener.contextInitialized() выполнянется два раза
|
|||
---|---|---|---|
#18+
Точнее приложение запускается через NetBeans, сервер Tomcat ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2020, 17:00 |
|
ServletContextListener.contextInitialized() выполнянется два раза
|
|||
---|---|---|---|
#18+
В логах два старта SpringBootApplication. Вот и будет все по два раза. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2020, 18:13 |
|
ServletContextListener.contextInitialized() выполнянется два раза
|
|||
---|---|---|---|
#18+
mayton В логах два старта SpringBootApplication. Вот и будет все по два раза. Для чего происходит 2-ой запуск? Как сделать один запуск? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2020, 10:31 |
|
ServletContextListener.contextInitialized() выполнянется два раза
|
|||
---|---|---|---|
#18+
это Котяра Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
это Бутяра Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2020, 10:57 |
|
ServletContextListener.contextInitialized() выполнянется два раза
|
|||
---|---|---|---|
#18+
SpringBoot - это вобщем связующий клей для фреймворков. Он сам по себе мало чего делает. Но он может искусственно поднять Tomcat в качестве веб-контейнера для того чтоб обеспечить деятельность http-листенеров. Собственно пуск Томката всегда видно в логах. Только детализацию надо включить. Мы как-то поднимали голосование по веб-серверам и Томкат как эталонная реализация (и бесплатная) HTTP - занял у нас первое место по частоте использований. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2020, 18:01 |
|
ServletContextListener.contextInitialized() выполнянется два раза
|
|||
---|---|---|---|
#18+
Zzz79, чем старше ты будешь становиться - тем больше ты будешь искать простых решений сложных зада. SpringBoot - это сложый стек технологий. Хотя внешняя обёртка (то что называется бут) была создана специально чтобы облегчить процесс бут-страпа приложений от хеллоу-ворд до ентерпрайза. Те кто это делали - своего добились. К сожалению комплексность под капотом не ушла а осталась. И ты можешь очень долго использовать бут но при этом практически будешь не в состоянии пофиксить его-же внутреннию бутовую ошибку например. Тот факт что ты в восторге от бута - это просто внешнее эмоциональное состояние какраз от его внешнего дизайна. Не позволяй себе очаровываться. Инженер должен быть хладнокровным. Как анатом. Копни глубже. Почитай как и зачем он использует cglib например. Это интересная тема. Хорошо прокачивает общие знания. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2020, 19:05 |
|
ServletContextListener.contextInitialized() выполнянется два раза
|
|||
---|---|---|---|
#18+
Zzz79, какой я тебе олдскул? Тебе сорокет? Ну и я недалеко ушел. Так что нечего тут в молодого играть. Я прекрасно вижу твои трудности и как ты рассуждаешь. У тебя точка зрения менятеся от работы к работе. У тебя мудрость настанет тогда, когда перестанешь идеализировать Spring или "прятаться в домике" бизнес-кодера. Если хочешь расти в карьере - будешь учить bash, python, groovy, kotlin, scala, и тысячи диалектов конфигураций теже Докеры. И тот-же SQL учить придется. Будет задача перформанса. И некому ее решать. Будешь сам решать. Нет такого девопса который тебе SQL напишет. И нет такого архитектора который за тебя напишет конфигурации gradle, maven. И никто бинарные форматы сериализаций за тебя читать не будет. Ты должен уметь глазами читать hex-codes. Это полезный скил по жизни. Как у самурая - владение клинком. Так и у разработчика способность читать целые числа хотя-бы в трех системах счисления. И Linux знать надо чтоб обосновать и выбрать конфигурацию. Кто за тебя ее выберет? Заказчик что-ли? Он невкурсе? И амазон облако соптимизировать по биллинку тоже тебе надо. Видишь сколько всего надо? А ты хочешь отсидеться в кустах. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2020, 23:54 |
|
ServletContextListener.contextInitialized() выполнянется два раза
|
|||
---|---|---|---|
#18+
Zzz79 В принципе если ты знаешь историю- то поймешь ,что именно разделение труда и есть основной двигатель прогресса. Исторически разделение труда стартовало на относительно простых технологических процессах. Типа "девятнадцать операций для изготовления булавки". Только потом подтянулось разделение труда в инженерной и научной сфере, что позволило создавать неимоверно сложные процессы и технологии, которые уже невозможно уложить в голове отдельно взятого человека. Программирование, в некотором смысле, шло в обратном направлении: академически простые элементарные операции (машина Тьюринга - примитивна), которые сразу объединены в сложнейшие комплексы. Современные попытки "индустриализации" программирования - скорее попытки управлять этой сложностью, а не реальное разделение труда. Просто потому, что в "нормальной" индустрии даже простой рабочий неплохо понимает общий процесс: что, как, зачем и почему. А в программировании этого понимания нет до сих - большая и местами дурно пахнущая куча механик и эвристик: "исторически сложилось". ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 06:19 |
|
ServletContextListener.contextInitialized() выполнянется два раза
|
|||
---|---|---|---|
#18+
Molasar Точнее приложение запускается через NetBeans, сервер Tomcat ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 14:50 |
|
ServletContextListener.contextInitialized() выполнянется два раза
|
|||
---|---|---|---|
#18+
Zzz79 mayton Zzz79, какой я тебе олдскул? Тебе сорокет? Ну и я недалеко ушел. я то новая водлна - не успел застать конфигрустов слава богу) Ахахах. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 20:02 |
|
ServletContextListener.contextInitialized() выполнянется два раза
|
|||
---|---|---|---|
#18+
Zzz79 В некоторых конторах собственно ничего и не поменялось- бекэнд разраб в их понимании должен уметь и сервак настроить и порты прокинуть и Тимсити до кучи. В нормальных конторах,где процесс выстроен правильно такого просто априори быть не может,там дев опс выполняет свои задачи,фронт свои,бек свои. Во тип! не смог в коте приложение развернуть и поэтому решил что этим кто-то другой должен заниматься ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 20:54 |
|
ServletContextListener.contextInitialized() выполнянется два раза
|
|||
---|---|---|---|
#18+
Zzz79 В некоторых конторах ... В нормальных конторах ... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2020, 06:38 |
|
ServletContextListener.contextInitialized() выполнянется два раза
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Zzz79 В некоторых конторах ... В нормальных конторах ... Чем сильнее специализация, тем развитее экономика. Так что все норм. Раньше программисты, перед тем чем программировать паяли себе компьютер. :-) Понятно, что знать лучше чем не знать. Но если знаниями постоянно не пользоваться они забываются. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2020, 08:06 |
|
ServletContextListener.contextInitialized() выполнянется два раза
|
|||
---|---|---|---|
#18+
mad_nazgul Чем сильнее специализация, тем развитее экономика Ключевое в современной экономике - разделение труда. Специализация - (уже) пройденный этап. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2020, 10:30 |
|
ServletContextListener.contextInitialized() выполнянется два раза
|
|||
---|---|---|---|
#18+
А по моему, современному программисту просто не хватает философии. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2020, 11:07 |
|
ServletContextListener.contextInitialized() выполнянется два раза
|
|||
---|---|---|---|
#18+
Чтобы браться за философию надо бы подтянуть, для начала, общее образование. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2020, 13:18 |
|
ServletContextListener.contextInitialized() выполнянется два раза
|
|||
---|---|---|---|
#18+
Zzz79 сейчас на прод стенд выделяют даже в слабонагруженой системе как у нас 16 гиг озу-а Я вот вижу рабочие системы, где виртуальной машине выделено 4-8ГБ. И больше не будет. Вообще или в обозримом будущем. P.S. Зарубите уже на своём снобском носу, что не вы, а бизнес решает - сколько денег выделить на ресурсы. А уж сколько ресурсов вы сможете купить на эти деньги - уже совсем другая история. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2020, 13:57 |
|
ServletContextListener.contextInitialized() выполнянется два раза
|
|||
---|---|---|---|
#18+
Zzz79 Пример с волгой мне напомнил одного товарища,который до сих пор против ломбок,он как только эти анотации видит у его пар из ушей идет- тоже олд скул прогер далеко за 50 .Пытался с ним спорить,что все это тонны гетеров,сетеров и конструкторов и билдеров просто захламляют класс,делают его не читаемым- бесполезно обьяснять "там же все равно будет этот код") ИМХО lombok не особо нужен. Как минимум в IDEA и Eclipse можно создавать getter/setter и пр. через автогенерацию. Вместо lombok можно взять Kotlin. ;-) У lombok есть сайдэфекты, при работе со Spring [ [spoiler]url= ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2020, 14:12 |
|
ServletContextListener.contextInitialized() выполнянется два раза
|
|||
---|---|---|---|
#18+
mad_nazgul У lombok есть сайдэфекты, при работе со Spring ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2020, 14:22 |
|
ServletContextListener.contextInitialized() выполнянется два раза
|
|||
---|---|---|---|
#18+
Андрей Панфилов тратить час я так понимаю речь о 40-й минуте и дальше ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2020, 14:53 |
|
ServletContextListener.contextInitialized() выполнянется два раза
|
|||
---|---|---|---|
#18+
Андрей Панфилов очередные имбецилы? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2020, 15:41 |
|
|
start [/forum/topic.php?fid=59&msg=39990181&tid=2120666]: |
0ms |
get settings: |
23ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
506ms |
get tp. blocked users: |
2ms |
others: | 306ms |
total: | 924ms |
0 / 0 |