|
|
|
Оцените пожалуйста кусочек кода или дайте рекомендации по улучшению.
|
|||
|---|---|---|---|
|
#18+
Всем привет. Ниже кусочек кода. Суть в том, что сессия хранится в мапе, и у неё проверяется, подключена ли она. Но возможна ситуация, что метод isConnected вернёт true, но при создании канала или его подключении выяснится, что сессия протухла. И тогда надо создать новую сессию и ещё раз попробовать создать канал. Но так, как это в коде ниже мне кажется некрасивым. Может кто более красивое решение подскажет? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 17:43:50 |
|
||
|
Оцените пожалуйста кусочек кода или дайте рекомендации по улучшению.
|
|||
|---|---|---|---|
|
#18+
Зависит от ответов на следующией вопросы 1) Есть ли какой-то другой способ провалидировать сессию без выброса исключения? 2) JSchException возникает только в указаном вами случае, или в других случаях тоже? 3) Из JSchException можно ли получить информацию о том стоит ли пытатся пересоздать сессию или ошибка более глобальная? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 17:53:47 |
|
||
|
Оцените пожалуйста кусочек кода или дайте рекомендации по улучшению.
|
|||
|---|---|---|---|
|
#18+
А что при session.isConnected() разве последнее время доступа к сессии не обновляется? Может есть какой-то метод в API для этого? Посмотрите. Ну а если говорить именно про ваш код, то можно сделать так - Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 18:04:23 |
|
||
|
Оцените пожалуйста кусочек кода или дайте рекомендации по улучшению.
|
|||
|---|---|---|---|
|
#18+
Хотя нет, тупанул, лучше так: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 18:15:22 |
|
||
|
Оцените пожалуйста кусочек кода или дайте рекомендации по улучшению.
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Нет, провалидировать сессию по другому нельзя, только методом isConnected. Внутри метода openChannel тоже делается проверка, что всё ещё isConnected и в противном случае происходит JSchException. Проблема в том, что когда берём сессию, она может быть ещё isConnected, а когда делаем openChannel, она будет уже !isConnected. Из исключения ничего нужного достать нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 18:31:45 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37670949&tid=2132519]: |
0ms |
get settings: |
20ms |
get forum list: |
24ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
63ms |
get topic data: |
25ms |
get forum data: |
6ms |
get page messages: |
101ms |
get tp. blocked users: |
3ms |
| others: | 357ms |
| total: | 613ms |

| 0 / 0 |
