powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Объекты, локальные в потоке
10 сообщений из 35, страница 2 из 2
Объекты, локальные в потоке
    #38745924
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovЯ понял, но в лог-файле нет ни логгеров ни ООП - только текстовые строки.
это уже 3-я хотелка. И она вроде решается тоже.
У глассфиша уровни сделаны банально. Разметкой в файле.
Показ в вебе только одна строка. При клике - разворот стека
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
[#|2014-08-16T11:46:06.984+0200|SEVERE|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=41;_ThreadName=Thread-2;|Exception while invoking class com.sun.enterprise.web.WebApplication start method
java.lang.Exception: java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.RuntimeException: java.util.zip.ZipException: error in opening zip file
	at com.sun.enterprise.web.WebApplication.start(WebApplication.java:138)
	at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130)
	at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269)
	at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:301)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461)
	at com.sun.enterprise.v3.server.ApplicationLoaderService.processApplication(ApplicationLoaderService.java:375)
	at com.sun.enterprise.v3.admin.adapter.InstallerThread.load(InstallerThread.java:210)
	at com.sun.enterprise.v3.admin.adapter.InstallerThread.run(InstallerThread.java:108)
|#]
...
Рейтинг: 0 / 0
Объекты, локальные в потоке
    #38745925
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяа откуда приходят http-запросы?
т.е. тебе надо организовать только одно звено?Да. Маленькая шестерёнка большого механизма.
Причём минимальная "рабочая в тестовых условиях" реализация много проще того, что я делаю
...
Рейтинг: 0 / 0
Объекты, локальные в потоке
    #38745926
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,
OK
удачи!
Наиболее интересна дописка логировщика под логи своих объектов. IMHO
...
Рейтинг: 0 / 0
Объекты, локальные в потоке
    #38745934
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123У глассфиша уровни сделаны банально. Разметкой в файле.
Показ в вебе только одна строка. При клике - разворот стека
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
[#|2014-08-16T11:46:06.984+0200|SEVERE|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=41;_ThreadName=Thread-2;|Exception while invoking class com.sun.enterprise.web.WebApplication start method
java.lang.Exception: java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.RuntimeException: java.util.zip.ZipException: error in opening zip file
	at com.sun.enterprise.web.WebApplication.start(WebApplication.java:138)
	at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130)
	at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269)
	at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:301)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461)
	at com.sun.enterprise.v3.server.ApplicationLoaderService.processApplication(ApplicationLoaderService.java:375)
	at com.sun.enterprise.v3.admin.adapter.InstallerThread.load(InstallerThread.java:210)
	at com.sun.enterprise.v3.admin.adapter.InstallerThread.run(InstallerThread.java:108)
|#]

Вполне стандартный пример малоудачной реализации протоколирования - если "зип-файл еггог" за пределами нашего контроля и встречается более-менее регулярно, то стек будет всегда один и тот же, а значит вся его трасса - ненужный мусор.
Собственно, трасса интересна, в основном тогда, когда возникают (под)типы или java.lang.Exception или java.lang.RuntimeException, которых мы не предвидели - во всех остальных случаях событие является информацией или для администратора системы у клиента или для службы техподдержки у разработчика
...
Рейтинг: 0 / 0
Объекты, локальные в потоке
    #38745937
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,
конечно. Но тут аналитикой программист не должен заморачиваться.
Я пишу одной строкой
log.Error(e) - он сам стек разворачивает
и он мне всё выводит.
Аналитику тут трудно сделать. Например, та ошибка была из за владельца файла (root) вместо того кто пытался его распаковать )))).
Так, что - делай логи подробней и не мудрствуй особо.
))
...
Рейтинг: 0 / 0
Объекты, локальные в потоке
    #38745941
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123конечно. Но тут аналитикой программист не должен заморачиватьсяМинимальной - должен. Пусть даже не программист, а постановщик/аналитик.
Если вернуться к сервлету, то технической необходимости в try-блоке нет, т.к. спецификация исключений метода service предусматривает IOException и контейнер его обрабатывает. Но при этом теряется информация об IP-адресе клиента, а это может быть существенно при разборках типа: "Ваша ... система не работает!". Глюки приложений и сетевого оборудования бывают весьма удивительны
...
Рейтинг: 0 / 0
Объекты, локальные в потоке
    #38745946
zalexaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,
Попахивает AOP ИМХО, логика обработки перпендикулярна остальному.
...
Рейтинг: 0 / 0
Объекты, локальные в потоке
    #38745947
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пожалуй, что - да, но изучать AspectJ или аналоги я не готов морально.
...
Рейтинг: 0 / 0
Объекты, локальные в потоке
    #38745949
GregTk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,

Тут способ такой, пишем уровень абстракции от сервлетов по типу Spring MVC и контролируем всё что нужно, это если не нравится сам спринг. В моей практике я такое делал, был диспетчер, который разруливал какому контроллеру отправить запрос. Собственно имея такой прослойку ввиде диспетчера не сложно написать и логгирование. Так же можно написать конвертеры параметров в нормальные объекты для каждого контроллера. При использовании аннотаций получается очень хороший удобный функционал.
...
Рейтинг: 0 / 0
Объекты, локальные в потоке
    #38745973
scf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,

Ну, если объем кода планируется оставить в объеме 5 килобайт, то не парься и хреначь как есть :)
Из IoC мне лично больше нравится Guice, но Spring куда более распространен на работе.

Принцип следующий:
В том месте, где у тебя есть доступ к данным, которые могут понадобиться кому-то еще, создавай бин со скоупом Request и засовывай эти данные внутрь.
А в тех местах, где эти данные нужны, либо извлекай бин по типу, либо пиши весь код тоже в request-scoped бинах и прикручивай вышеупомянутый бин через IoC
...
Рейтинг: 0 / 0
10 сообщений из 35, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Объекты, локальные в потоке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]